Rétegek projektjének helyes kezelése
This commit is contained in:
@@ -72,8 +72,15 @@ class LayerImportService extends GetxService {
|
|||||||
super.onReady();
|
super.onReady();
|
||||||
await _initLayerDir();
|
await _initLayerDir();
|
||||||
await _loadPersistedLayers();
|
await _loadPersistedLayers();
|
||||||
|
|
||||||
|
// A service permanent (app-életciklusnyi) — enélkül projektváltáskor
|
||||||
|
// a térképen a RÉGI projekt rétegei maradnának látszódva egészen
|
||||||
|
// újraindításig.
|
||||||
|
ever(ProjectService.to.activeProject, (_) => reload());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future<void> reload() => _loadPersistedLayers();
|
||||||
|
|
||||||
Future<void> _initLayerDir() async {
|
Future<void> _initLayerDir() async {
|
||||||
final ext = await getExternalStorageDirectory();
|
final ext = await getExternalStorageDirectory();
|
||||||
final dir = Directory(p.join(ext!.path, 'layers'));
|
final dir = Directory(p.join(ext!.path, 'layers'));
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:get/get.dart';
|
|||||||
import 'package:path/path.dart' as p;
|
import 'package:path/path.dart' as p;
|
||||||
import 'package:path_provider/path_provider.dart';
|
import 'package:path_provider/path_provider.dart';
|
||||||
import 'package:supabase_flutter/supabase_flutter.dart';
|
import 'package:supabase_flutter/supabase_flutter.dart';
|
||||||
|
import 'package:terepi_seged/services/layer_import_service.dart';
|
||||||
import 'package:uuid/uuid.dart';
|
import 'package:uuid/uuid.dart';
|
||||||
|
|
||||||
import 'app_database.dart';
|
import 'app_database.dart';
|
||||||
@@ -56,6 +57,11 @@ class LayerSyncService extends GetxService {
|
|||||||
for (final project in projects.where((pr) => !pr.isLocalOnly)) {
|
for (final project in projects.where((pr) => !pr.isLocalOnly)) {
|
||||||
await _pullProjectLayers(project.id!, project.uuid);
|
await _pullProjectLayers(project.id!, project.uuid);
|
||||||
}
|
}
|
||||||
|
// Ha közben egy csapattárs frissített/megosztott egy réteget, ez
|
||||||
|
// jelenjen meg a térképen azonnal, újraindítás nélkül.
|
||||||
|
if (Get.isRegistered<LayerImportService>()) {
|
||||||
|
await LayerImportService.to.reload();
|
||||||
|
}
|
||||||
} finally {
|
} finally {
|
||||||
isSyncing.value = false;
|
isSyncing.value = false;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user