Don't start at last read page if chapter is completely marked as read

Fixes #8737
This commit is contained in:
arkon 2022-12-14 23:04:30 -05:00
parent 2f2f59279d
commit 90db3acefd

View File

@ -67,6 +67,7 @@ import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.catch import kotlinx.coroutines.flow.catch
import kotlinx.coroutines.flow.distinctUntilChanged import kotlinx.coroutines.flow.distinctUntilChanged
import kotlinx.coroutines.flow.filterNotNull
import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.first
import kotlinx.coroutines.flow.firstOrNull import kotlinx.coroutines.flow.firstOrNull
import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.launchIn
@ -212,11 +213,12 @@ class ReaderViewModel(
// To save state // To save state
state.map { it.viewerChapters?.currChapter } state.map { it.viewerChapters?.currChapter }
.distinctUntilChanged() .distinctUntilChanged()
.filterNotNull()
.onEach { currentChapter -> .onEach { currentChapter ->
if (currentChapter != null) { if (!currentChapter.chapter.read) {
currentChapter.requestedPage = currentChapter.chapter.last_page_read currentChapter.requestedPage = currentChapter.chapter.last_page_read
chapterId = currentChapter.chapter.id!!
} }
chapterId = currentChapter.chapter.id!!
} }
.launchIn(viewModelScope) .launchIn(viewModelScope)
} }