From d10d5eca4b64a610053f99609e843bc48fe34a94 Mon Sep 17 00:00:00 2001 From: gdlbo <41114720+gdlbo@users.noreply.github.com> Date: Mon, 19 Feb 2024 15:39:41 +0300 Subject: [PATCH] fixed auto updating filters --- .../vtosters/sponsorpost/utils/FiltersPreferences.java | 10 ++++++++-- .../java/ru/vtosters/sponsorpost/utils/Updates.java | 5 ++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/ru/vtosters/sponsorpost/utils/FiltersPreferences.java b/app/src/main/java/ru/vtosters/sponsorpost/utils/FiltersPreferences.java index 6b773f7b5..a8ff8bf46 100644 --- a/app/src/main/java/ru/vtosters/sponsorpost/utils/FiltersPreferences.java +++ b/app/src/main/java/ru/vtosters/sponsorpost/utils/FiltersPreferences.java @@ -31,8 +31,14 @@ public class FiltersPreferences { return AndroidUtils.getGlobalContext().getSharedPreferences("ru.vtosters.sponsorpost.filters.prefs", Context.MODE_PRIVATE); } - public static void clearAll() { - preferences.edit().clear().apply(); + public static void clearAllCachedLists() { + SharedPreferences.Editor editor = preferences.edit(); + + preferences.getAll().keySet().stream() + .filter(key -> key.endsWith(":" + PREF_KEY_LIST)) + .forEach(editor::remove); + + editor.apply(); } public static boolean getSavedKeyValue(int id) { diff --git a/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java b/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java index 91c665e95..734e8f291 100644 --- a/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java +++ b/app/src/main/java/ru/vtosters/sponsorpost/utils/Updates.java @@ -2,6 +2,7 @@ package ru.vtosters.sponsorpost.utils; import ru.vtosters.hooks.other.Preferences; import ru.vtosters.lite.utils.NetworkUtils; +import ru.vtosters.lite.utils.newsfeed.NewsFeedFiltersUtils; import ru.vtosters.sponsorpost.data.Filter; import ru.vtosters.sponsorpost.data.Post; import ru.vtosters.sponsorpost.services.FilterService; @@ -23,7 +24,7 @@ public class Updates { List localFilters = FiltersPreferences.getAllDownloadedFilters(); if (!filters.isEmpty()) { - FiltersPreferences.clearAll(); // removes deleted filters from server + FiltersPreferences.clearAllCachedLists(); // removes deleted filters from server and cache for (Filter filter : filters) { Filter localFilter = findLocalFilterById(localFilters, filter.getId()); @@ -39,6 +40,8 @@ public class Updates { } } } + + NewsFeedFiltersUtils.updateFilters(); } }