Fix: Clear entries from memory cache on file deletion

This commit is contained in:
Neeraj Gupta 2023-02-22 15:29:33 +05:30
parent bf9f27ef9a
commit 7ba1f11dae
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1

View file

@ -1,8 +1,10 @@
import 'package:flutter/foundation.dart';
import 'package:logging/logging.dart';
import 'package:photos/core/constants.dart';
import "package:photos/core/event_bus.dart";
import 'package:photos/db/files_db.dart';
import 'package:photos/db/memories_db.dart';
import "package:photos/events/files_updated_event.dart";
import 'package:photos/models/filters/important_items_filter.dart';
import 'package:photos/models/memory.dart';
import 'package:photos/services/collections_service.dart';
@ -34,6 +36,17 @@ class MemoriesService extends ChangeNotifier {
DateTime.now().microsecondsSinceEpoch - (7 * microSecondsInDay),
);
});
Bus.instance.on<FilesUpdatedEvent>().where((event) {
return event.type == EventType.deletedFromEverywhere;
}).listen((event) {
final generatedIDs = event.updatedFiles
.where((element) => element.generatedID != null)
.map((e) => e.generatedID!)
.toSet();
_cachedMemories?.removeWhere((element) {
return generatedIDs.contains(element.file.generatedID);
});
});
}
void clearCache() {