From 4ea72c89638b4b2bf3d517b7d4f4980331e73eb4 Mon Sep 17 00:00:00 2001 From: Jays2Kings Date: Wed, 7 Apr 2021 22:18:07 -0400 Subject: [PATCH] Fix automatic page layout not putting the current page as the first --- .../eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt index 5ef5da0350..393e12cd03 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/reader/ReaderActivity.kt @@ -273,7 +273,7 @@ class ReaderActivity : (viewer as? PagerViewer)?.let { pViewer -> val config = pViewer.config outState.putBoolean(SHIFT_DOUBLE_PAGES, config.shiftDoublePage) - if (config.shiftDoublePage) { + if (config.shiftDoublePage && config.doublePages) { pViewer.getShiftedPage()?.let { outState.putInt(SHIFTED_PAGE_INDEX, it.index) outState.putLong(SHIFTED_CHAP_INDEX, it.chapter.chapter.id ?: 0L) @@ -738,7 +738,6 @@ class ReaderActivity : setDoublePageMode(newViewer) } lastShiftDoubleState?.let { newViewer.config.shiftDoublePage = it } - lastShiftDoubleState = null } binding.navigationOverlay.isLTR = !(viewer is L2RPagerViewer) @@ -801,7 +800,17 @@ class ReaderActivity : } indexChapterToShift = null indexPageToShift = null + } else if (lastShiftDoubleState != null) { + val currentChapter = viewerChapters.currChapter + (viewer as? PagerViewer)?.config?.shiftDoublePage = ( + currentChapter.requestedPage + + ( + currentChapter.pages?.subList(0, currentChapter.requestedPage) + ?.count { it.fullPage || it.isolatedPage } ?: 0 + ) + ) % 2 != 0 } + lastShiftDoubleState = null viewer?.setChapters(viewerChapters) intentPageNumber?.let { moveToPageIndex(it) } intentPageNumber = null