From ee9413e54ad709da88899e2fa5a82f7353b55cc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E7=99=BD-=E7=99=BD?= Date: Tue, 15 Nov 2022 11:57:22 +0800 Subject: [PATCH] Fix favorite page jump --- .../hippo/ehviewer/client/data/FavListUrlBuilder.java | 10 ++++++++++ .../com/hippo/ehviewer/ui/scene/FavoritesScene.java | 6 +++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java b/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java index afac373a7..dda1924e9 100644 --- a/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java +++ b/app/src/main/java/com/hippo/ehviewer/client/data/FavListUrlBuilder.java @@ -45,6 +45,7 @@ public class FavListUrlBuilder implements Parcelable { }; private static final String TAG = FavListUrlBuilder.class.getSimpleName(); private String mNext; + private String mJumpTo; private String mKeyword; private int mFavCat = FAV_CAT_ALL; @@ -53,6 +54,7 @@ public class FavListUrlBuilder implements Parcelable { protected FavListUrlBuilder(Parcel in) { this.mNext = in.readString(); + this.mJumpTo = in.readString(); this.mKeyword = in.readString(); this.mFavCat = in.readInt(); } @@ -65,6 +67,10 @@ public class FavListUrlBuilder implements Parcelable { mNext = next; } + public void setJumpTo(String jumpTo) { + mJumpTo = jumpTo; + } + public String getKeyword() { return mKeyword; } @@ -108,6 +114,9 @@ public class FavListUrlBuilder implements Parcelable { if (mNext != null && !mNext.isEmpty()) { ub.addQuery("next", mNext); } + if (mJumpTo != null && !mJumpTo.isEmpty()) { + ub.addQuery("seek", mJumpTo); + } return ub.build(); } @@ -119,6 +128,7 @@ public class FavListUrlBuilder implements Parcelable { @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(this.mNext); + dest.writeString(this.mJumpTo); dest.writeString(this.mKeyword); dest.writeInt(this.mFavCat); } diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java index 6fceb96e0..5de75fb30 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/FavoritesScene.java @@ -1215,7 +1215,11 @@ public class FavoritesScene extends BaseScene implements final String keyword = mUrlBuilder.getKeyword(); SimpleHandler.getInstance().post(() -> onGetFavoritesLocal(keyword, taskId)); } else { - mUrlBuilder.setNext(nextPg); + mUrlBuilder.setNext(jumpTo == null ? nextPg : Integer.toString(minGid)); + + mUrlBuilder.setJumpTo(jumpTo); + jumpTo = null; + String url = mUrlBuilder.build(); EhRequest request = new EhRequest(); request.setMethod(EhClient.METHOD_GET_FAVORITES);