diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt index 4cad68bf1..ab66167c1 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/MetadataSource.kt @@ -60,7 +60,7 @@ interface MetadataSource : CatalogueSource { suspend fun parseToManga(manga: MangaInfo, input: I): MangaInfo { val mangaId = manga.id() val metadata = if (mangaId != null) { - val flatMetadata = db.getFlatMetadataForManga(mangaId).executeOnIO() + val flatMetadata = db.getFlatMetadataForManga(mangaId).executeAsBlocking() flatMetadata?.raise(metaClass) ?: newMetaInstance() } else newMetaInstance() @@ -96,7 +96,7 @@ interface MetadataSource : CatalogueSource { */ suspend fun fetchOrLoadMetadata(mangaId: Long?, inputProducer: suspend () -> I): M { val meta = if (mangaId != null) { - val flatMetadata = db.getFlatMetadataForManga(mangaId).executeOnIO() + val flatMetadata = db.getFlatMetadataForManga(mangaId).executeAsBlocking() flatMetadata?.raise(metaClass) } else { null @@ -114,7 +114,7 @@ interface MetadataSource : CatalogueSource { fun getDescriptionAdapter(controller: MangaController): RecyclerView.Adapter<*>? - suspend fun MangaInfo.id() = db.getManga(key, id).executeOnIO()?.id + fun MangaInfo.id() = db.getManga(key, id).executeAsBlocking()?.id val SManga.id get() = (this as? Manga)?.id val SChapter.mangaId get() = (this as? Chapter)?.manga_id } diff --git a/app/src/main/java/exh/GalleryAdder.kt b/app/src/main/java/exh/GalleryAdder.kt index c59712cdb..a7ecf3d37 100755 --- a/app/src/main/java/exh/GalleryAdder.kt +++ b/app/src/main/java/exh/GalleryAdder.kt @@ -134,7 +134,9 @@ class GalleryAdder { } // Fetch and copy details - val newManga = source.getMangaDetails(manga.toMangaInfo()) + val newManga = maybeRunBlocking(protectTrans) { + source.getMangaDetails(manga.toMangaInfo()) + } manga.copyFrom(newManga.toSManga()) manga.initialized = true diff --git a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt index 5b7913c3f..e95310357 100644 --- a/app/src/main/java/exh/md/handlers/ApiMangaParser.kt +++ b/app/src/main/java/exh/md/handlers/ApiMangaParser.kt @@ -48,9 +48,9 @@ class ApiMangaParser( } suspend fun parseToManga(manga: MangaInfo, input: MangaResponse, sourceId: Long): MangaInfo { - val mangaId = db.getManga(manga.key, sourceId).executeOnIO()?.id + val mangaId = db.getManga(manga.key, sourceId).executeAsBlocking()?.id val metadata = if (mangaId != null) { - val flatMetadata = db.getFlatMetadataForManga(mangaId).executeOnIO() + val flatMetadata = db.getFlatMetadataForManga(mangaId).executeAsBlocking() flatMetadata?.raise(metaClass) ?: newMetaInstance() } else newMetaInstance()