diff options
Diffstat (limited to 'app/src/main')
5 files changed, 32 insertions, 7 deletions
diff --git a/app/src/main/java/org/rssin/android/DefaultStorageProvider.java b/app/src/main/java/org/rssin/android/DefaultStorageProvider.java new file mode 100644 index 0000000..b1d05bf --- /dev/null +++ b/app/src/main/java/org/rssin/android/DefaultStorageProvider.java @@ -0,0 +1,23 @@ +package org.rssin.android; + +import android.content.Context; + +/** + * Created by camilstaps on 22-5-15. + */ +public class DefaultStorageProvider extends SharedPreferencesStorageProvider { + protected DefaultStorageProvider(Context context) { + super(context); + } + + public static DefaultStorageProvider getInstance(Context context) { + if (instance == null) { + instance = new DefaultStorageProvider(context); + } + return (DefaultStorageProvider) instance; + } + + public static DefaultStorageProvider getInstance() { + return (DefaultStorageProvider) instance; + } +} diff --git a/app/src/main/java/org/rssin/android/FilterActivity.java b/app/src/main/java/org/rssin/android/FilterActivity.java index 5afa3ff..b8631db 100644 --- a/app/src/main/java/org/rssin/android/FilterActivity.java +++ b/app/src/main/java/org/rssin/android/FilterActivity.java @@ -49,7 +49,7 @@ public class FilterActivity extends ActionBarActivity { // @todo Check on -1? Shouldn't happen anyway. filter = filtersList.getFilterFromHashCode(filterHashCode); - filter.ensureFeedSorter(SharedPreferencesStorageProvider.getInstance(this)); + filter.ensureFeedSorter(DefaultStorageProvider.getInstance(this)); setTitle(filter.getTitle()); diff --git a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java index 1893579..9639731 100644 --- a/app/src/main/java/org/rssin/android/FilterSettingsActivity.java +++ b/app/src/main/java/org/rssin/android/FilterSettingsActivity.java @@ -195,7 +195,7 @@ public class FilterSettingsActivity extends ActionBarActivity { Keyword k = new Keyword(keyword); filter.getKeywords().add(k); try { - filter.store(SharedPreferencesStorageProvider.getInstance()); + filter.store(DefaultStorageProvider.getInstance()); keywordAdapter.notifyDataSetChanged(); editText.setText(""); } catch (Exception e) { diff --git a/app/src/main/java/org/rssin/android/FiltersList.java b/app/src/main/java/org/rssin/android/FiltersList.java index 9448584..3cbd907 100755 --- a/app/src/main/java/org/rssin/android/FiltersList.java +++ b/app/src/main/java/org/rssin/android/FiltersList.java @@ -3,6 +3,7 @@ package org.rssin.android; import android.content.Context; import org.rssin.rssin.Filter; +import org.rssin.storage.FilterStorageProvider; import java.io.IOException; import java.util.List; @@ -16,6 +17,7 @@ public class FiltersList { private static FiltersList instance; private final List<Filter> filters; + private final DefaultStorageProvider storageProvider; /** * Fetch from internal storage @@ -23,8 +25,8 @@ public class FiltersList { * @throws IOException if data is corrupted, and deserializing fails */ protected FiltersList(Context context) throws IOException { - SharedPreferencesStorageProvider sharedPreferencesStorageProvider = SharedPreferencesStorageProvider.getInstance(context); - filters = sharedPreferencesStorageProvider.allFilters(); + storageProvider = DefaultStorageProvider.getInstance(context); + filters = storageProvider.allFilters(); } public static FiltersList getInstance(Context context) throws IOException { @@ -49,7 +51,7 @@ public class FiltersList { Exception e = null; for (Filter filter : filters) { try { - filter.store(SharedPreferencesStorageProvider.getInstance()); + filter.store(storageProvider); } catch (Exception ex) { e = ex; } diff --git a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java index d394343..c3b81a9 100644 --- a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java +++ b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java @@ -27,9 +27,9 @@ public class SharedPreferencesStorageProvider implements StorageProvider, Filter private static final String ADMIN_PREF_KEY = "administration"; - private static SharedPreferencesStorageProvider instance; + protected static SharedPreferencesStorageProvider instance; - private Context context; + protected Context context; protected SharedPreferencesStorageProvider(Context context) { this.context = context; |