From 98f16774c4ecfe2e1e7d3b31dcfac30eca057a0f Mon Sep 17 00:00:00 2001 From: Koitharu Date: Tue, 19 Apr 2022 08:22:54 +0300 Subject: [PATCH] Delete whole manga if all chapters are removed --- .../koitharu/kotatsu/details/ui/DetailsViewModel.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt index 53a173369..4582e48ad 100644 --- a/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt +++ b/app/src/main/java/org/koitharu/kotatsu/details/ui/DetailsViewModel.kt @@ -4,6 +4,7 @@ import androidx.core.os.LocaleListCompat import androidx.lifecycle.asFlow import androidx.lifecycle.asLiveData import androidx.lifecycle.viewModelScope +import java.io.IOException import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.flow.* @@ -29,7 +30,6 @@ import org.koitharu.kotatsu.parsers.util.toTitleCase import org.koitharu.kotatsu.tracker.domain.TrackingRepository import org.koitharu.kotatsu.utils.SingleLiveEvent import org.koitharu.kotatsu.utils.ext.iterator -import java.io.IOException class DetailsViewModel( private val intent: MangaIntent, @@ -185,9 +185,13 @@ class DetailsViewModel( } fun deleteChapters(ids: Set) { + val m = mangaData.value ?: return + if (m.chapters?.size == ids.size) { + deleteLocal(m) + return + } launchLoadingJob { - val manga = checkNotNull(mangaData.value) - localMangaRepository.deleteChapters(manga, ids) + localMangaRepository.deleteChapters(m, ids) reload() onChaptersRemoved.call(ids.size) }