让发现用例自己管理线程

This commit is contained in:
HapeLee
2026-05-11 03:28:12 +08:00
parent 45e678b1ae
commit bbd598151b
2 changed files with 12 additions and 14 deletions
@@ -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) }
)
}
}
}
@@ -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? {