From 92078265a4d33a60a1ff3450afbf731555b85787 Mon Sep 17 00:00:00 2001 From: ggurdin <46800240+ggurdin@users.noreply.github.com> Date: Thu, 17 Apr 2025 10:53:32 -0400 Subject: [PATCH] chore: return a null practice entry if it does not match user's L2 (#2474) --- .../practice_selection_repo.dart | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/pangea/practice_activities/practice_selection_repo.dart b/lib/pangea/practice_activities/practice_selection_repo.dart index 1cd80c891..3e31eb0f6 100644 --- a/lib/pangea/practice_activities/practice_selection_repo.dart +++ b/lib/pangea/practice_activities/practice_selection_repo.dart @@ -5,6 +5,7 @@ import 'package:get_storage/get_storage.dart'; import 'package:fluffychat/pangea/common/utils/error_handler.dart'; import 'package:fluffychat/pangea/events/models/pangea_token_model.dart'; import 'package:fluffychat/pangea/practice_activities/practice_selection.dart'; +import 'package:fluffychat/widgets/matrix.dart'; class PracticeSelectionRepo { static final GetStorage _storage = GetStorage('practice_selection_cache'); @@ -71,9 +72,13 @@ class PracticeSelectionRepo { String messageLanguage, List tokens, ) { + final userL2 = MatrixState.pangeaController.languageController.userL2; final String key = _key(tokens); if (_memoryCache.containsKey(key)) { - return _memoryCache[key]; + final entry = _memoryCache[key]; + return entry?.langCode.split("-").first == userL2?.langCodeShort + ? entry + : null; } final stored = _parsePracticeSelection(key); @@ -84,7 +89,9 @@ class PracticeSelectionRepo { _storage.remove(key); } else { _memoryCache[key] = entry; - return entry; + return entry.langCode.split("-").first == userL2?.langCodeShort + ? entry + : null; } } @@ -98,6 +105,8 @@ class PracticeSelectionRepo { clean(); - return newEntry; + return newEntry.langCode.split("-").first == userL2?.langCodeShort + ? newEntry + : null; } }