Fix favorite page jump

This commit is contained in:
小白-白 authored and tarsin committed 2022-11-15 12:54:41 +08:00
1 parent 76dedce5da
commit ee9413e54a
2 files changed
+15 -1

No files matched your search

@@ -45,6 +45,7 @@ public class FavListUrlBuilder implements Parcelable {
}; };
private static final String TAG = FavListUrlBuilder.class.getSimpleName(); private static final String TAG = FavListUrlBuilder.class.getSimpleName();
private String mNext; private String mNext;
private String mJumpTo;
private String mKeyword; private String mKeyword;
private int mFavCat = FAV_CAT_ALL; private int mFavCat = FAV_CAT_ALL;
@@ -53,6 +54,7 @@ public class FavListUrlBuilder implements Parcelable {
protected FavListUrlBuilder(Parcel in) { protected FavListUrlBuilder(Parcel in) {
this.mNext = in.readString(); this.mNext = in.readString();
this.mJumpTo = in.readString();
this.mKeyword = in.readString(); this.mKeyword = in.readString();
this.mFavCat = in.readInt(); this.mFavCat = in.readInt();
} }
@@ -65,6 +67,10 @@ public class FavListUrlBuilder implements Parcelable {
mNext = next; mNext = next;
} }
public void setJumpTo(String jumpTo) {
mJumpTo = jumpTo;
}
public String getKeyword() { public String getKeyword() {
return mKeyword; return mKeyword;
} }
@@ -108,6 +114,9 @@ public class FavListUrlBuilder implements Parcelable {
if (mNext != null && !mNext.isEmpty()) { if (mNext != null && !mNext.isEmpty()) {
ub.addQuery("next", mNext); ub.addQuery("next", mNext);
} }
if (mJumpTo != null && !mJumpTo.isEmpty()) {
ub.addQuery("seek", mJumpTo);
}
return ub.build(); return ub.build();
} }
@@ -119,6 +128,7 @@ public class FavListUrlBuilder implements Parcelable {
@Override @Override
public void writeToParcel(Parcel dest, int flags) { public void writeToParcel(Parcel dest, int flags) {
dest.writeString(this.mNext); dest.writeString(this.mNext);
dest.writeString(this.mJumpTo);
dest.writeString(this.mKeyword); dest.writeString(this.mKeyword);
dest.writeInt(this.mFavCat); dest.writeInt(this.mFavCat);
} }
@@ -1215,7 +1215,11 @@ public class FavoritesScene extends BaseScene implements
final String keyword = mUrlBuilder.getKeyword(); final String keyword = mUrlBuilder.getKeyword();
SimpleHandler.getInstance().post(() -> onGetFavoritesLocal(keyword, taskId)); SimpleHandler.getInstance().post(() -> onGetFavoritesLocal(keyword, taskId));
} else { } else {
mUrlBuilder.setNext(nextPg); mUrlBuilder.setNext(jumpTo == null ? nextPg : Integer.toString(minGid));
mUrlBuilder.setJumpTo(jumpTo);
jumpTo = null;
String url = mUrlBuilder.build(); String url = mUrlBuilder.build();
EhRequest request = new EhRequest(); EhRequest request = new EhRequest();
request.setMethod(EhClient.METHOD_GET_FAVORITES); request.setMethod(EhClient.METHOD_GET_FAVORITES);