From 36510dc50cfbfb8076e3b15a26db46c9f057910b Mon Sep 17 00:00:00 2001 From: Floens Date: Sat, 20 Jun 2015 15:32:50 +0200 Subject: [PATCH] Add scroll up/down --- .../chan/ui/controller/ViewThreadController.java | 11 ++++++++++- .../org/floens/chan/ui/layout/ThreadListLayout.java | 4 ++++ Clover/app/src/main/res/values/strings.xml | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Clover/app/src/main/java/org/floens/chan/ui/controller/ViewThreadController.java b/Clover/app/src/main/java/org/floens/chan/ui/controller/ViewThreadController.java index 05cbf7b9..b8ad61ce 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/controller/ViewThreadController.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/controller/ViewThreadController.java @@ -43,6 +43,8 @@ public class ViewThreadController extends ThreadController implements ThreadLayo private static final int REFRESH_ID = 101; private static final int SEARCH_ID = 102; private static final int SHARE_ID = 103; + private static final int UP_ID = 104; + private static final int DOWN_ID = 105; private ToolbarMenuItem pinItem; private Loadable loadable; @@ -70,7 +72,9 @@ public class ViewThreadController extends ThreadController implements ThreadLayo navigationItem.createOverflow(context, this, Arrays.asList( new FloatingMenuItem(REFRESH_ID, context.getString(R.string.action_reload)), new FloatingMenuItem(SEARCH_ID, context.getString(R.string.action_search)), - new FloatingMenuItem(SHARE_ID, context.getString(R.string.action_share)) + new FloatingMenuItem(SHARE_ID, context.getString(R.string.action_share)), + new FloatingMenuItem(UP_ID, context.getString(R.string.action_up)), + new FloatingMenuItem(DOWN_ID, context.getString(R.string.action_down)) )); loadLoadable(loadable); @@ -172,6 +176,11 @@ public class ViewThreadController extends ThreadController implements ThreadLayo String link = ChanUrls.getThreadUrlDesktop(loadable.board, loadable.no); AndroidUtils.shareLink(link); break; + case UP_ID: + case DOWN_ID: + boolean up = ((Integer)item.getId()) == UP_ID; + threadLayout.getPresenter().scrollTo(up ? 0 : -1, false); + break; } } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadListLayout.java b/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadListLayout.java index fc8d315d..e6379eab 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadListLayout.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/layout/ThreadListLayout.java @@ -325,6 +325,10 @@ public class ThreadListLayout extends LinearLayout implements ReplyLayout.ReplyL } public void scrollTo(int position, boolean smooth) { + if (position < 0) { + position = recyclerView.getAdapter().getItemCount() - 1; + } + if (smooth) { recyclerView.smoothScrollToPosition(position); } else { diff --git a/Clover/app/src/main/res/values/strings.xml b/Clover/app/src/main/res/values/strings.xml index dc46e3ea..fc00c777 100644 --- a/Clover/app/src/main/res/values/strings.xml +++ b/Clover/app/src/main/res/values/strings.xml @@ -57,6 +57,8 @@ along with this program. If not, see . Image search Catalog mode Board mode + Up + Down Search Found %1$s for "%2$s"