aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorCamil Staps2015-06-04 14:29:23 +0200
committerCamil Staps2015-06-04 14:32:26 +0200
commit7656fe8dab1e97ebdbb00d91e5a7ec03083d57ae (patch)
tree5177ce671074864df05d3e6450d9222848a35d46 /app/src/main/java
parentError handling ArticleActivity (diff)
Default list of feeds
Diffstat (limited to 'app/src/main/java')
-rwxr-xr-xapp/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java22
1 files changed, 16 insertions, 6 deletions
diff --git a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
index 4c23fa9..2818a08 100755
--- a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
@@ -7,6 +7,7 @@ import android.util.Log;
import org.rssin.rssin.Feed;
import org.rssin.rssin.Filter;
+import org.rssin.rssin.R;
import org.rssin.storage.FeedStorageProvider;
import org.rssin.storage.FilterStorageProvider;
import org.rssin.storage.Storable;
@@ -17,6 +18,7 @@ import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
+import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -76,8 +78,6 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
.edit()
.putString(element.getClass().getName(), base64)
.apply();
-
- Log.v("SPSP", "Store to " + key.toString() + ":\n" + base64);
}
@Override
@@ -88,7 +88,6 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
}
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(Base64.decode(serialized.getBytes(), Base64.DEFAULT)));
Object obj = ois.readObject();
- Log.v("SPSP", "Fetch " + className.toString() + " from " + key.toString() + ": " + obj.toString());
return (Storable) className.cast(obj);
}
@@ -116,10 +115,8 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
.getStringSet("filters", new HashSet<String>());
List<Filter> filters = new ArrayList<>();
for (String name : names) {
- Log.v("SPSP", "allFilters: " + name);
Filter filter = getFilter(name);
if (filter != null) {
- Log.v("SPSP", "allFilters: not null, returning");
filters.add(filter);
}
}
@@ -137,7 +134,7 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
try {
return (Filter) fetch(key.toString(), Filter.class);
} catch (Exception e) {
- Log.w("SPSP", "Fetch filter " + key.toString(), e);
+ Log.w("SPSP", "Fetch filter failed: " + key.toString(), e);
return null;
}
}
@@ -171,6 +168,19 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
@Override
public List<Feed> allFeeds() {
Set<String> names = context.getSharedPreferences(ADMIN_PREF_KEY, Context.MODE_PRIVATE).getStringSet("feeds", new HashSet<String>());
+ if (names.isEmpty() && !context.getSharedPreferences(ADMIN_PREF_KEY, Context.MODE_PRIVATE).getBoolean("firstload", false)) {
+ String[] feedsList = context.getResources().getStringArray(R.array.default_feeds);
+ for (String url : feedsList) {
+ try {
+ Feed f = new Feed(url);
+ f.store(this);
+ } catch (Exception e) {
+ Log.w("SPSP", "Couldn't add " + url, e);
+ }
+ }
+ context.getSharedPreferences(ADMIN_PREF_KEY, Context.MODE_PRIVATE).edit().putBoolean("firstload", true).apply();
+ names = context.getSharedPreferences(ADMIN_PREF_KEY, Context.MODE_PRIVATE).getStringSet("feeds", new HashSet<String>());
+ }
List<Feed> feeds = new ArrayList<>();
for (String name : names) {
Feed feed = getFeed(name);