Fix duel page spread not marking chapters read

This commit is contained in:
Jobobby04 2021-06-02 00:11:55 -04:00
parent aeaf52cb58
commit 114ba42af7
2 changed files with 6 additions and 3 deletions

View File

@ -1169,7 +1169,7 @@ class ReaderActivity : BaseRxActivity<ReaderActivityBinding, ReaderPresenter>()
*/ */
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
fun onPageSelected(page: ReaderPage, hasExtraPage: Boolean = false) { fun onPageSelected(page: ReaderPage, hasExtraPage: Boolean = false) {
val newChapter = presenter.onPageSelected(page) val newChapter = presenter.onPageSelected(page, hasExtraPage)
val pages = page.chapter.pages ?: return val pages = page.chapter.pages ?: return
val currentPage = if (hasExtraPage) { val currentPage = if (hasExtraPage) {

View File

@ -436,7 +436,7 @@ class ReaderPresenter(
* read, update tracking services, enqueue downloaded chapter deletion, and updating the active chapter if this * read, update tracking services, enqueue downloaded chapter deletion, and updating the active chapter if this
* [page]'s chapter is different from the currently active. * [page]'s chapter is different from the currently active.
*/ */
fun onPageSelected(page: ReaderPage) { fun onPageSelected(page: ReaderPage, hasExtraPage: Boolean) {
val currentChapters = viewerChaptersRelay.value ?: return val currentChapters = viewerChaptersRelay.value ?: return
val selectedChapter = page.chapter val selectedChapter = page.chapter
@ -449,7 +449,10 @@ class ReaderPresenter(
// Save last page read and mark as read if needed // Save last page read and mark as read if needed
selectedChapter.chapter.last_page_read = page.index selectedChapter.chapter.last_page_read = page.index
val shouldTrack = !incognitoMode || hasTrackers val shouldTrack = !incognitoMode || hasTrackers
if (selectedChapter.pages?.lastIndex == page.index && shouldTrack) { if (
(selectedChapter.pages?.lastIndex == page.index && shouldTrack) ||
(hasExtraPage && selectedChapter.pages?.lastIndex?.minus(1) == page.index && shouldTrack)
) {
selectedChapter.chapter.read = true selectedChapter.chapter.read = true
// SY --> // SY -->
if (manga?.isEhBasedManga() == true) { if (manga?.isEhBasedManga() == true) {