Start preloading next chapter if within last 3 pages instead of last page

This commit is contained in:
arkon 2020-03-09 15:09:17 -04:00
parent 9936b402a6
commit de512216c4
4 changed files with 11 additions and 7 deletions

View File

@ -144,8 +144,10 @@ abstract class PagerViewer(val activity: ReaderActivity) : BaseViewer {
Timber.d("onReaderPageSelected: ${page.number}/${pages.size}") Timber.d("onReaderPageSelected: ${page.number}/${pages.size}")
activity.onPageSelected(page) activity.onPageSelected(page)
if (page === pages.last()) { // Preload next chapter once we're within the last 3 pages of the current chapter
Timber.d("Request preload next chapter because we're at the last page") val inPreloadRange = pages.size - page.number < 3
if (inPreloadRange) {
Timber.d("Request preload next chapter because we're at page ${page.number} of ${pages.size}")
adapter.nextTransition?.to?.let { adapter.nextTransition?.to?.let {
activity.requestPreloadChapter(it) activity.requestPreloadChapter(it)
} }

View File

@ -145,9 +145,11 @@ class WebtoonViewer(val activity: ReaderActivity) : BaseViewer {
Timber.d("onPageSelected: ${page.number}/${pages.size}") Timber.d("onPageSelected: ${page.number}/${pages.size}")
activity.onPageSelected(page) activity.onPageSelected(page)
if (page === pages.last()) { // Preload next chapter once we're within the last 3 pages of the current chapter
Timber.d("Request preload next chapter because we're at the last page") val inPreloadRange = pages.size - page.number < 3
val transition = adapter.items.getOrNull(position + 1) as? ChapterTransition.Next if (inPreloadRange) {
Timber.d("Request preload next chapter because we're at page ${page.number} of ${pages.size}")
val transition = adapter.items.getOrNull(pages.size + 1) as? ChapterTransition.Next
if (transition?.to != null) { if (transition?.to != null) {
activity.requestPreloadChapter(transition.to) activity.requestPreloadChapter(transition.to)
} }