让发现用例自己管理线程

This commit is contained in:
HapeLee committed 2026-05-11 03:28:12 +08:00
1 parent 45e678b1ae
commit bbd598151b
2 files changed
+12 -14

No files matched your search

@@ -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.menuItem.RoundDropdownMenuItem
import io.legado.app.ui.widget.components.text.AppText import io.legado.app.ui.widget.components.text.AppText
import io.legado.app.utils.startActivity import io.legado.app.utils.startActivity
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.collect import kotlinx.coroutines.flow.collect
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.koin.androidx.compose.koinViewModel import org.koin.androidx.compose.koinViewModel
import org.koin.compose.koinInject import org.koin.compose.koinInject
import top.yukonga.miuix.kmp.theme.MiuixTheme import top.yukonga.miuix.kmp.theme.MiuixTheme
@@ -107,17 +105,15 @@ fun ExploreScreen(
viewModel.effects.collect { effect -> viewModel.effects.collect { effect ->
when (effect) { when (effect) {
is ExploreEffect.ExecuteKindAction -> { is ExploreEffect.ExecuteKindAction -> {
withContext(Dispatchers.IO) { val infoMap = getExploreInfoMap(effect.sourceUrl)
val infoMap = getExploreInfoMap(effect.sourceUrl) exploreKindUseCase.executeAction(
exploreKindUseCase.executeAction( action = effect.kind.action,
action = effect.kind.action, title = effect.kind.title,
title = effect.kind.title, sourceUrl = effect.sourceUrl,
sourceUrl = effect.sourceUrl, infoMap = infoMap,
infoMap = infoMap, activity = activity,
activity = activity, onRefreshKinds = { viewModel.refreshExploreKinds(effect.sourceUrl) }
onRefreshKinds = { viewModel.refreshExploreKinds(effect.sourceUrl) } )
)
}
} }
} }
} }
@@ -76,7 +76,9 @@ class ExploreKindUiUseCase(
override fun reUiView() = onRefreshKinds() override fun reUiView() = onRefreshKinds()
} }
) )
evalButtonClick(actionText, source, effectiveInfoMap, title, sourceJsExtensions) withContext(IO) {
evalButtonClick(actionText, source, effectiveInfoMap, title, sourceJsExtensions)
}
} }
private fun parseLiteralViewName(viewName: String?): String? { private fun parseLiteralViewName(viewName: String?): String? {