From 3d04d498d4c5ebdae60a41c02abd3dd43c374040 Mon Sep 17 00:00:00 2001 From: wilinz Date: Sun, 14 Aug 2022 03:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20#392=20root=E6=9D=83?= =?UTF-8?q?=E9=99=90=E7=9B=B4=E6=8E=A5=E6=89=93=E5=BC=80=E6=97=A0=E9=9A=9C?= =?UTF-8?q?=E7=A2=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../autojs/ui/main/drawer/DrawerPage.kt | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/ui/main/drawer/DrawerPage.kt b/app/src/main/java/org/autojs/autojs/ui/main/drawer/DrawerPage.kt index 5dc486585..bcaff95c7 100644 --- a/app/src/main/java/org/autojs/autojs/ui/main/drawer/DrawerPage.kt +++ b/app/src/main/java/org/autojs/autojs/ui/main/drawer/DrawerPage.kt @@ -46,11 +46,8 @@ import com.stardust.view.accessibility.AccessibilityService import io.github.g00fy2.quickie.QRResult import io.github.g00fy2.quickie.ScanQRCode import io.noties.markwon.Markwon -import kotlinx.coroutines.DelicateCoroutinesApi -import kotlinx.coroutines.GlobalScope -import kotlinx.coroutines.launch +import kotlinx.coroutines.* import org.autojs.autojs.Pref -import org.autojs.autoxjs.R import org.autojs.autojs.autojs.AutoJs import org.autojs.autojs.devplugin.DevPlugin import org.autojs.autojs.external.foreground.ForegroundService @@ -63,6 +60,7 @@ import org.autojs.autojs.ui.compose.widget.MyIcon import org.autojs.autojs.ui.compose.widget.MySwitch import org.autojs.autojs.ui.floating.FloatyWindowManger import org.autojs.autojs.ui.settings.SettingsActivity_ +import org.autojs.autoxjs.R import org.joda.time.DateTimeZone import org.joda.time.Instant @@ -116,7 +114,7 @@ fun DrawerPage() { SwitchTimedTaskScheduler() ProjectAddress(context) DownloadLink(context) - FEEDBACK(context) + Feedback(context) CheckForUpdate() AppDetailsSettings(context) } @@ -144,7 +142,7 @@ private fun AppDetailsSettings(context: Context) { } @Composable -private fun FEEDBACK(context: Context) { +private fun Feedback(context: Context) { TextButton(onClick = { IntentUtil.browse( context, @@ -788,6 +786,7 @@ private fun StableModeSwitch() { @Composable private fun AccessibilityServiceSwitch() { val context = LocalContext.current + val scope = rememberCoroutineScope() var showDialog by remember { mutableStateOf(false) } @@ -819,7 +818,15 @@ private fun AccessibilityServiceSwitch() { checked = isAccessibilityServiceEnabled, onCheckedChange = { if (!isAccessibilityServiceEnabled) { - showDialog = true + if (Pref.shouldEnableAccessibilityServiceByRoot()) { + scope.launch { + val enabled = withContext(Dispatchers.IO) { + AccessibilityServiceTool.enableAccessibilityServiceByRootAndWaitFor(2000) + } + if (enabled) isAccessibilityServiceEnabled = true + else showDialog = true + } + } else showDialog = true } else { isAccessibilityServiceEnabled = !AccessibilityService.disable() }