From 3bdb6e86afb68ccebe9aa7fe3126a3d9152d584b Mon Sep 17 00:00:00 2001 From: jan_bar Date: Wed, 24 Apr 2013 15:48:44 +0200 Subject: Support score in online and offline mode Bump database version Fixed bug in database drop order --- src/org/fox/ttrss/HeadlinesFragment.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/org/fox/ttrss/HeadlinesFragment.java') 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
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); + } + } } -- cgit v1.2.3-54-g00ecf From 6aaf8143de61655c2f8b39e8a672596cdbf09bd0 Mon Sep 17 00:00:00 2001 From: jan_bar Date: Thu, 25 Apr 2013 17:54:52 +0200 Subject: Fixed formatting issues --- src/org/fox/ttrss/HeadlinesFragment.java | 11 +++++------ src/org/fox/ttrss/offline/OfflineArticleFragment.java | 2 +- src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java | 10 +++++----- 3 files changed, 11 insertions(+), 12 deletions(-) (limited to 'src/org/fox/ttrss/HeadlinesFragment.java') diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index 693b39a0..b24716b3 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -543,7 +543,7 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, public ArticleListAdapter(Context context, int textViewResourceId, ArrayList
items) { super(context, textViewResourceId, items); this.items = items; - + Theme theme = context.getTheme(); TypedValue tv = new TypedValue(); theme.resolveAttribute(R.attr.headlineTitleHighScoreUnreadTextColor, tv, true); @@ -742,14 +742,14 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, private void adjustTitleTextView(int score, boolean unread, TextView tv, int position) { int viewType = getItemViewType(position); - if (origTitleColors[viewType] == null) + if (origTitleColors[viewType] == null) // store original color origTitleColors[viewType] = Integer.valueOf(tv.getCurrentTextColor()); - if(score < -100) { + if (score < -100) { tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); - } else if(score > 500) { - if(unread) + } else if (score > 500) { + if (unread) tv.setTextColor(titleHighScoreUnreadColor); tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); } else { @@ -760,7 +760,6 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, } - public void notifyUpdated() { m_adapter.notifyDataSetChanged(); } diff --git a/src/org/fox/ttrss/offline/OfflineArticleFragment.java b/src/org/fox/ttrss/offline/OfflineArticleFragment.java index 2c51f033..621367d2 100644 --- a/src/org/fox/ttrss/offline/OfflineArticleFragment.java +++ b/src/org/fox/ttrss/offline/OfflineArticleFragment.java @@ -285,7 +285,7 @@ public class OfflineArticleFragment extends Fragment implements GestureDetector. if (author != null) { int authorIndex = m_cursor.getColumnIndex("author"); - if(authorIndex >= 0) + if (authorIndex >= 0) author.setText(m_cursor.getString(authorIndex)); else author.setVisibility(View.GONE); diff --git a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java index 8c9d41c1..353bf517 100644 --- a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java +++ b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java @@ -536,7 +536,7 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis if (ta != null) { int authorIndex = article.getColumnIndex("author"); - if(authorIndex >= 0) + if (authorIndex >= 0) ta.setText(article.getString(authorIndex)); } @@ -598,14 +598,14 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis private void adjustTitleTextView(int score, boolean unread, TextView tv, int position) { int viewType = getItemViewType(position); - if (origTitleColors[viewType] == null) + if (origTitleColors[viewType] == null) // store original color origTitleColors[viewType] = Integer.valueOf(tv.getCurrentTextColor()); - if(score < -100) { + if (score < -100) { tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); - } else if(score > 500) { - if(unread) + } else if (score > 500) { + if (unread) tv.setTextColor(titleHighScoreUnreadColor); tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); } else { -- cgit v1.2.3-54-g00ecf From a771ad16cfade4e1f7a7c693e316188a138d7d65 Mon Sep 17 00:00:00 2001 From: jan_bar Date: Thu, 25 Apr 2013 18:03:43 +0200 Subject: Fixed score colors as requested --- src/org/fox/ttrss/HeadlinesFragment.java | 9 ++++----- src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java | 14 ++++++-------- 2 files changed, 10 insertions(+), 13 deletions(-) (limited to 'src/org/fox/ttrss/HeadlinesFragment.java') diff --git a/src/org/fox/ttrss/HeadlinesFragment.java b/src/org/fox/ttrss/HeadlinesFragment.java index b24716b3..15bf9c0a 100644 --- a/src/org/fox/ttrss/HeadlinesFragment.java +++ b/src/org/fox/ttrss/HeadlinesFragment.java @@ -607,7 +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); + adjustTitleTextView(article.score, tt, position); } TextView ft = (TextView)v.findViewById(R.id.feed_title); @@ -740,17 +740,16 @@ public class HeadlinesFragment extends Fragment implements OnItemClickListener, return v; } - private void adjustTitleTextView(int score, boolean unread, TextView tv, int position) { + private void adjustTitleTextView(int score, TextView tv, int position) { int viewType = getItemViewType(position); if (origTitleColors[viewType] == null) // store original color origTitleColors[viewType] = Integer.valueOf(tv.getCurrentTextColor()); - if (score < -100) { + if (score < -500) { tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); } else if (score > 500) { - if (unread) - tv.setTextColor(titleHighScoreUnreadColor); + tv.setTextColor(titleHighScoreUnreadColor); tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); } else { tv.setTextColor(origTitleColors[viewType].intValue()); diff --git a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java index 353bf517..cdb0adf3 100644 --- a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java +++ b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java @@ -453,11 +453,10 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis if (tt != null) { tt.setText(Html.fromHtml(article.getString(article.getColumnIndex("title")))); - + int scoreIndex = article.getColumnIndex("score"); - boolean unread = article.getInt(article.getColumnIndex("unread")) == 1; - if(scoreIndex >= 0) - adjustTitleTextView(article.getInt(scoreIndex), unread, tt, position); + if (scoreIndex >= 0) + adjustTitleTextView(article.getInt(scoreIndex), tt, position); } TextView ft = (TextView)v.findViewById(R.id.feed_title); @@ -596,17 +595,16 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis return v; } - private void adjustTitleTextView(int score, boolean unread, TextView tv, int position) { + private void adjustTitleTextView(int score, TextView tv, int position) { int viewType = getItemViewType(position); if (origTitleColors[viewType] == null) // store original color origTitleColors[viewType] = Integer.valueOf(tv.getCurrentTextColor()); - if (score < -100) { + if (score < -500) { tv.setPaintFlags(tv.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG); } else if (score > 500) { - if (unread) - tv.setTextColor(titleHighScoreUnreadColor); + tv.setTextColor(titleHighScoreUnreadColor); tv.setPaintFlags(tv.getPaintFlags() & ~Paint.STRIKE_THRU_TEXT_FLAG); } else { tv.setTextColor(origTitleColors[viewType].intValue()); -- cgit v1.2.3-54-g00ecf