From a32316ddb4f53eedd42813be63f4686fd11b0306 Mon Sep 17 00:00:00 2001 From: Cuong-Tran Date: Tue, 2 Jul 2024 12:33:39 +0700 Subject: [PATCH] refactor: check source loaded with launch instead of launchIO --- .../source/browse/BrowseSourceScreenModel.kt | 30 ++++++++++--------- .../source/feed/SourceFeedScreenModel.kt | 4 +-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt index 4c25cce85..2972dc442 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreenModel.kt @@ -133,7 +133,7 @@ open class BrowseSourceScreenModel( init { // KMK --> - screenModelScope.launchIO { + screenModelScope.launch { var retry = 10 while (source !is CatalogueSource && retry-- > 0) { // Sometime source is late to load, so we need to wait a bit @@ -141,23 +141,25 @@ open class BrowseSourceScreenModel( source = sourceManager.getOrStub(sourceId) } val source = source - if (source !is CatalogueSource) return@launchIO + if (source !is CatalogueSource) return@launch // KMK <-- - mutableState.update { - var query: String? = null - var listing = it.listing + screenModelScope.launchIO { + mutableState.update { + var query: String? = null + var listing = it.listing - if (listing is Listing.Search) { - query = listing.query - listing = Listing.Search(query, source.getFilterList()) + if (listing is Listing.Search) { + query = listing.query + listing = Listing.Search(query, source.getFilterList()) + } + + it.copy( + listing = listing, + filters = source.getFilterList(), + toolbarQuery = query, + ) } - - it.copy( - listing = listing, - filters = source.getFilterList(), - toolbarQuery = query, - ) } if (!basePreferences.incognitoMode().get()) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt index 87de7cea8..81e7ffe3f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreenModel.kt @@ -84,7 +84,7 @@ open class SourceFeedScreenModel( init { // KMK --> - screenModelScope.launchIO { + screenModelScope.launch { var retry = 10 while (source !is CatalogueSource && retry-- > 0) { // Sometime source is late to load, so we need to wait a bit @@ -92,7 +92,7 @@ open class SourceFeedScreenModel( source = sourceManager.getOrStub(sourceId) } val source = source - if (source !is CatalogueSource) return@launchIO + if (source !is CatalogueSource) return@launch // KMK <-- setFilters(source.getFilterList())