diff options
author | Camil Staps | 2015-05-22 10:16:43 +0200 |
---|---|---|
committer | Camil Staps | 2015-05-22 10:16:43 +0200 |
commit | 75f65c144e6935469fc6de0d327c35260ecbd048 (patch) | |
tree | 6f1c3cf41bf865e552159f65dd8b813ffbd03336 /app/src | |
parent | Javadoc Filter (diff) |
Fixed bug where SharedPreferencesStorageProvider didn't remember the list of Filters
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java | 17 |
1 files changed, 17 insertions, 0 deletions
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<String> names = sharedPreferences.getStringSet("filters", new HashSet<String>()); + names.add(key.toString()); + sharedPreferences.edit().putStringSet("filters", names).apply(); + } } |