From 75f65c144e6935469fc6de0d327c35260ecbd048 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Fri, 22 May 2015 10:16:43 +0200 Subject: Fixed bug where SharedPreferencesStorageProvider didn't remember the list of Filters --- .../rssin/android/SharedPreferencesStorageProvider.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'app/src/main/java') diff --git a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java index 47a2847..fdcbe04 100644 --- a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java +++ b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java @@ -1,6 +1,7 @@ package org.rssin.android; import android.content.Context; +import android.content.SharedPreferences; import android.util.Base64; import android.util.Log; @@ -69,6 +70,10 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage String string = Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT); context.getSharedPreferences(key.toString(), Context.MODE_PRIVATE).edit().putString(element.getClass().getName(), string).commit(); + + if (element.getClass() == Filter.class) { + storeFilterKey(key); + } } @Override @@ -108,4 +113,16 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage return null; } } + + /** + * Keep track of a new key for a filter in the administration SharedPreferences + * @param key + * @throws Exception + */ + protected void storeFilterKey(Object key) throws Exception { + SharedPreferences sharedPreferences = context.getSharedPreferences(ADMIN_PREF_KEY, Context.MODE_PRIVATE); + Set names = sharedPreferences.getStringSet("filters", new HashSet()); + names.add(key.toString()); + sharedPreferences.edit().putStringSet("filters", names).apply(); + } } -- cgit v1.2.3