From d0a8d08b2674213d68d3d51e7dc87e43d27059b4 Mon Sep 17 00:00:00 2001 From: FooIbar <118464521+FooIbar@users.noreply.github.com> Date: Tue, 27 Dec 2022 12:27:48 +0800 Subject: [PATCH] fixup! Support jump to last page --- .../com/hippo/ehviewer/ui/scene/GalleryListScene.java | 10 ++++++++-- app/src/main/java/com/hippo/widget/ContentLayout.java | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java index deeedf438..e1ffb15a3 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java @@ -484,7 +484,7 @@ public final class GalleryListScene extends SearchBarScene // Update fab visibility mFabLayout.setSecondaryFabVisibilityAt(0, !isPopular); - mFabLayout.setSecondaryFabVisibilityAt(2, !isTopList && !isPopular); + mFabLayout.setSecondaryFabVisibilityAt(2, !isPopular); // Update normal search mode mSearchLayout.setNormalSearchMode(mode == ListUrlBuilder.MODE_SUBSCRIPTION @@ -897,7 +897,13 @@ public final class GalleryListScene extends SearchBarScene // Refresh case 1 -> mHelper.refresh(); // Last page - case 2 -> mHelper.goTo("1", false); + case 2 -> { + if (mIsTopList) { + mHelper.goTo(mHelper.getPages() - 1); + } else { + mHelper.goTo("1", false); + } + } } view.setExpanded(false); diff --git a/app/src/main/java/com/hippo/widget/ContentLayout.java b/app/src/main/java/com/hippo/widget/ContentLayout.java index 62b4771e1..48b198bab 100644 --- a/app/src/main/java/com/hippo/widget/ContentLayout.java +++ b/app/src/main/java/com/hippo/widget/ContentLayout.java @@ -266,7 +266,7 @@ public class ContentLayout extends FrameLayout { mCurrentTaskType = TYPE_NEXT_PAGE_KEEP_POS; mCurrentTaskPage = mEndPage; getPageData(mCurrentTaskId, mCurrentTaskType, mCurrentTaskPage, mNext, true); - } else if (mEndPage == mPages) { + } else if (mStartPage > 0 && mEndPage == mPages) { // Refresh last page mCurrentTaskId = mIdGenerator.nextId(); mCurrentTaskType = TYPE_REFRESH_PAGE;