mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-24 03:16:00 +00:00
Support Dhizuku mode
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package com.bintianqi.owndroid.dpm
|
||||
|
||||
import android.app.admin.DevicePolicyManager
|
||||
import android.content.ComponentName
|
||||
import android.content.Context
|
||||
import android.content.ServiceConnection
|
||||
@@ -9,7 +8,6 @@ import android.os.Binder
|
||||
import android.os.Build.VERSION
|
||||
import android.os.IBinder
|
||||
import android.widget.Toast
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
import androidx.compose.foundation.horizontalScroll
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -36,7 +34,6 @@ import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.bintianqi.owndroid.IUserService
|
||||
import com.bintianqi.owndroid.R
|
||||
import com.bintianqi.owndroid.Receiver
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
import rikka.shizuku.Shizuku
|
||||
@@ -46,16 +43,16 @@ private var waitGrantPermission = false
|
||||
@Composable
|
||||
fun ShizukuActivate() {
|
||||
val context = LocalContext.current
|
||||
val dpm = context.getSystemService(ComponentActivity.DEVICE_POLICY_SERVICE) as DevicePolicyManager
|
||||
val receiver = ComponentName(context, Receiver::class.java)
|
||||
val dpm = context.getDPM()
|
||||
val receiver = context.getReceiver()
|
||||
val coScope = rememberCoroutineScope()
|
||||
val outputTextScrollState = rememberScrollState()
|
||||
var enabled by remember { mutableStateOf(false) }
|
||||
var bindShizuku by remember { mutableStateOf(false) }
|
||||
var outputText by remember { mutableStateOf("") }
|
||||
var showDeviceAdminButton by remember { mutableStateOf(!dpm.isAdminActive(receiver)) }
|
||||
var showProfileOwnerButton by remember { mutableStateOf(!isProfileOwner(dpm)) }
|
||||
var showDeviceOwnerButton by remember { mutableStateOf(!isDeviceOwner(dpm)) }
|
||||
var showProfileOwnerButton by remember { mutableStateOf(!dpm.isProfileOwner(context)) }
|
||||
var showDeviceOwnerButton by remember { mutableStateOf(!dpm.isDeviceOwner(context)) }
|
||||
var showOrgProfileOwnerButton by remember { mutableStateOf(true) }
|
||||
val service by shizukuService.collectAsState()
|
||||
LaunchedEffect(service) {
|
||||
@@ -143,7 +140,7 @@ fun ShizukuActivate() {
|
||||
outputText = service!!.execute(context.getString(R.string.dpm_activate_po_command))
|
||||
outputTextScrollState.animateScrollTo(0)
|
||||
delay(500)
|
||||
showProfileOwnerButton = !isProfileOwner(dpm)
|
||||
showProfileOwnerButton = !dpm.isProfileOwner(context)
|
||||
}
|
||||
},
|
||||
enabled = enabled
|
||||
@@ -159,7 +156,7 @@ fun ShizukuActivate() {
|
||||
outputText = service!!.execute(context.getString(R.string.dpm_activate_do_command))
|
||||
outputTextScrollState.animateScrollTo(0)
|
||||
delay(500)
|
||||
showDeviceOwnerButton = !isDeviceOwner(dpm)
|
||||
showDeviceOwnerButton = !dpm.isDeviceOwner(context)
|
||||
}
|
||||
},
|
||||
enabled = enabled
|
||||
@@ -168,7 +165,7 @@ fun ShizukuActivate() {
|
||||
}
|
||||
}
|
||||
|
||||
if(VERSION.SDK_INT >= 30 && isProfileOwner(dpm) && dpm.isManagedProfile(receiver) && !dpm.isOrganizationOwnedDeviceWithManagedProfile) {
|
||||
if(VERSION.SDK_INT >= 30 && dpm.isProfileOwner(context) && dpm.isManagedProfile(receiver) && !dpm.isOrganizationOwnedDeviceWithManagedProfile) {
|
||||
AnimatedVisibility(showOrgProfileOwnerButton) {
|
||||
Button(
|
||||
onClick = {
|
||||
|
||||
Reference in New Issue
Block a user