summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/HeadlinesFragment.java
diff options
context:
space:
mode:
authorjan_bar <jan_bar@ITBARES.prague.wood.cz>2013-04-24 15:48:44 +0200
committerjan_bar <jan_bar@ITBARES.prague.wood.cz>2013-04-24 15:48:44 +0200
commit3bdb6e86afb68ccebe9aa7fe3126a3d9152d584b (patch)
treeb0e0fa9dc492757ce3e005cdbc8abdf14225ef86 /src/org/fox/ttrss/HeadlinesFragment.java
parentf9889788fced67fe3c849eda7d40f460090e2020 (diff)
Support score in online and offline mode
Bump database version Fixed bug in database drop order
Diffstat (limited to 'src/org/fox/ttrss/HeadlinesFragment.java')
-rw-r--r--src/org/fox/ttrss/HeadlinesFragment.java30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java
index 3001f071..693b39a0 100644
--- a/src/org/fox/ttrss/HeadlinesFragment.java
+++ b/src/org/fox/ttrss/HeadlinesFragment.java
@@ -16,6 +16,8 @@ import org.jsoup.Jsoup;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
+import android.content.res.Resources.Theme;
+import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
@@ -24,6 +26,7 @@ import android.support.v4.app.Fragment;
import android.text.Html;
import android.text.Html.ImageGetter;
import android.util.Log;
+import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
@@ -534,9 +537,17 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
public static final int VIEW_COUNT = VIEW_LOADMORE+1;
+ private final Integer[] origTitleColors = new Integer[VIEW_COUNT];
+ private final int titleHighScoreUnreadColor;
+
public ArticleListAdapter(Context context, int textViewResourceId, ArrayList<Article> items) {
super(context, textViewResourceId, items);
this.items = items;
+
+ Theme theme = context.getTheme();
+ TypedValue tv = new TypedValue();
+ theme.resolveAttribute(R.attr.headlineTitleHighScoreUnreadTextColor, tv, true);
+ titleHighScoreUnreadColor = tv.data;
}
public int getViewTypeCount() {
@@ -596,6 +607,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
if (tt != null) {
tt.setText(Html.fromHtml(article.title));
+ adjustTitleTextView(article.score, article.unread, tt, position);
}
TextView ft = (TextView)v.findViewById(R.id.feed_title);
@@ -727,6 +739,24 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener,
return v;
}
+
+ private void adjustTitleTextView(int score, boolean unread, TextView tv, int position) {
+ int viewType = getItemViewType(position);
+ if (origTitleColors[viewType] == null)
+ // store original color
+ origTitleColors[viewType] = Integer.valueOf(tv.getCurrentTextColor());
+
+ if(score < -100) {
+ tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);
+ } else if(score > 500) {
+ if(unread)
+ tv.setTextColor(titleHighScoreUnreadColor);
+ tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
+ } else {
+ tv.setTextColor(origTitleColors[viewType].intValue());
+ tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG);
+ }
+ }
}