diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt b/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt index e02bf99da8..d23de1dc31 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/database/queries/MangaQueries.kt @@ -16,15 +16,6 @@ import eu.kanade.tachiyomi.data.database.tables.MangaTable interface MangaQueries : DbProvider { - fun getMangas() = db.get() - .listOfObjects(Manga::class.java) - .withQuery( - Query.builder() - .table(MangaTable.TABLE) - .build(), - ) - .prepare() - fun getDuplicateLibraryManga(manga: Manga) = db.get() .`object`(Manga::class.java) .withQuery( diff --git a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt index e7081dacef..0268146458 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/data/download/DownloadCache.kt @@ -2,7 +2,6 @@ package eu.kanade.tachiyomi.data.download import android.content.Context import com.hippo.unifile.UniFile -import eu.kanade.tachiyomi.data.database.DatabaseHelper import eu.kanade.tachiyomi.data.database.models.Chapter import eu.kanade.tachiyomi.data.database.models.Manga import eu.kanade.tachiyomi.source.SourceManager @@ -12,9 +11,11 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach +import kotlinx.coroutines.runBlocking import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy +import yokai.domain.manga.interactor.GetManga import yokai.domain.storage.StorageManager import java.util.concurrent.* @@ -131,8 +132,8 @@ class DownloadCache( onlineSources.find { provider.getSourceDirName(it).equals(entry.key, ignoreCase = true) }?.id } - val db: DatabaseHelper by injectLazy() - val mangas = db.getMangas().executeAsBlocking().groupBy { it.source } + val getManga: GetManga by injectLazy() + val mangas = runBlocking(Dispatchers.IO) { getManga.awaitAll().groupBy { it.source } } sourceDirs.forEach { sourceValue -> val sourceMangaRaw = mangas[sourceValue.key]?.toMutableSet() ?: return@forEach diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/controllers/SettingsAdvancedController.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/controllers/SettingsAdvancedController.kt index aea22e49d9..1cd3eceb0e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/controllers/SettingsAdvancedController.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/controllers/SettingsAdvancedController.kt @@ -79,6 +79,7 @@ import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy import yokai.domain.base.BasePreferences.ExtensionInstaller import yokai.domain.extension.interactor.TrustExtension +import yokai.domain.manga.interactor.GetManga import java.io.File class SettingsAdvancedController : SettingsLegacyController() { @@ -88,6 +89,8 @@ class SettingsAdvancedController : SettingsLegacyController() { private val db: DatabaseHelper by injectLazy() + private val getManga: GetManga by injectLazy() + private val downloadManager: DownloadManager by injectLazy() private val trustExtension: TrustExtension by injectLazy() @@ -404,7 +407,7 @@ class SettingsAdvancedController : SettingsLegacyController() { if (job?.isActive == true) return activity?.toast(R.string.starting_cleanup) job = GlobalScope.launch(Dispatchers.IO, CoroutineStart.DEFAULT) { - val mangaList = db.getMangas().executeAsBlocking() + val mangaList = getManga.awaitAll() val sourceManager: SourceManager = Injekt.get() val downloadProvider = DownloadProvider(activity!!) var foldersCleared = 0