diff --git a/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt b/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt index fb9d10d44..fab9dbb6f 100644 --- a/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt +++ b/app/src/main/java/io/legado/app/ui/main/explore/ExploreScreen.kt @@ -78,10 +78,8 @@ import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenu import io.legado.app.ui.widget.components.menuItem.RoundDropdownMenuItem import io.legado.app.ui.widget.components.text.AppText import io.legado.app.utils.startActivity -import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch -import kotlinx.coroutines.withContext import org.koin.androidx.compose.koinViewModel import org.koin.compose.koinInject import top.yukonga.miuix.kmp.theme.MiuixTheme @@ -107,17 +105,15 @@ fun ExploreScreen( viewModel.effects.collect { effect -> when (effect) { is ExploreEffect.ExecuteKindAction -> { - withContext(Dispatchers.IO) { - val infoMap = getExploreInfoMap(effect.sourceUrl) - exploreKindUseCase.executeAction( - action = effect.kind.action, - title = effect.kind.title, - sourceUrl = effect.sourceUrl, - infoMap = infoMap, - activity = activity, - onRefreshKinds = { viewModel.refreshExploreKinds(effect.sourceUrl) } - ) - } + val infoMap = getExploreInfoMap(effect.sourceUrl) + exploreKindUseCase.executeAction( + action = effect.kind.action, + title = effect.kind.title, + sourceUrl = effect.sourceUrl, + infoMap = infoMap, + activity = activity, + onRefreshKinds = { viewModel.refreshExploreKinds(effect.sourceUrl) } + ) } } } diff --git a/app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindUiUseCase.kt b/app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindUiUseCase.kt index ece4ee5db..05c3882a8 100644 --- a/app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindUiUseCase.kt +++ b/app/src/main/java/io/legado/app/ui/widget/components/explore/ExploreKindUiUseCase.kt @@ -76,7 +76,9 @@ class ExploreKindUiUseCase( override fun reUiView() = onRefreshKinds() } ) - evalButtonClick(actionText, source, effectiveInfoMap, title, sourceJsExtensions) + withContext(IO) { + evalButtonClick(actionText, source, effectiveInfoMap, title, sourceJsExtensions) + } } private fun parseLiteralViewName(viewName: String?): String? {