aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/org/rssin/android/DefaultStorageProvider.java23
-rw-r--r--app/src/main/java/org/rssin/android/FilterActivity.java2
-rw-r--r--app/src/main/java/org/rssin/android/FilterSettingsActivity.java2
-rwxr-xr-xapp/src/main/java/org/rssin/android/FiltersList.java8
-rw-r--r--app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java4
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;