From e4fc925b042e359759eb0647c54b11ee8cbc2507 Mon Sep 17 00:00:00 2001 From: seven332 Date: Thu, 24 May 2018 20:11:05 +0800 Subject: [PATCH] Fix preview page estimation --- .../com/hippo/ehviewer/spider/SpiderQueen.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java index d53e00a25..ae49b7869 100644 --- a/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java +++ b/app/src/main/java/com/hippo/ehviewer/spider/SpiderQueen.java @@ -714,10 +714,13 @@ public final class SpiderQueen implements Runnable { spiderInfo.pages = GalleryDetailParser.parsePages(body); spiderInfo.previewPages = GalleryDetailParser.parsePreviewPages(body); PreviewSet previewSet = GalleryDetailParser.parsePreviewSet(body); - if ((index >= 0 && index < spiderInfo.pages - 1) || (index == 0 && spiderInfo.pages == 1)) { - spiderInfo.previewPerPage = previewSet.size(); - } else { - spiderInfo.previewPerPage = Math.max(spiderInfo.previewPerPage, previewSet.size()); + + if (previewSet.size() > 0) { + if (index == 0) { + spiderInfo.previewPerPage = previewSet.size(); + } else { + spiderInfo.previewPerPage = previewSet.getPosition(0) / index; + } } for (int i = 0, n = previewSet.size(); i < n; i++) { @@ -763,6 +766,9 @@ public final class SpiderQueen implements Runnable { } else { previewIndex = 0; } + if (spiderInfo.previewPages > 0) { + previewIndex = Math.min(previewIndex, spiderInfo.previewPages - 1); + } try { String url = EhUrl.getGalleryDetailUrl(