|
@@ -66,15 +66,14 @@ import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateItem
|
|
|
import eu.kanade.tachiyomi.ui.browse.source.filter.TriStateSectionItem
|
|
|
import eu.kanade.tachiyomi.util.lang.launchIO
|
|
|
import eu.kanade.tachiyomi.util.lang.withIOContext
|
|
|
+import eu.kanade.tachiyomi.util.lang.withNonCancellableContext
|
|
|
import eu.kanade.tachiyomi.util.removeCovers
|
|
|
import eu.kanade.tachiyomi.util.system.logcat
|
|
|
-import kotlinx.coroutines.NonCancellable
|
|
|
import kotlinx.coroutines.flow.Flow
|
|
|
import kotlinx.coroutines.flow.collectLatest
|
|
|
import kotlinx.coroutines.flow.firstOrNull
|
|
|
import kotlinx.coroutines.flow.map
|
|
|
import kotlinx.coroutines.launch
|
|
|
-import kotlinx.coroutines.withContext
|
|
|
import logcat.LogPriority
|
|
|
import uy.kohesive.injekt.Injekt
|
|
|
import uy.kohesive.injekt.api.get
|
|
@@ -212,17 +211,13 @@ open class BrowseSourcePresenter(
|
|
|
*/
|
|
|
private suspend fun initializeManga(manga: DomainManga) {
|
|
|
if (manga.thumbnailUrl != null || manga.initialized) return
|
|
|
- withContext(NonCancellable) {
|
|
|
- val db = manga.toDbManga()
|
|
|
+ withNonCancellableContext {
|
|
|
try {
|
|
|
- val networkManga = source!!.getMangaDetails(db.copy())
|
|
|
- db.copyFrom(networkManga)
|
|
|
- db.initialized = true
|
|
|
- updateManga.await(
|
|
|
- db
|
|
|
- .toDomainManga()
|
|
|
- ?.toMangaUpdate()!!,
|
|
|
- )
|
|
|
+ val networkManga = source!!.getMangaDetails(manga.toSManga())
|
|
|
+ val updatedManga = manga.copyFrom(networkManga)
|
|
|
+ .copy(initialized = true)
|
|
|
+
|
|
|
+ updateManga.await(updatedManga.toMangaUpdate())
|
|
|
} catch (e: Exception) {
|
|
|
logcat(LogPriority.ERROR, e)
|
|
|
}
|