aboutsummaryrefslogtreecommitdiff
path: root/app/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/org/rssin/android/DefaultStorageProvider.java19
-rwxr-xr-xapp/src/main/java/org/rssin/android/FiltersList.java11
-rw-r--r--app/src/main/java/org/rssin/android/InternalStorageProvider.java22
-rw-r--r--app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java19
-rw-r--r--app/src/main/java/org/rssin/android/VolleyFetcher.java2
-rw-r--r--app/src/main/java/org/rssin/storage/FilterStorageProvider.java3
-rw-r--r--app/src/main/java/org/rssin/storage/Storable.java3
-rw-r--r--app/src/main/java/org/rssin/storage/StorageProvider.java3
8 files changed, 65 insertions, 17 deletions
diff --git a/app/src/main/java/org/rssin/android/DefaultStorageProvider.java b/app/src/main/java/org/rssin/android/DefaultStorageProvider.java
index b1d05bf..f47419d 100644
--- a/app/src/main/java/org/rssin/android/DefaultStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/DefaultStorageProvider.java
@@ -3,13 +3,23 @@ package org.rssin.android;
import android.content.Context;
/**
- * Created by camilstaps on 22-5-15.
+ * Default Storage Provider
+ * At the moment, this is merely a wrapper for SharedPreferencesStorageProvider.
+ * This class enables us to easily change the storage method we use throughout the app.
+ *
+ * @author Camil Staps
*/
-public class DefaultStorageProvider extends SharedPreferencesStorageProvider {
+class DefaultStorageProvider extends SharedPreferencesStorageProvider {
+
protected DefaultStorageProvider(Context context) {
super(context);
}
+ /**
+ * Get a possibly new instance of the StorageProvider
+ * @param context if there is no instance yet, we use this to build it
+ * @return
+ */
public static DefaultStorageProvider getInstance(Context context) {
if (instance == null) {
instance = new DefaultStorageProvider(context);
@@ -17,7 +27,12 @@ public class DefaultStorageProvider extends SharedPreferencesStorageProvider {
return (DefaultStorageProvider) instance;
}
+ /**
+ * Get the saved instance, and return null if it doesn't exist
+ * @return
+ */
public static DefaultStorageProvider getInstance() {
return (DefaultStorageProvider) instance;
}
+
}
diff --git a/app/src/main/java/org/rssin/android/FiltersList.java b/app/src/main/java/org/rssin/android/FiltersList.java
index 3cbd907..aa2a92b 100755
--- a/app/src/main/java/org/rssin/android/FiltersList.java
+++ b/app/src/main/java/org/rssin/android/FiltersList.java
@@ -3,16 +3,15 @@ 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;
/**
- * A list of filters that can be saved in internal storage
+ * A list of filters that can be saved using the DefaultStorageProvider
* @author Camil Staps
*/
-public class FiltersList {
+class FiltersList {
private static FiltersList instance;
@@ -20,8 +19,8 @@ public class FiltersList {
private final DefaultStorageProvider storageProvider;
/**
- * Fetch from internal storage
- * @param context needed to get to internal storage
+ * Fetch from storage provider
+ * @param context needed to get the storageprovider
* @throws IOException if data is corrupted, and deserializing fails
*/
protected FiltersList(Context context) throws IOException {
@@ -44,7 +43,7 @@ public class FiltersList {
}
/**
- * Save all filters in internal storage
+ * Save all filters
* @throws Exception if serializing or saving failed
*/
public synchronized void save() throws Exception {
diff --git a/app/src/main/java/org/rssin/android/InternalStorageProvider.java b/app/src/main/java/org/rssin/android/InternalStorageProvider.java
index 1d700e1..feff5f0 100644
--- a/app/src/main/java/org/rssin/android/InternalStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/InternalStorageProvider.java
@@ -19,9 +19,10 @@ import java.util.ArrayList;
import java.util.List;
/**
- * Created by camilstaps on 21-5-15.
+ * A way to store data in internal storage
+ * @author Camil Staps
*/
-public class InternalStorageProvider implements StorageProvider<String, Storable>, FilterStorageProvider<String> {
+class InternalStorageProvider implements StorageProvider<String, Storable>, FilterStorageProvider<String> {
protected static final String PREFIX = "storage_", PREFIX_FILTER = "f_", PREFIX_FEEDSORTER = "fs_";
private static InternalStorageProvider instance;
@@ -71,10 +72,22 @@ public class InternalStorageProvider implements StorageProvider<String, Storable
return Integer.toString((int) System.currentTimeMillis());
}
+ /**
+ * Get the filename for a key and object
+ * @param key
+ * @param object
+ * @return
+ */
protected String getFilename(String key, Storable object) {
return getFilename(key, object.getClass());
}
+ /**
+ * Get the filename for a key and class
+ * @param key
+ * @param className
+ * @return
+ */
protected String getFilename(String key, Class className) {
if (className == Filter.class) {
return PREFIX + PREFIX_FILTER + sanitize(key);
@@ -85,6 +98,11 @@ public class InternalStorageProvider implements StorageProvider<String, Storable
}
}
+ /**
+ * Sanitize a string to use for a filename
+ * @param key
+ * @return
+ */
public static String sanitize(String key) {
return key.replaceAll("\\W+", "");
}
diff --git a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
index c3b81a9..47a2847 100644
--- a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
@@ -1,7 +1,6 @@
package org.rssin.android;
import android.content.Context;
-import android.preference.PreferenceManager;
import android.util.Base64;
import android.util.Log;
@@ -21,10 +20,15 @@ import java.util.List;
import java.util.Set;
/**
- * Created by camilstaps on 22-5-15.
+ * A StorageProvider using SharedPreferences
+ * @author Camil Staps
*/
-public class SharedPreferencesStorageProvider implements StorageProvider, FilterStorageProvider {
+class SharedPreferencesStorageProvider implements StorageProvider, FilterStorageProvider {
+ /**
+ * Under this key, we will store the administration for the class itself.
+ * For example, a list of the keys that are currently in use.
+ */
private static final String ADMIN_PREF_KEY = "administration";
protected static SharedPreferencesStorageProvider instance;
@@ -35,6 +39,11 @@ public class SharedPreferencesStorageProvider implements StorageProvider, Filter
this.context = context;
}
+ /**
+ * Get a possibly new instance of the storage provider
+ * @param context if there is no instance yet, create it using this context's shared preferences.
+ * @return
+ */
public static SharedPreferencesStorageProvider getInstance(Context context) {
if (instance == null) {
instance = new SharedPreferencesStorageProvider(context);
@@ -43,6 +52,10 @@ public class SharedPreferencesStorageProvider implements StorageProvider, Filter
return instance;
}
+ /**
+ * Get the saved instance, and return null if it doesn't exist
+ * @return
+ */
public static SharedPreferencesStorageProvider getInstance() {
return instance;
}
diff --git a/app/src/main/java/org/rssin/android/VolleyFetcher.java b/app/src/main/java/org/rssin/android/VolleyFetcher.java
index d853255..8513128 100644
--- a/app/src/main/java/org/rssin/android/VolleyFetcher.java
+++ b/app/src/main/java/org/rssin/android/VolleyFetcher.java
@@ -16,7 +16,7 @@ import org.rssin.listener.Listener;
/**
* Created by camilstaps on 21-5-15.
*/
-public class VolleyFetcher implements Fetcher {
+class VolleyFetcher implements Fetcher {
private final Context context;
private final RequestQueue requestQueue;
diff --git a/app/src/main/java/org/rssin/storage/FilterStorageProvider.java b/app/src/main/java/org/rssin/storage/FilterStorageProvider.java
index 8032d07..538562f 100644
--- a/app/src/main/java/org/rssin/storage/FilterStorageProvider.java
+++ b/app/src/main/java/org/rssin/storage/FilterStorageProvider.java
@@ -5,7 +5,8 @@ import org.rssin.rssin.Filter;
import java.util.List;
/**
- * Created by camilstaps on 21-5-15.
+ * The FilterStorageProvider can get a list of all stored filters, and a specific Filter from a key
+ * @author Camil Staps
*/
public interface FilterStorageProvider<K> {
List<Filter> allFilters();
diff --git a/app/src/main/java/org/rssin/storage/Storable.java b/app/src/main/java/org/rssin/storage/Storable.java
index feb850a..ef34245 100644
--- a/app/src/main/java/org/rssin/storage/Storable.java
+++ b/app/src/main/java/org/rssin/storage/Storable.java
@@ -3,7 +3,8 @@ package org.rssin.storage;
import java.io.Serializable;
/**
- * Created by camilstaps on 21-5-15.
+ * An element which can be stored using a StorageProvider
+ * @author Camil Staps
*/
public interface Storable extends Serializable {
}
diff --git a/app/src/main/java/org/rssin/storage/StorageProvider.java b/app/src/main/java/org/rssin/storage/StorageProvider.java
index ba62028..7e382c2 100644
--- a/app/src/main/java/org/rssin/storage/StorageProvider.java
+++ b/app/src/main/java/org/rssin/storage/StorageProvider.java
@@ -1,7 +1,8 @@
package org.rssin.storage;
/**
- * Created by camilstaps on 21-5-15.
+ * A storage provider is able to store and fetch Storables to keys of type K.
+ * @author Camil Staps
*/
public interface StorageProvider<K,E extends Storable> {
/**