summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/offline/OfflineArticlePager.java
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2012-09-23 21:14:01 +0400
committerAndrew Dolgov <fox@fakecake.org>2012-09-23 21:14:01 +0400
commitc6225cd16e73fd6ef0f6f6f2b5f4926c849abce9 (patch)
tree0d441ac23ed7b67634437cf3ab450cecb91ba882 /src/org/fox/ttrss/offline/OfflineArticlePager.java
parent193b107c80822970fbf457eeedd9f17ac852af10 (diff)
reimplement going between articles with volume keys, bump version
Diffstat (limited to 'src/org/fox/ttrss/offline/OfflineArticlePager.java')
-rw-r--r--src/org/fox/ttrss/offline/OfflineArticlePager.java37
1 files changed, 29 insertions, 8 deletions
diff --git a/src/org/fox/ttrss/offline/OfflineArticlePager.java b/src/org/fox/ttrss/offline/OfflineArticlePager.java
index 9f8ae0f4..659aae00 100644
--- a/src/org/fox/ttrss/offline/OfflineArticlePager.java
+++ b/src/org/fox/ttrss/offline/OfflineArticlePager.java
@@ -1,6 +1,7 @@
package org.fox.ttrss.offline;
import org.fox.ttrss.R;
+import org.fox.ttrss.types.Article;
import android.app.Activity;
import android.database.Cursor;
@@ -206,21 +207,41 @@ public class OfflineArticlePager extends Fragment {
public void setArticleId(int articleId) {
m_articleId = articleId;
- m_cursor.moveToFirst();
+ int position = getArticleIdPosition(articleId);
- int position = 0;
+ ViewPager pager = (ViewPager) getView().findViewById(R.id.article_pager);
+
+ pager.setCurrentItem(position);
+
+ }
+
+ public int getArticleIdPosition(int articleId) {
+ m_cursor.moveToFirst();
while (!m_cursor.isLast()) {
- if (m_cursor.getInt(m_cursor.getColumnIndex(BaseColumns._ID)) == m_articleId) {
- position = m_cursor.getPosition();
- break;
+ if (m_cursor.getInt(m_cursor.getColumnIndex(BaseColumns._ID)) == articleId) {
+ return m_cursor.getPosition();
}
m_cursor.moveToNext();
}
- ViewPager pager = (ViewPager) getView().findViewById(R.id.article_pager);
-
- pager.setCurrentItem(position);
+ return -1;
+ }
+
+ public void selectArticle(boolean next) {
+ int position = getArticleIdPosition(m_articleId);
+ if (position != -1) {
+ if (next)
+ position++;
+ else
+ position--;
+
+ Log.d(TAG, "pos=" + position);
+
+ if (m_cursor.moveToPosition(position)) {
+ setArticleId(m_cursor.getInt(m_cursor.getColumnIndex(BaseColumns._ID)));
+ }
+ }
}
}