chore(pager-viewer): cleanup setChaptersInternal
This commit is contained in:
parent
9ca58cd8dd
commit
85e3e383cb
2 changed files with 10 additions and 18 deletions
|
|
@ -916,7 +916,7 @@ class ReaderActivity : BaseActivity() {
|
|||
) % 2 != 0
|
||||
}
|
||||
viewModel.state.value.viewerChapters?.let {
|
||||
viewer.setChaptersDoubleShift(it)
|
||||
viewer.setChaptersInternal(it)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -932,7 +932,7 @@ class ReaderActivity : BaseActivity() {
|
|||
config.shiftDoublePage = !config.shiftDoublePage
|
||||
viewModel.state.value.viewerChapters?.let {
|
||||
viewer.updateShifting()
|
||||
viewer.setChaptersDoubleShift(it)
|
||||
viewer.setChaptersInternal(it)
|
||||
invalidateOptionsMenu()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ abstract class PagerViewer(
|
|||
field = value
|
||||
if (value) {
|
||||
awaitingIdleViewerChapters?.let { viewerChapters ->
|
||||
setChaptersDoubleShift(viewerChapters)
|
||||
setChaptersInternal(viewerChapters)
|
||||
awaitingIdleViewerChapters = null
|
||||
if (viewerChapters.currChapter.pages?.size == 1) {
|
||||
adapter.nextTransition?.to?.let(activity::requestPreloadChapter)
|
||||
|
|
@ -288,7 +288,7 @@ abstract class PagerViewer(
|
|||
*/
|
||||
override fun setChapters(chapters: ViewerChapters) {
|
||||
if (isIdle) {
|
||||
setChaptersDoubleShift(chapters)
|
||||
setChaptersInternal(chapters)
|
||||
} else {
|
||||
awaitingIdleViewerChapters = chapters
|
||||
}
|
||||
|
|
@ -297,12 +297,13 @@ abstract class PagerViewer(
|
|||
/**
|
||||
* Sets the active [chapters] on this pager.
|
||||
*/
|
||||
private fun setChaptersInternal(chapters: ViewerChapters) {
|
||||
internal fun setChaptersInternal(chapters: ViewerChapters) {
|
||||
// Remove listener so the change in item doesn't trigger it
|
||||
// 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)
|
||||
|
||||
val forceTransition =
|
||||
config.alwaysShowChapterTransition ||
|
||||
val forceTransition = config.alwaysShowChapterTransition ||
|
||||
adapter.joinedItems.getOrNull(pager.currentItem)?.first is ChapterTransition
|
||||
adapter.setChapters(chapters, forceTransition)
|
||||
|
||||
|
|
@ -315,6 +316,7 @@ abstract class PagerViewer(
|
|||
}
|
||||
|
||||
pager.addOnPageChangeListener(pagerListener)
|
||||
// Since we removed the listener while shifting,
|
||||
// Manually call onPageChange to update the UI
|
||||
onPageChange(pager.currentItem)
|
||||
}
|
||||
|
|
@ -500,16 +502,6 @@ abstract class PagerViewer(
|
|||
}
|
||||
|
||||
// SY -->
|
||||
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)
|
||||
setChaptersInternal(chapters)
|
||||
pager.addOnPageChangeListener(pagerListener)
|
||||
// Since we removed the listener while shifting, call page change to update the ui
|
||||
onPageChange(pager.currentItem)
|
||||
}
|
||||
|
||||
fun updateShifting(page: ReaderPage? = null) {
|
||||
adapter.pageToShift = page ?: adapter.joinedItems.getOrNull(pager.currentItem)?.first as? ReaderPage
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue