Use a different event to pull from server

This commit is contained in:
vishnukvmd 2023-11-15 02:03:32 +05:30
parent a28219807b
commit 76f3c43ae3
3 changed files with 11 additions and 6 deletions

View file

@ -0,0 +1,5 @@
import "package:photos/events/event.dart";
// Creating a separate Event since modifying SyncStatusUpdateEvent has impact on
// StatusBarWidget
class DiffSyncCompleteEvent extends Event {}

View file

@ -13,6 +13,7 @@ import 'package:photos/db/file_updation_db.dart';
import 'package:photos/db/files_db.dart';
import 'package:photos/events/backup_folders_updated_event.dart';
import 'package:photos/events/collection_updated_event.dart';
import "package:photos/events/diff_sync_complete_event.dart";
import 'package:photos/events/files_updated_event.dart';
import 'package:photos/events/force_reload_home_gallery_event.dart';
import 'package:photos/events/local_photos_updated_event.dart';
@ -213,6 +214,7 @@ class RemoteSyncService {
await _collectionsService.setCollectionSyncTime(cid, remoteUpdateTime);
}
_logger.info("All updated collections synced");
Bus.instance.fire(DiffSyncCompleteEvent());
}
Future<void> _resetAllCollectionsSyncTime() async {

View file

@ -9,9 +9,9 @@ import "package:photos/core/configuration.dart";
import "package:photos/core/event_bus.dart";
import "package:photos/db/files_db.dart";
import "package:photos/db/object_box.dart";
import "package:photos/events/diff_sync_complete_event.dart";
import 'package:photos/events/embedding_updated_event.dart';
import "package:photos/events/file_uploaded_event.dart";
import "package:photos/events/sync_status_update_event.dart";
import "package:photos/models/embedding.dart";
import "package:photos/models/file/file.dart";
import "package:photos/services/semantic_search/embedding_store.dart";
@ -47,11 +47,9 @@ class SemanticSearchService {
await EmbeddingStore.instance.init(preferences);
await ModelLoader.instance.init(_computer);
_setupCachedEmbeddings();
Bus.instance.on<SyncStatusUpdate>().listen((event) async {
if (event.status == SyncStatus.preparingForUpload) {
// Diff sync is complete, we can now pull embeddings from remote
sync();
}
Bus.instance.on<DiffSyncCompleteEvent>().listen((event) async {
// Diff sync is complete, we can now pull embeddings from remote
sync();
});
if (Configuration.instance.hasConfiguredAccount()) {
EmbeddingStore.instance.pushEmbeddings();