From 3cf4c3128fc8d50a5f75d69635b833d5ab255f52 Mon Sep 17 00:00:00 2001 From: Andreas Date: Sun, 3 Jul 2022 01:05:38 +0200 Subject: [PATCH] Use SQLDelight for all MangaCategory related queries (#7441) (cherry picked from commit 9e3b454b1b79a7725b3d3be4c85c1655ad80e18d) # Conflicts: # app/src/main/java/eu/kanade/tachiyomi/data/database/DatabaseHelper.kt # app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaCategoryQueries.kt --- .../ui/browse/source/browse/BrowseSourcePresenter.kt | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt index f758c1e8f..7189c8bb5 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourcePresenter.kt @@ -5,7 +5,7 @@ import eu.davidea.flexibleadapter.items.IFlexible import eu.kanade.data.DatabaseHandler import eu.kanade.data.exh.savedSearchMapper import eu.kanade.domain.category.interactor.GetCategories -import eu.kanade.domain.category.model.toDbCategory +import eu.kanade.domain.category.interactor.SetMangaCategories import eu.kanade.domain.chapter.interactor.GetChapterByMangaId import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay import eu.kanade.domain.manga.interactor.GetDuplicateLibraryManga @@ -15,7 +15,6 @@ import eu.kanade.domain.track.model.toDomainTrack import eu.kanade.tachiyomi.data.cache.CoverCache import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.Manga -import eu.kanade.tachiyomi.data.database.models.MangaCategory import eu.kanade.tachiyomi.data.database.models.toDomainManga import eu.kanade.tachiyomi.data.database.models.toMangaInfo import eu.kanade.tachiyomi.data.preference.PreferencesHelper @@ -95,6 +94,7 @@ open class BrowseSourcePresenter( private val getDuplicateLibraryManga: GetDuplicateLibraryManga = Injekt.get(), private val getCategories: GetCategories = Injekt.get(), private val getChapterByMangaId: GetChapterByMangaId = Injekt.get(), + private val setMangaCategories: SetMangaCategories = Injekt.get(), private val insertTrack: InsertTrack = Injekt.get(), private val syncChaptersWithTrackServiceTwoWay: SyncChaptersWithTrackServiceTwoWay = Injekt.get(), ) : BasePresenter() { @@ -476,8 +476,12 @@ open class BrowseSourcePresenter( * @param manga the manga to move. */ private fun moveMangaToCategories(manga: Manga, categories: List) { - val mc = categories.filter { it.id != 0L }.map { MangaCategory.create(manga, it.toDbCategory()) } - db.setMangaCategories(mc, listOf(manga)) + presenterScope.launchIO { + setMangaCategories.await( + mangaId = manga.id!!, + categoryIds = categories.filter { it.id != 0L }.map { it.id }, + ) + } } /**