diff options
| author | Andrew Dolgov <fox@fakecake.org> | 2012-09-17 19:08:21 +0400 |
|---|---|---|
| committer | Andrew Dolgov <fox@fakecake.org> | 2012-09-17 19:08:21 +0400 |
| commit | 210339648917ee53236a5fc586f591fed8fb176e (patch) | |
| tree | 5d2cc8d92afd5d819b674bc7b09d9aac2190c788 /src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java | |
| parent | 8e3e5add776ddb8bcc9e6b349d4eb470e93d15e0 (diff) | |
various offline fixes
Diffstat (limited to 'src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java')
| -rw-r--r-- | src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java index 4c0ffca8..fd3fad37 100644 --- a/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java +++ b/src/org/fox/ttrss/offline/OfflineHeadlinesFragment.java @@ -177,7 +177,30 @@ public class OfflineHeadlinesFragment extends Fragment implements OnItemClickLis m_activity.shareArticle(articleId);
}
return true;
- case R.id.catchup_above:
+ case R.id.catchup_above:
+ if (true) {
+ int articleId = getArticleIdAtPosition(info.position);
+
+ SQLiteStatement stmt = null;
+
+ if (m_feedIsCat) {
+ stmt = m_activity.getWritableDb().compileStatement(
+ "UPDATE articles SET unread = 0 WHERE " +
+ "updated >= (SELECT updated FROM articles WHERE " + BaseColumns._ID + " = ?) " +
+ "AND feed_id IN (SELECT "+BaseColumns._ID+" FROM feeds WHERE cat_id = ?)");
+ } else {
+ stmt = m_activity.getWritableDb().compileStatement(
+ "UPDATE articles SET unread = 0 WHERE " +
+ "updated >= (SELECT updated FROM articles WHERE " + BaseColumns._ID + " = ?) " +
+ "AND feed_id = ?");
+ }
+
+ stmt.bindLong(1, articleId);
+ stmt.bindLong(2, m_feedId);
+ stmt.execute();
+ stmt.close();
+ }
+ refresh();
return true;
default:
Log.d(TAG, "onContextItemSelected, unhandled id=" + item.getItemId());
|