diff options
Diffstat (limited to 'app/src')
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> { /** |