From a7d0ae47d88c4df8ccfea91c97ead740bca5913b Mon Sep 17 00:00:00 2001 From: Vishnu Mohandas Date: Sun, 14 Feb 2021 15:12:02 +0530 Subject: [PATCH] Refresh cache for memories once seen --- lib/services/memories_service.dart | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/services/memories_service.dart b/lib/services/memories_service.dart index b320a95c8..e5e8e9808 100644 --- a/lib/services/memories_service.dart +++ b/lib/services/memories_service.dart @@ -11,24 +11,28 @@ class MemoriesService extends ChangeNotifier { final _logger = Logger("MemoryService"); final _memoriesDB = MemoriesDB.instance; final _filesDB = FilesDB.instance; - final _cachedMemories = List(); static final microSecondsInADay = 86400000000; static final daysInAYear = 365; static final yearsBefore = 30; static final daysBefore = 7; static final daysAfter = 1; + List _cachedMemories; + MemoriesService._privateConstructor(); static final MemoriesService instance = MemoriesService._privateConstructor(); Future init() async { + addListener(() { + _cachedMemories = null; + }); await _memoriesDB.clearMemoriesSeenBeforeTime( DateTime.now().microsecondsSinceEpoch - (7 * microSecondsInADay)); } Future> getMemories() async { - if (_cachedMemories.isNotEmpty) { + if (_cachedMemories != null) { return _cachedMemories; } final filter = ImportantItemsFilter(); @@ -66,9 +70,8 @@ class MemoriesService extends ChangeNotifier { } } _logger.info("Number of memories: " + memories.length.toString()); - _cachedMemories.clear(); - _cachedMemories.addAll(memories); - return memories; + _cachedMemories = memories; + return _cachedMemories; } DateTime _getDate(DateTime present, int yearAgo) {