diff --git a/app/src/main/java/com/bintianqi/owndroid/Privilege.kt b/app/src/main/java/com/bintianqi/owndroid/Privilege.kt index 190f05a..c68fc80 100644 --- a/app/src/main/java/com/bintianqi/owndroid/Privilege.kt +++ b/app/src/main/java/com/bintianqi/owndroid/Privilege.kt @@ -13,21 +13,19 @@ import kotlinx.coroutines.flow.MutableStateFlow object Privilege { fun initialize(context: Context) { if (SP.dhizuku) { - Dhizuku.init(context) - val hasPermission = try { - Dhizuku.isPermissionGranted() + if (Dhizuku.init(context)) try { + if (Dhizuku.isPermissionGranted()) { + val dhizukuDpm = binderWrapperDevicePolicyManager(context) + if (dhizukuDpm != null) { + DPM = dhizukuDpm + DAR = Dhizuku.getOwnerComponent() + updateStatus() + return + } + } } catch(_: Exception) { false } - if (hasPermission) { - val dhizukuDpm = binderWrapperDevicePolicyManager(context) - if (dhizukuDpm != null) { - DPM = dhizukuDpm - DAR = Dhizuku.getOwnerComponent() - updateStatus() - return - } - } dhizukuErrorStatus.value = 2 } DPM = context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager