浏览代码

Fix an issue with seamless mode and chapters with less than 5 pages #291

len 8 年之前
父节点
当前提交
6af78418a4
共有 1 个文件被更改,包括 8 次插入5 次删除
  1. 8 5
      app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/base/BaseReader.kt

+ 8 - 5
app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/base/BaseReader.kt

@@ -94,14 +94,17 @@ abstract class BaseReader : BaseFragment() {
         if (readerActivity.presenter.isSeamlessMode) {
             val oldChapter = oldPage.chapter
             val newChapter = newPage.chapter
-            if (!hasRequestedNextChapter && position > pages.size - 5) {
-                hasRequestedNextChapter = true
-                readerActivity.presenter.appendNextChapter()
-            }
+
+            // Active chapter has changed.
             if (oldChapter.id != newChapter.id) {
-                // Active chapter has changed.
                 readerActivity.onEnterChapter(newPage.chapter, newPage.pageNumber)
             }
+            // Request next chapter only when the conditions are met.
+            if (pages.size - position < 5 && chapters.last().id == newChapter.id
+                    && readerActivity.presenter.hasNextChapter() && !hasRequestedNextChapter) {
+                hasRequestedNextChapter = true
+                readerActivity.presenter.appendNextChapter()
+            }
         }
         currentPage = position
         updatePageNumber()