|
@@ -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()
|