diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/local/data/LocalMangaRepository.kt b/app/src/main/kotlin/org/koitharu/kotatsu/local/data/LocalMangaRepository.kt index 497967246..5f05be1d9 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/local/data/LocalMangaRepository.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/local/data/LocalMangaRepository.kt @@ -152,7 +152,8 @@ class LocalMangaRepository @Inject constructor( "Manga is not stored on local storage" }.manga LocalMangaUtil(subject).deleteChapters(ids) - localStorageChanges.emit(LocalManga(subject)) + val updated = getDetails(subject) + localStorageChanges.emit(LocalManga(updated)) } suspend fun getRemoteManga(localManga: Manga): Manga? { diff --git a/app/src/main/kotlin/org/koitharu/kotatsu/local/domain/DeleteReadChaptersUseCase.kt b/app/src/main/kotlin/org/koitharu/kotatsu/local/domain/DeleteReadChaptersUseCase.kt index 2a77be6ee..a16eb05a3 100644 --- a/app/src/main/kotlin/org/koitharu/kotatsu/local/domain/DeleteReadChaptersUseCase.kt +++ b/app/src/main/kotlin/org/koitharu/kotatsu/local/domain/DeleteReadChaptersUseCase.kt @@ -1,7 +1,6 @@ package org.koitharu.kotatsu.local.domain import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.buffer import kotlinx.coroutines.flow.channelFlow import kotlinx.coroutines.flow.fold @@ -13,7 +12,6 @@ import org.koitharu.kotatsu.core.parser.MangaRepository import org.koitharu.kotatsu.core.util.ext.printStackTraceDebug import org.koitharu.kotatsu.history.data.HistoryRepository import org.koitharu.kotatsu.local.data.LocalMangaRepository -import org.koitharu.kotatsu.local.data.LocalStorageChanges import org.koitharu.kotatsu.local.domain.model.LocalManga import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.MangaChapter @@ -26,7 +24,6 @@ class DeleteReadChaptersUseCase @Inject constructor( private val localMangaRepository: LocalMangaRepository, private val historyRepository: HistoryRepository, private val mangaRepositoryFactory: MangaRepository.Factory, - @LocalStorageChanges private val localStorageChanges: MutableSharedFlow, ) { suspend operator fun invoke(manga: Manga): Int { @@ -37,7 +34,6 @@ class DeleteReadChaptersUseCase @Inject constructor( } val task = getDeletionTask(localManga) ?: return 0 localMangaRepository.deleteChapters(task.manga.manga, task.chaptersIds) - emitUpdate(localManga) return task.chaptersIds.size } @@ -62,7 +58,6 @@ class DeleteReadChaptersUseCase @Inject constructor( }.buffer().map { runCatchingCancellable { localMangaRepository.deleteChapters(it.manga.manga, it.chaptersIds) - emitUpdate(it.manga) it.chaptersIds.size }.onFailure { it.printStackTraceDebug() @@ -88,11 +83,6 @@ class DeleteReadChaptersUseCase @Inject constructor( } } - private suspend fun emitUpdate(subject: LocalManga) { - val updated = localMangaRepository.getDetails(subject.manga) - localStorageChanges.emit(subject.copy(manga = updated)) - } - private suspend fun getAllChapters(manga: LocalManga): List = runCatchingCancellable { val remoteManga = checkNotNull(localMangaRepository.getRemoteManga(manga.manga)) checkNotNull(mangaRepositoryFactory.create(remoteManga.source).getDetails(remoteManga).chapters)