aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/src/main/java/org/rssin/android/FeedItemAdapter.java12
-rw-r--r--app/src/main/java/org/rssin/android/FeedItemsListFragment.java2
-rw-r--r--app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java1
-rw-r--r--app/src/main/java/org/rssin/rss/FeedLoader.java2
-rwxr-xr-xapp/src/main/java/org/rssin/rssin/Feed.java23
-rw-r--r--app/src/main/res/values/feeds.xml3
6 files changed, 26 insertions, 17 deletions
diff --git a/app/src/main/java/org/rssin/android/FeedItemAdapter.java b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
index 2d2e582..c8c939a 100644
--- a/app/src/main/java/org/rssin/android/FeedItemAdapter.java
+++ b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
@@ -26,6 +26,7 @@ import android.view.ViewGroup;
import android.widget.TextView;
import org.rssin.neurons.Feedback;
+import org.rssin.rss.FeedItem;
import org.rssin.rssin.R;
import org.rssin.summaries.BablukiAPI;
import org.rssin.summaries.LengthMode;
@@ -69,11 +70,14 @@ class FeedItemAdapter extends RecyclerView.Adapter<FeedItemAdapter.FeedItemHolde
@Override
public void onBindViewHolder(FeedItemHolder holder, int position) {
SortedFeedItemContainer item = feedItems.get(position);
- holder.title.setText(item.getFeeditem().getTitle());
+ FeedItem feedItem = item.getFeeditem();
- holder.summary.setText(sapInterface.getSummary(item.getFeeditem()).getText());
- holder.date.setText(item.getFeeditem().getPubDate().toString());
- holder.item = item;
+ if (feedItem != null) {
+ holder.title.setText(feedItem.getTitle());
+ holder.summary.setText(sapInterface.getSummary(feedItem).getText());
+ holder.date.setText(feedItem.getPubDate().toString());
+ holder.item = item;
+ }
}
@Override
diff --git a/app/src/main/java/org/rssin/android/FeedItemsListFragment.java b/app/src/main/java/org/rssin/android/FeedItemsListFragment.java
index f229098..27c4eb5 100644
--- a/app/src/main/java/org/rssin/android/FeedItemsListFragment.java
+++ b/app/src/main/java/org/rssin/android/FeedItemsListFragment.java
@@ -23,6 +23,7 @@ import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
+import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -114,6 +115,7 @@ public class FeedItemsListFragment extends Fragment {
@Override
public void onError(Object error) {
Frontend.error(context, R.string.error_net_load);
+ Log.w("FILF", error.toString());
}
}
);
diff --git a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
index 40863fd..bd43305 100644
--- a/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
+++ b/app/src/main/java/org/rssin/android/SharedPreferencesStorageProvider.java
@@ -108,6 +108,7 @@ class SharedPreferencesStorageProvider implements StorageProvider, FilterStorage
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(decoded));
Object obj = ois.readObject();
+ ois.close();
return (Storable) className.cast(obj);
}
diff --git a/app/src/main/java/org/rssin/rss/FeedLoader.java b/app/src/main/java/org/rssin/rss/FeedLoader.java
index bb4485b..f83138a 100644
--- a/app/src/main/java/org/rssin/rss/FeedLoader.java
+++ b/app/src/main/java/org/rssin/rss/FeedLoader.java
@@ -18,6 +18,8 @@
*/
package org.rssin.rss;
+import android.util.Log;
+
import org.rssin.http.Fetcher;
import org.rssin.http.Request;
import org.rssin.listener.FallibleListener;
diff --git a/app/src/main/java/org/rssin/rssin/Feed.java b/app/src/main/java/org/rssin/rssin/Feed.java
index c1aab89..bf9aa5d 100755
--- a/app/src/main/java/org/rssin/rssin/Feed.java
+++ b/app/src/main/java/org/rssin/rssin/Feed.java
@@ -124,8 +124,7 @@ public class Feed implements Storable, Comparable<Feed>, Jsonable {
}
/**
- * Cleverly make up a title based on the URL
- * @todo make it really really clever
+ * Get the title from the feed, or, if that fails, cleverly make up a title based on the URL
*/
public void setTitleFromURL(final FeedStorageProvider storageProvider, Fetcher fetcher, final FallibleListener<String, Object> titlehasChanged) {
String newTitle = url.getHost();
@@ -150,15 +149,19 @@ public class Feed implements Storable, Comparable<Feed>, Jsonable {
@Override
public void onReceive(Object data) {
- title = loader.getFeed().getTitle();
try {
- store(storageProvider);
- } catch (Exception e) {
- e.printStackTrace();
- }
- if (titlehasChanged != null) {
- titlehasChanged.onReceive(title);
- }
+ if (loader.getFeed().getTitle() != null) {
+ title = loader.getFeed().getTitle();
+ try {
+ store(storageProvider);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ if (titlehasChanged != null) {
+ titlehasChanged.onReceive(title);
+ }
+ }
+ } catch (Exception e) {}
}
});
}
diff --git a/app/src/main/res/values/feeds.xml b/app/src/main/res/values/feeds.xml
index 1838092..85e5c7a 100644
--- a/app/src/main/res/values/feeds.xml
+++ b/app/src/main/res/values/feeds.xml
@@ -31,8 +31,5 @@
<item>http://feeds.reuters.com/reuters/environment</item>
<item>http://feeds.reuters.com/reuters/financialsNews</item>
<item>http://feeds.reuters.com/reuters/worldNews</item>
- <item>http://rss.nytimes.com/services/xml/rss/nyt/Environment.xml</item>
- <item>http://rss.nytimes.com/services/xml/rss/nyt/Music.xml</item>
- <item>http://rss.nytimes.com/services/xml/rss/nyt/Travel.xml</item>
</string-array>
</resources> \ No newline at end of file