diff options
Diffstat (limited to 'app/src/main/java')
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. |