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"