Adjust read next history logic

Closes #8454

(cherry picked from commit 8749be518f)

# Conflicts:
#	app/src/main/java/eu/kanade/domain/DomainModule.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/GetNextUnreadChapters.kt
#	app/src/main/java/eu/kanade/domain/history/interactor/RemoveHistory.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt
This commit is contained in:
arkon
2022-11-05 10:37:32 -04:00
committed by Jobobby04
parent 461b4a77b4
commit d3f4f63f52
23 changed files with 170 additions and 159 deletions
@@ -9,7 +9,7 @@ import eu.kanade.domain.chapter.model.Chapter
import eu.kanade.domain.chapter.model.ChapterUpdate
import eu.kanade.domain.chapter.repository.ChapterRepository
import eu.kanade.domain.history.interactor.GetHistoryByMangaId
import eu.kanade.domain.history.interactor.RemoveHistoryById
import eu.kanade.domain.history.interactor.RemoveHistory
import eu.kanade.domain.history.interactor.UpsertHistory
import eu.kanade.domain.history.model.History
import eu.kanade.domain.history.model.HistoryUpdate
@@ -42,7 +42,7 @@ class EHentaiUpdateHelper(context: Context) {
private val getCategories: GetCategories by injectLazy()
private val chapterRepository: ChapterRepository by injectLazy()
private val upsertHistory: UpsertHistory by injectLazy()
private val removeHistoryById: RemoveHistoryById by injectLazy()
private val removeHistory: RemoveHistory by injectLazy()
private val getHistoryByMangaId: GetHistoryByMangaId by injectLazy()
/**
@@ -127,7 +127,7 @@ class EHentaiUpdateHelper(context: Context) {
// Delete the duplicate history first
deleteHistory.forEach {
removeHistoryById.await(it)
removeHistory.awaitById(it)
}
// Insert new history
@@ -5,7 +5,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import eu.kanade.domain.chapter.model.Chapter
import eu.kanade.domain.history.interactor.GetNextUnreadChapters
import eu.kanade.domain.history.interactor.GetNextChapters
import eu.kanade.domain.manga.interactor.GetManga
import eu.kanade.domain.manga.interactor.GetPagePreviews
import eu.kanade.domain.manga.model.Manga
@@ -27,7 +27,7 @@ class PagePreviewPresenter(
private val mangaId: Long,
private val getPagePreviews: GetPagePreviews = Injekt.get(),
private val getManga: GetManga = Injekt.get(),
private val getNextUnreadChapters: GetNextUnreadChapters = Injekt.get(),
private val getNextChapters: GetNextChapters = Injekt.get(),
private val sourceManager: SourceManager = Injekt.get(),
) : BasePresenter<PagePreviewController>() {
@@ -43,7 +43,7 @@ class PagePreviewPresenter(
presenterScope.launchIO {
val manga = getManga.await(mangaId)!!
val chapter = getNextUnreadChapters.await(mangaId).firstOrNull()
val chapter = getNextChapters.await(mangaId, onlyUnread = false).lastOrNull()
if (chapter == null) {
_state.update {
PagePreviewState.Error(Exception("No chapters found"))