aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java17
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();
+ }
}