diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 77e9b62..5416505 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -33,6 +33,14 @@
android:resource="@xml/file_paths" />
+
+
diff --git a/app/src/main/java/com/catlas/escapepenacony/MainActivity.kt b/app/src/main/java/com/catlas/escapepenacony/MainActivity.kt
index 8f1b886..a6c7ceb 100644
--- a/app/src/main/java/com/catlas/escapepenacony/MainActivity.kt
+++ b/app/src/main/java/com/catlas/escapepenacony/MainActivity.kt
@@ -19,6 +19,12 @@ class MainActivity : ComponentActivity() {
private var currentPersistentUri by mutableStateOf(null)
private var shizukuPermissionGrantedEvent by mutableStateOf(0L)
+ private val binderReceivedListener = Shizuku.OnBinderReceivedListener {
+ if (ShizukuHelper.hasPermission()) {
+ shizukuPermissionGrantedEvent = System.currentTimeMillis()
+ }
+ }
+
private val shizukuPermissionListener = Shizuku.OnRequestPermissionResultListener { requestCode, grantResult ->
if (requestCode == ShizukuHelper.REQUEST_CODE && grantResult == PackageManager.PERMISSION_GRANTED) {
shizukuPermissionGrantedEvent = System.currentTimeMillis()
@@ -46,6 +52,7 @@ class MainActivity : ComponentActivity() {
super.onCreate(savedInstanceState)
try {
+ Shizuku.addBinderReceivedListenerSticky(binderReceivedListener)
Shizuku.addRequestPermissionResultListener(shizukuPermissionListener)
} catch (_: Throwable) {}
@@ -68,6 +75,7 @@ class MainActivity : ComponentActivity() {
override fun onDestroy() {
super.onDestroy()
try {
+ Shizuku.removeBinderReceivedListener(binderReceivedListener)
Shizuku.removeRequestPermissionResultListener(shizukuPermissionListener)
} catch (_: Throwable) {}
}