From 2d6fc67ac7fd6a2b67c40dbd4d46f38e1ec5d105 Mon Sep 17 00:00:00 2001 From: aoi Date: Tue, 26 May 2026 00:48:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E2=80=9C=E6=96=87=E5=AD=97?= =?UTF-8?q?=E6=93=8D=E4=BD=9C=E6=98=BE=E7=A4=BA=E6=90=9C=E7=B4=A2=E2=80=9D?= =?UTF-8?q?UI=E6=B2=A1=E6=9C=89=E5=93=8D=E5=BA=94=E7=9A=84bug=20(#1171)=20?= =?UTF-8?q?@woruteyqi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复“文字操作显示搜索”的ui没有响应的bug --- .../config/otherConfig/OtherConfigScreen.kt | 2 +- .../otherConfig/OtherConfigViewModel.kt | 24 +++++++++++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigScreen.kt b/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigScreen.kt index 8d1253c43..84d9f5481 100644 --- a/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigScreen.kt +++ b/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigScreen.kt @@ -287,7 +287,7 @@ fun OtherConfigScreen( SwitchSettingItem( title = stringResource(R.string.add_to_text_context_menu_t), description = stringResource(R.string.add_to_text_context_menu_s), - checked = viewModel.isProcessTextEnabled(), + checked = OtherConfig.processText, onCheckedChange = { viewModel.setProcessTextEnable(it) } ) diff --git a/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigViewModel.kt b/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigViewModel.kt index 29a46ebb8..5728afac2 100644 --- a/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/config/otherConfig/OtherConfigViewModel.kt @@ -18,6 +18,7 @@ import io.legado.app.ui.config.downloadCacheConfig.DownloadCacheConfig import io.legado.app.utils.FileUtils import io.legado.app.utils.putPrefString import io.legado.app.utils.restart +import io.legado.app.utils.toastOnUi import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.delay import kotlinx.coroutines.launch @@ -31,6 +32,12 @@ class OtherConfigViewModel : ViewModel() { SharedReceiverActivity::class.java.name ) + init { + viewModelScope.launch(Dispatchers.IO) { + OtherConfig.processText = isProcessTextEnabled() + } + } + fun isProcessTextEnabled(): Boolean { return packageManager.getComponentEnabledSetting(componentName) != PackageManager.COMPONENT_ENABLED_STATE_DISABLED } @@ -41,11 +48,18 @@ class OtherConfigViewModel : ViewModel() { } else { PackageManager.COMPONENT_ENABLED_STATE_DISABLED } - packageManager.setComponentEnabledSetting( - componentName, - state, - PackageManager.DONT_KILL_APP - ) + viewModelScope.launch(Dispatchers.IO) { + runCatching { + packageManager.setComponentEnabledSetting( + componentName, + state, + PackageManager.DONT_KILL_APP + ) + OtherConfig.processText = enable + }.onFailure { + appCtx.toastOnUi(it.localizedMessage) + } + } } fun clearWebViewData(context: Context) {