diff --git a/app/src/main/kotlin/li/songe/gkd/MainViewModel.kt b/app/src/main/kotlin/li/songe/gkd/MainViewModel.kt index 8eb7163a..66b8c031 100644 --- a/app/src/main/kotlin/li/songe/gkd/MainViewModel.kt +++ b/app/src/main/kotlin/li/songe/gkd/MainViewModel.kt @@ -311,9 +311,6 @@ class MainViewModel : BaseViewModel(), OnSimpleLife { private val a11yServicesFlow = useEnabledA11yServicesFlow() val a11yServiceEnabledFlow = useA11yServiceEnabledFlow(a11yServicesFlow) - val hasOtherA11yFlow = a11yServicesFlow.mapNew { list -> - list.any { it != A11yService.a11yCn } - } val automatorModeFlow = storeFlow.mapNew { AutomatorModeOption.objects.findOption(it.automatorMode) diff --git a/app/src/main/kotlin/li/songe/gkd/ui/home/SettingsPage.kt b/app/src/main/kotlin/li/songe/gkd/ui/home/SettingsPage.kt index 1fb70440..59f21e56 100644 --- a/app/src/main/kotlin/li/songe/gkd/ui/home/SettingsPage.kt +++ b/app/src/main/kotlin/li/songe/gkd/ui/home/SettingsPage.kt @@ -57,11 +57,8 @@ import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.flow.update import li.songe.gkd.MainActivity import li.songe.gkd.R -import li.songe.gkd.app import li.songe.gkd.permission.ignoreBatteryOptimizationsState import li.songe.gkd.permission.requiredPermission -import li.songe.gkd.permission.writeSecureSettingsState -import li.songe.gkd.service.A11yService import li.songe.gkd.service.StatusService import li.songe.gkd.service.fixRestartAutomatorService import li.songe.gkd.shizuku.shizukuContextFlow @@ -95,7 +92,6 @@ import li.songe.gkd.util.DarkThemeOption import li.songe.gkd.util.findOption import li.songe.gkd.util.launchAsFn import li.songe.gkd.util.mapState -import li.songe.gkd.util.openA11ySettings import li.songe.gkd.util.openAppDetailsSettings import li.songe.gkd.util.saveFileToDownloads import li.songe.gkd.util.shareFile @@ -555,7 +551,6 @@ private fun BlockA11yDialog(onDismissRequest: () -> Unit) = FullscreenDialog(onD val statusRunning by StatusService.isRunning.collectAsState() val shizukuContext by shizukuContextFlow.collectAsState() val ignoreBatteryOptimizations by ignoreBatteryOptimizationsState.stateFlow.collectAsState() - val hasOtherA11y by mainVm.hasOtherA11yFlow.collectAsState() val context = LocalActivity.current as MainActivity Scaffold( topBar = { @@ -576,7 +571,7 @@ private fun BlockA11yDialog(onDismissRequest: () -> Unit) = FullscreenDialog(onD BottomAppBar { Spacer(modifier = Modifier.weight(1f)) TextButton( - enabled = shizukuContext.ok && statusRunning && ignoreBatteryOptimizations && !hasOtherA11y, + enabled = shizukuContext.ok && statusRunning && ignoreBatteryOptimizations, onClick = mainVm.viewModelScope.launchAsFn { onDismissRequest() delay(200) @@ -604,7 +599,7 @@ private fun BlockA11yDialog(onDismissRequest: () -> Unit) = FullscreenDialog(onD verticalArrangement = Arrangement.spacedBy(4.dp) ) { RequiredTextItem(text = "切换服务会造成短暂触摸卡顿,请自行测试后再编辑白名单") - RequiredTextItem(text = "使用其它无障碍应用会导致优化无效,因为无障碍不会被完全关闭") + RequiredTextItem(text = "使用其它无障碍应用可能导致优化无效,可在服务关闭后自行确认") RequiredTextItem(text = "必须确保服务关闭后的持续后台运行,否则会被系统暂停或结束运行导致重启失败") } Spacer(modifier = Modifier.height(16.dp)) @@ -637,25 +632,6 @@ private fun BlockA11yDialog(onDismissRequest: () -> Unit) = FullscreenDialog(onD requiredPermission(context, ignoreBatteryOptimizationsState) }, ) - RequiredTextItem( - text = "关闭其它应用的无障碍", - enabled = hasOtherA11y, - imageVector = if (!hasOtherA11y) PerfIcon.Check else PerfIcon.ArrowForward, - onClick = { - if (writeSecureSettingsState.updateAndGet()) { - if (A11yService.isRunning.value) { - setOf(A11yService.a11yCn) - } else { - emptySet() - }.let { - app.putSecureA11yServices(it) - } - toast("关闭成功") - } else { - openA11ySettings() - } - }, - ) RequiredTextItem( text = "(可选) 允许自启动", enabled = true,