From e8e26ee52376d6c6417466b0c625252dd6a25479 Mon Sep 17 00:00:00 2001 From: ashilkn Date: Fri, 10 May 2024 19:46:38 +0530 Subject: [PATCH] [mob][photos] Write method to reload magic cache from start --- mobile/lib/services/magic_cache_service.dart | 50 ++++++++++++++------ 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/mobile/lib/services/magic_cache_service.dart b/mobile/lib/services/magic_cache_service.dart index 3ed2536b8..d87767ddd 100644 --- a/mobile/lib/services/magic_cache_service.dart +++ b/mobile/lib/services/magic_cache_service.dart @@ -132,6 +132,7 @@ class MagicCacheService { Future?> getMagicCache() async { final jsonString = prefs.getString(_key); if (jsonString == null) { + _logger.info("No $_key in shared preferences"); return null; } return MagicCache.decodeJsonToList(jsonString); @@ -141,6 +142,40 @@ class MagicCacheService { await prefs.remove(_key); } + Future> getMagicGenericSearchResult() async { + final magicCaches = await getMagicCache(); + if (magicCaches == null) { + _logger.info("No magic cache found"); + return []; + } + final List genericSearchResults = []; + for (MagicCache magicCache in magicCaches) { + final genericSearchResult = await magicCache.toGenericSearchResult(); + genericSearchResults.add(genericSearchResult); + } + return genericSearchResults; + } + + Future reloadMagicCaches() async { + _logger.info("Reloading magic caches"); + final randomPromptsData = MagicCacheService.instance.getRandomPrompts(); + final promptResults = >>[]; + final magicCaches = []; + + for (var randomPromptData in randomPromptsData) { + promptResults.add( + await MagicCacheService.instance + .getMatchingFileIDsForPromptData(randomPromptData), + ); + } + for (var promptResult in promptResults) { + magicCaches + .add(MagicCache(promptResult.keys.first, promptResult.values.first)); + } + + await MagicCacheService.instance.updateMagicCache(magicCaches); + } + ///Generates from 0 to max unique random numbers List _generateUniqueRandomNumbers(int max, int count) { final numbers = []; @@ -154,19 +189,4 @@ class MagicCacheService { } return numbers; } - - Future> getMagicGenericSearchResult() async { - await Future.delayed(const Duration(seconds: 10)); - final magicCaches = await getMagicCache(); - if (magicCaches == null) { - _logger.info("No magic cache found"); - return []; - } - final List genericSearchResults = []; - for (MagicCache magicCache in magicCaches) { - final genericSearchResult = await magicCache.toGenericSearchResult(); - genericSearchResults.add(genericSearchResult); - } - return genericSearchResults; - } }