diff options
author | Camil Staps | 2015-06-10 22:58:20 +0200 |
---|---|---|
committer | Camil Staps | 2015-06-10 22:58:20 +0200 |
commit | 0e3c24d59c8b2e455b66a2adc100f70666b7e151 (patch) | |
tree | a3736bcdb921ac18bea23da3d1abaa4d1a6f667c /app/src/main | |
parent | working... (diff) | |
parent | Merge branch 'master' of http://github.com/camilstaps/RSSin (diff) |
Merge branch 'master' of github:camilstaps/RSSin
Conflicts:
app/src/main/java/org/rssin/android/FeedItemAdapter.java
app/src/main/java/org/rssin/rssin/Feed.java
Diffstat (limited to 'app/src/main')
30 files changed, 39 insertions, 10 deletions
diff --git a/app/src/main/java/org/rssin/android/ArticleActivity.java b/app/src/main/java/org/rssin/android/ArticleActivity.java index 6c80fb6..0951a48 100644..100755 --- a/app/src/main/java/org/rssin/android/ArticleActivity.java +++ b/app/src/main/java/org/rssin/android/ArticleActivity.java @@ -22,6 +22,7 @@ import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.text.Html; +import android.text.method.LinkMovementMethod; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; @@ -32,6 +33,9 @@ import org.rssin.rss.FeedSorterProvider; import org.rssin.rss.FeedSorterTrainer; import org.rssin.rssin.R; +import java.net.MalformedURLException; +import java.net.URL; + import static org.rssin.neurons.Feedback.Dislike; import static org.rssin.neurons.Feedback.Like; @@ -55,8 +59,28 @@ public class ArticleActivity extends ActionBarActivity { title.setText(item.getTitle()); setTitle(item.getTitle()); + String descriptionStr = item.getDescription(); + + try + { + // Transform <a> tags into absolute URLs. + // This may add a double slash after the domain name, but most - if not all - webservers will still + // parse the URL the same way. + URL url = new URL(item.getLink()); + descriptionStr = descriptionStr.replaceAll("href=\"(((?!http).)*)\"", "href=\"http://" + url.getHost() + "/$1\""); + }catch(MalformedURLException e) + { + e.printStackTrace(); + } + + // Remove <img> & <media> tags + descriptionStr = descriptionStr.replaceAll("(<img.*\\/>|<img.*><\\/img>|<img.*>)", ""); + descriptionStr = descriptionStr.replaceAll("(<media.*\\/>|<media.*><\\/media>)", ""); + TextView description = (TextView) findViewById(R.id.article_description); - description.setText(Html.fromHtml(item.getDescription())); + description.setText(Html.fromHtml(descriptionStr)); + description.setLinksClickable(true); + description.setMovementMethod(LinkMovementMethod.getInstance()); TextView author = (TextView) findViewById(R.id.article_author); if (item.getAuthor() != null) { diff --git a/app/src/main/java/org/rssin/android/FeedItemAdapter.java b/app/src/main/java/org/rssin/android/FeedItemAdapter.java index c8c939a..a927317 100644..100755 --- a/app/src/main/java/org/rssin/android/FeedItemAdapter.java +++ b/app/src/main/java/org/rssin/android/FeedItemAdapter.java @@ -20,6 +20,7 @@ package org.rssin.android; import android.content.Intent;
import android.support.v7.widget.RecyclerView;
+import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -73,9 +74,14 @@ class FeedItemAdapter extends RecyclerView.Adapter<FeedItemAdapter.FeedItemHolde FeedItem feedItem = item.getFeeditem();
if (feedItem != null) {
- holder.title.setText(feedItem.getTitle());
- holder.summary.setText(sapInterface.getSummary(feedItem).getText());
- holder.date.setText(feedItem.getPubDate().toString());
+ String summaryText = sapInterface.getSummary(item.getFeeditem()).getText();
+ // Remove img and media tags
+ summaryText = summaryText.replaceAll("(<img.*\\/>|<img.*><\\/img>|<img.*>)", "");
+ summaryText = summaryText.replaceAll("(<media.*\\/>|<media.*><\\/media>)", "");
+ summaryText = summaryText.replace((char) 160, (char) 32).replace((char) 65532, (char) 32).trim();
+
+ holder.summary.setText(Html.fromHtml(summaryText));
+ holder.date.setText(item.getFeeditem().getPubDate().toString());
holder.item = item;
}
}
diff --git a/app/src/main/java/org/rssin/android/SortedFeedItemContainer.java b/app/src/main/java/org/rssin/android/SortedFeedItemContainer.java index fd2777c..8a5a576 100644..100755 --- a/app/src/main/java/org/rssin/android/SortedFeedItemContainer.java +++ b/app/src/main/java/org/rssin/android/SortedFeedItemContainer.java @@ -46,7 +46,7 @@ public class SortedFeedItemContainer implements Comparable<SortedFeedItemContain }
public boolean hasScore() {
- return score != 0;
+ return score != -1;
}
public long getScore() {
diff --git a/app/src/main/java/org/rssin/rssin/FeedLoaderAndSorter.java b/app/src/main/java/org/rssin/rssin/FeedLoaderAndSorter.java index 6244d2e..9c4ad2f 100644..100755 --- a/app/src/main/java/org/rssin/rssin/FeedLoaderAndSorter.java +++ b/app/src/main/java/org/rssin/rssin/FeedLoaderAndSorter.java @@ -108,7 +108,9 @@ public class FeedLoaderAndSorter { List<FeedItem> feedItems = loader.getFeed().getPosts();
synchronized (resultingItems) {
for (FeedItem item : feedItems) {
- resultingItems.add(new SortedFeedItemContainer(item));
+ if(item != null) {
+ resultingItems.add(new SortedFeedItemContainer(item));
+ }
}
feedSorter.sortItems(resultingItems);
}
diff --git a/app/src/main/res/drawable-hdpi/image1.png b/app/src/main/res/drawable-hdpi/image1.png Binary files differdeleted file mode 100644 index a1811d3..0000000 --- a/app/src/main/res/drawable-hdpi/image1.png +++ /dev/null diff --git a/app/src/main/res/drawable-hdpi/image2.png b/app/src/main/res/drawable-hdpi/image2.png Binary files differdeleted file mode 100644 index 243f396..0000000 --- a/app/src/main/res/drawable-hdpi/image2.png +++ /dev/null diff --git a/app/src/main/res/drawable-hdpi/image3.png b/app/src/main/res/drawable-hdpi/image3.png Binary files differdeleted file mode 100644 index 47547ff..0000000 --- a/app/src/main/res/drawable-hdpi/image3.png +++ /dev/null diff --git a/app/src/main/res/drawable-hdpi/image4.png b/app/src/main/res/drawable-hdpi/image4.png Binary files differdeleted file mode 100644 index 77fe64e..0000000 --- a/app/src/main/res/drawable-hdpi/image4.png +++ /dev/null diff --git a/app/src/main/res/drawable-hdpi/image5.png b/app/src/main/res/drawable-hdpi/image5.png Binary files differdeleted file mode 100644 index 0214f5e..0000000 --- a/app/src/main/res/drawable-hdpi/image5.png +++ /dev/null diff --git a/app/src/main/res/drawable-mdpi/image1.png b/app/src/main/res/drawable-mdpi/image1.png Binary files differdeleted file mode 100644 index a1811d3..0000000 --- a/app/src/main/res/drawable-mdpi/image1.png +++ /dev/null diff --git a/app/src/main/res/drawable-mdpi/image2.png b/app/src/main/res/drawable-mdpi/image2.png Binary files differdeleted file mode 100644 index 243f396..0000000 --- a/app/src/main/res/drawable-mdpi/image2.png +++ /dev/null diff --git a/app/src/main/res/drawable-mdpi/image3.png b/app/src/main/res/drawable-mdpi/image3.png Binary files differdeleted file mode 100644 index 47547ff..0000000 --- a/app/src/main/res/drawable-mdpi/image3.png +++ /dev/null diff --git a/app/src/main/res/drawable-mdpi/image4.png b/app/src/main/res/drawable-mdpi/image4.png Binary files differdeleted file mode 100644 index 77fe64e..0000000 --- a/app/src/main/res/drawable-mdpi/image4.png +++ /dev/null diff --git a/app/src/main/res/drawable-mdpi/image5.png b/app/src/main/res/drawable-mdpi/image5.png Binary files differdeleted file mode 100644 index 0214f5e..0000000 --- a/app/src/main/res/drawable-mdpi/image5.png +++ /dev/null diff --git a/app/src/main/res/drawable-xhdpi/image1.png b/app/src/main/res/drawable-xhdpi/image1.png Binary files differdeleted file mode 100644 index a1811d3..0000000 --- a/app/src/main/res/drawable-xhdpi/image1.png +++ /dev/null diff --git a/app/src/main/res/drawable-xhdpi/image2.png b/app/src/main/res/drawable-xhdpi/image2.png Binary files differdeleted file mode 100644 index 243f396..0000000 --- a/app/src/main/res/drawable-xhdpi/image2.png +++ /dev/null diff --git a/app/src/main/res/drawable-xhdpi/image3.png b/app/src/main/res/drawable-xhdpi/image3.png Binary files differdeleted file mode 100644 index 47547ff..0000000 --- a/app/src/main/res/drawable-xhdpi/image3.png +++ /dev/null diff --git a/app/src/main/res/drawable-xhdpi/image4.png b/app/src/main/res/drawable-xhdpi/image4.png Binary files differdeleted file mode 100644 index 77fe64e..0000000 --- a/app/src/main/res/drawable-xhdpi/image4.png +++ /dev/null diff --git a/app/src/main/res/drawable-xhdpi/image5.png b/app/src/main/res/drawable-xhdpi/image5.png Binary files differdeleted file mode 100644 index 0214f5e..0000000 --- a/app/src/main/res/drawable-xhdpi/image5.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxhdpi/image1.png b/app/src/main/res/drawable-xxhdpi/image1.png Binary files differdeleted file mode 100644 index a1811d3..0000000 --- a/app/src/main/res/drawable-xxhdpi/image1.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxhdpi/image2.png b/app/src/main/res/drawable-xxhdpi/image2.png Binary files differdeleted file mode 100644 index 243f396..0000000 --- a/app/src/main/res/drawable-xxhdpi/image2.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxhdpi/image3.png b/app/src/main/res/drawable-xxhdpi/image3.png Binary files differdeleted file mode 100644 index 47547ff..0000000 --- a/app/src/main/res/drawable-xxhdpi/image3.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxhdpi/image4.png b/app/src/main/res/drawable-xxhdpi/image4.png Binary files differdeleted file mode 100644 index 77fe64e..0000000 --- a/app/src/main/res/drawable-xxhdpi/image4.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxhdpi/image5.png b/app/src/main/res/drawable-xxhdpi/image5.png Binary files differdeleted file mode 100644 index 0214f5e..0000000 --- a/app/src/main/res/drawable-xxhdpi/image5.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxxhdpi/image1.png b/app/src/main/res/drawable-xxxhdpi/image1.png Binary files differdeleted file mode 100644 index a1811d3..0000000 --- a/app/src/main/res/drawable-xxxhdpi/image1.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxxhdpi/image2.png b/app/src/main/res/drawable-xxxhdpi/image2.png Binary files differdeleted file mode 100644 index 243f396..0000000 --- a/app/src/main/res/drawable-xxxhdpi/image2.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxxhdpi/image3.png b/app/src/main/res/drawable-xxxhdpi/image3.png Binary files differdeleted file mode 100644 index 47547ff..0000000 --- a/app/src/main/res/drawable-xxxhdpi/image3.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxxhdpi/image4.png b/app/src/main/res/drawable-xxxhdpi/image4.png Binary files differdeleted file mode 100644 index 77fe64e..0000000 --- a/app/src/main/res/drawable-xxxhdpi/image4.png +++ /dev/null diff --git a/app/src/main/res/drawable-xxxhdpi/image5.png b/app/src/main/res/drawable-xxxhdpi/image5.png Binary files differdeleted file mode 100644 index 0214f5e..0000000 --- a/app/src/main/res/drawable-xxxhdpi/image5.png +++ /dev/null diff --git a/app/src/main/res/values/feeds.xml b/app/src/main/res/values/feeds.xml index 85e5c7a..720e029 100644..100755 --- a/app/src/main/res/values/feeds.xml +++ b/app/src/main/res/values/feeds.xml @@ -24,10 +24,7 @@ <item>http://feeds.bbci.co.uk/news/technology/rss.xml</item> <item>http://feeds.bbci.co.uk/news/world/rss.xml</item> <item>http://feeds.bbci.co.uk/sport/0/rss.xml</item> - <item>http://feeds.foxnews.com/foxnews/politics</item> - <item>http://feeds.foxnews.com/foxnews/science</item> - <item>http://feeds.foxnews.com/foxnews/sports</item> - <item>http://feeds.foxnews.com/foxnews/tech</item> + <item>http://pcworld.com/index.rss</item> <item>http://feeds.reuters.com/reuters/environment</item> <item>http://feeds.reuters.com/reuters/financialsNews</item> <item>http://feeds.reuters.com/reuters/worldNews</item> |