Fix next chapter button occasionally jumping to the last page of the current chapter (#1920)
(cherry picked from commit 941dde341eb11703eadae543f351c9284617541c) # Conflicts: # CHANGELOG.md # app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
This commit is contained in:
parent
84d901b8a3
commit
77a4919656
@ -105,11 +105,7 @@ abstract class PagerViewer(val activity: ReaderActivity) : Viewer {
|
||||
pager.offscreenPageLimit = 1
|
||||
pager.id = R.id.reader_pager
|
||||
pager.adapter = adapter
|
||||
pager.addOnPageChangeListener(
|
||||
// SY -->
|
||||
pagerListener,
|
||||
// SY <--
|
||||
)
|
||||
pager.addOnPageChangeListener(pagerListener)
|
||||
pager.tapListener = { event ->
|
||||
val viewPosition = IntArray(2)
|
||||
pager.getLocationOnScreen(viewPosition)
|
||||
@ -291,6 +287,9 @@ abstract class PagerViewer(val activity: ReaderActivity) : Viewer {
|
||||
* Sets the active [chapters] on this pager.
|
||||
*/
|
||||
private fun setChaptersInternal(chapters: ViewerChapters) {
|
||||
// Remove listener so the change in item doesn't trigger it
|
||||
pager.removeOnPageChangeListener(pagerListener)
|
||||
|
||||
val forceTransition =
|
||||
config.alwaysShowChapterTransition ||
|
||||
adapter.joinedItems.getOrNull(pager.currentItem)?.first is ChapterTransition
|
||||
@ -303,6 +302,8 @@ abstract class PagerViewer(val activity: ReaderActivity) : Viewer {
|
||||
moveToPage(pages[min(chapters.currChapter.requestedPage, pages.lastIndex)])
|
||||
pager.isVisible = true
|
||||
}
|
||||
|
||||
pager.addOnPageChangeListener(pagerListener)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -475,9 +476,9 @@ abstract class PagerViewer(val activity: ReaderActivity) : Viewer {
|
||||
fun setChaptersDoubleShift(chapters: ViewerChapters) {
|
||||
// Remove Listener since we're about to change the size of the items
|
||||
// If we don't the size change could put us on a new chapter
|
||||
pager.removeOnPageChangeListener(pagerListener)
|
||||
// pager.removeOnPageChangeListener(pagerListener)
|
||||
setChaptersInternal(chapters)
|
||||
pager.addOnPageChangeListener(pagerListener)
|
||||
// pager.addOnPageChangeListener(pagerListener)
|
||||
// Since we removed the listener while shifting, call page change to update the ui
|
||||
onPageChange(pager.currentItem)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user