summaryrefslogtreecommitdiff
path: root/org.fox.ttrss
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2017-06-01 19:21:54 +0300
committerAndrew Dolgov <[email protected]>2017-06-01 19:21:54 +0300
commit5d3f580de4c0803e2319cba9a8e04b46191131a5 (patch)
treed6677988a76da6de3351a8ec681626eed51529d4 /org.fox.ttrss
parente8fe00eecd40eab3177ae3640a1208ac1dd56479 (diff)
restart on some more headlines-related prefs
prevent swipe on footers
Diffstat (limited to 'org.fox.ttrss')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java3
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java29
2 files changed, 19 insertions, 13 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java
index a4f6461d..a16e7072 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/CommonActivity.java
@@ -236,7 +236,8 @@ public class CommonActivity extends ActionBarActivity implements SharedPreferenc
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
Log.d(TAG, "onSharedPreferenceChanged:" + key);
- String[] filter = new String[] { "theme", "enable_cats", "headline_mode", "widget_update_interval" };
+ String[] filter = new String[] { "theme", "enable_cats", "headline_mode", "widget_update_interval",
+ "headlines_swipe_to_dismiss", "headlines_mark_read_scroll" };
m_needRestart = Arrays.asList(filter).indexOf(key) != -1;
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
index b19f12a1..d500b215 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
@@ -351,6 +351,19 @@ public class HeadlinesFragment extends Fragment {
}
@Override
+ public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
+
+ int position = viewHolder.getAdapterPosition() - m_adapter.getHeaderCount();
+
+ Article article = getArticleAtPosition(position);
+
+ if (article == null)
+ return 0;
+
+ return super.getSwipeDirs(recyclerView, viewHolder);
+ }
+
+ @Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition() - m_adapter.getHeaderCount();
@@ -455,7 +468,7 @@ public class HeadlinesFragment extends Fragment {
if (firstVisibleItem <= m_articles.size() + m_adapter.getHeaderCount()) {
- Article a = (Article) m_articles.get(firstVisibleItem - m_adapter.getHeaderCount() - 1);
+ Article a = getArticleAtPosition(firstVisibleItem - m_adapter.getHeaderCount() - 1);
if (a != null && a.unread) {
Log.d(TAG, "title=" + a.title);
@@ -835,16 +848,6 @@ public class HeadlinesFragment extends Fragment {
final Article article = holder.article;
- //holder.position = position;
-
- /*holder.view.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- m_activity.openContextMenu(v);
- return false;
- }
- });*/
-
holder.view.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
@@ -1611,7 +1614,9 @@ public class HeadlinesFragment extends Fragment {
public Article getArticleAtPosition(int position) {
try {
return m_articles.get(position);
- } catch (ArrayIndexOutOfBoundsException e) {
+ } catch (IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ } catch (Exception e) {
e.printStackTrace();
}