aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorzkwip2015-06-04 16:38:17 +0200
committerzkwip2015-06-04 16:38:17 +0200
commit5c6553ea5428eee903900417aed5100e9ba7ed00 (patch)
treea852b9293c78d7138922abe0046c15a7f13d95b5 /app/src/main/java
parentMerge branch 'master' of http://github.com/camilstaps/RSSin (diff)
Feed summarizationellas and babluki bug fix
Diffstat (limited to 'app/src/main/java')
-rwxr-xr-xapp/src/main/java/org/rssin/android/FeedItemAdapter.java17
-rw-r--r--app/src/main/java/org/rssin/summaries/BablukiAPI.java20
-rw-r--r--app/src/main/java/org/rssin/summaries/SummaryAPI.java6
-rw-r--r--app/src/main/java/org/rssin/summaries/SummaryAPIInterface.java6
4 files changed, 45 insertions, 4 deletions
diff --git a/app/src/main/java/org/rssin/android/FeedItemAdapter.java b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
index 9090439..7a606ef 100755
--- a/app/src/main/java/org/rssin/android/FeedItemAdapter.java
+++ b/app/src/main/java/org/rssin/android/FeedItemAdapter.java
@@ -15,14 +15,25 @@ import android.widget.TextView;
import org.rssin.neurons.Feedback;
import org.rssin.rssin.SortedFeedItemContainer;
import org.rssin.rssin.R;
+import org.rssin.summaries.BablukiAPI;
+import org.rssin.summaries.LengthMode;
+import org.rssin.summaries.SummaryAPIInterface;
import java.util.List;
class FeedItemAdapter extends RecyclerView.Adapter<FeedItemAdapter.FeedItemHolder> {
List<SortedFeedItemContainer> feedItems;
+ SummaryAPIInterface sapInterface;
+
+
public FeedItemAdapter(List<SortedFeedItemContainer> objects) {
feedItems = objects;
+
+ sapInterface = new BablukiAPI();
+
+ sapInterface.setMaxChars(250);
+ sapInterface.setLengthMode(LengthMode.CHARACTERS);
}
@Override
@@ -37,8 +48,10 @@ class FeedItemAdapter extends RecyclerView.Adapter<FeedItemAdapter.FeedItemHolde
public void onBindViewHolder(FeedItemHolder holder, int position) {
SortedFeedItemContainer item = feedItems.get(position);
holder.title.setText(item.getFeeditem().getTitle());
- holder.summary.setText(Html.fromHtml(item.getFeeditem().getDescription()));
- holder.date.setText(item.getFeeditem().getPubDate().toString());
+ //holder.summary.setText(Html.fromHtml(item.getFeeditem().getDescription()));
+
+ holder.summary.setText(sapInterface.getSummary(item.getFeeditem()).getText());
+
holder.item = item;
}
diff --git a/app/src/main/java/org/rssin/summaries/BablukiAPI.java b/app/src/main/java/org/rssin/summaries/BablukiAPI.java
index 452faf4..782b54a 100644
--- a/app/src/main/java/org/rssin/summaries/BablukiAPI.java
+++ b/app/src/main/java/org/rssin/summaries/BablukiAPI.java
@@ -5,6 +5,8 @@
*/
package org.rssin.summaries;
+import android.text.Html;
+
import java.util.ArrayList;
import org.rssin.rss.FeedItem;
@@ -17,6 +19,7 @@ public class BablukiAPI implements SummaryAPIInterface{
LengthMode lm;
private int maxchars, maxlines;
private String sep = ". ";
+ private boolean stripHtml;
/**
*
@@ -25,12 +28,22 @@ public class BablukiAPI implements SummaryAPIInterface{
{
maxchars = Integer.MAX_VALUE;
maxchars = Integer.MAX_VALUE;
+ stripHtml = true;
+ }
+
+
+ @Override
+ public void setHtmlStrip(boolean b)
+ {
+ stripHtml = b;
}
@Override
public Summary getSummary(FeedItem f) {
String desc = f.getDescription();
+ if (stripHtml)
+ desc = Html.fromHtml(desc).toString();
String title = f.getTitle();
String t = getSumText(desc,title);
Summary s = new Summary(t);
@@ -88,8 +101,11 @@ public class BablukiAPI implements SummaryAPIInterface{
for(String p: sents)
{
- o += p.trim();
- o += sep;
+ String s = p.trim();
+ if (!s.isEmpty()) {
+ o += s;
+ o += sep;
+ }
}
return o;
diff --git a/app/src/main/java/org/rssin/summaries/SummaryAPI.java b/app/src/main/java/org/rssin/summaries/SummaryAPI.java
index bb2349d..780e613 100644
--- a/app/src/main/java/org/rssin/summaries/SummaryAPI.java
+++ b/app/src/main/java/org/rssin/summaries/SummaryAPI.java
@@ -37,6 +37,12 @@ public class SummaryAPI implements SummaryAPIInterface {
return s;
}
+ @Override
+ public void setHtmlStrip(boolean b)
+ {
+ //meh
+ }
+
/**
* Constructor
*/
diff --git a/app/src/main/java/org/rssin/summaries/SummaryAPIInterface.java b/app/src/main/java/org/rssin/summaries/SummaryAPIInterface.java
index 5ae2cb9..5de44ee 100644
--- a/app/src/main/java/org/rssin/summaries/SummaryAPIInterface.java
+++ b/app/src/main/java/org/rssin/summaries/SummaryAPIInterface.java
@@ -33,6 +33,12 @@ public interface SummaryAPIInterface {
public void setLengthMode(LengthMode l);
/**
+ * set whether the summarizer must remove html elements from the source text.
+ * @param b boolean of the above.
+ */
+ public void setHtmlStrip(boolean b);
+
+ /**
* set the maximum number of characters of the summary text.
*
* @param chars integer value of the amount.