From d7b508e731d09f48f3d2d1f58ef09da4440f6ee8 Mon Sep 17 00:00:00 2001 From: Nullptr <52071314+Dr-TSNG@users.noreply.github.com> Date: Fri, 11 Mar 2022 15:04:51 +0800 Subject: [PATCH] Fix crash --- .../main/java/org/lsposed/lspatch/LSPApplication.kt | 12 ++++++++++-- .../java/org/lsposed/lspatch/ui/page/HomePage.kt | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt b/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt index 97679b1..7b368f2 100644 --- a/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt +++ b/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt @@ -12,11 +12,19 @@ const val TAG = "LSPatch Manager" class LSPApplication : Application() { companion object { - var shizukuGranted by mutableStateOf(Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED) + var shizukuAlive = false + var shizukuGranted by mutableStateOf(false) } override fun onCreate() { super.onCreate() - + Shizuku.addBinderReceivedListener { + shizukuAlive = true + shizukuGranted = Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED + } + Shizuku.addBinderDeadListener { + shizukuAlive = false + shizukuGranted = false + } } } diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/HomePage.kt b/manager/src/main/java/org/lsposed/lspatch/ui/page/HomePage.kt index 0d59e6d..5e68cfb 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/HomePage.kt +++ b/manager/src/main/java/org/lsposed/lspatch/ui/page/HomePage.kt @@ -87,7 +87,7 @@ private fun ShizukuCard() { ElevatedCard( modifier = Modifier.clickable { - if (!LSPApplication.shizukuGranted) { + if (LSPApplication.shizukuAlive && !LSPApplication.shizukuGranted) { Shizuku.requestPermission(114514) } },