update docs about Shizuku

fix #10
This commit is contained in:
BinTianqi
2024-04-24 13:23:19 +08:00
parent e78b9809ee
commit 99c7077fd6
6 changed files with 40 additions and 34 deletions

View File

@@ -35,6 +35,7 @@ import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.bintianqi.owndroid.R
import com.bintianqi.owndroid.Receiver
import com.bintianqi.owndroid.backToHome
import com.bintianqi.owndroid.ui.*
import com.bintianqi.owndroid.ui.theme.bgColor
import kotlinx.coroutines.delay
@@ -231,8 +232,12 @@ private fun ProfileOwner(){
Text(stringResource(if(isProfileOwner(myDpm)){R.string.activated}else{R.string.deactivated}), style = typography.titleLarge)
Spacer(Modifier.padding(vertical = 5.dp))
if(isProfileOwner(myDpm)&&VERSION.SDK_INT>=24){
val co = rememberCoroutineScope()
Button(
onClick = {myDpm.clearProfileOwner(myComponent)},
onClick = {
myDpm.clearProfileOwner(myComponent)
co.launch { delay(600); if(!isProfileOwner(myDpm)){ backToHome=true } }
},
colors = ButtonDefaults.buttonColors(containerColor = colorScheme.error, contentColor = colorScheme.onError)
) {
Text(stringResource(R.string.deactivate))
@@ -261,7 +266,7 @@ private fun DeviceOwner(navCtrl: NavHostController){
Button(
onClick = {
myDpm.clearDeviceOwnerApp(myContext.packageName)
co.launch{ delay(600); if(!isDeviceOwner(myDpm)){navCtrl.navigateUp()} }
co.launch{ delay(600); if(!isDeviceOwner(myDpm)){ backToHome=true } }
},
colors = ButtonDefaults.buttonColors(containerColor = colorScheme.error, contentColor = colorScheme.onError)
) {
@@ -308,7 +313,7 @@ fun DeviceInfo(){
)
if(VERSION.SDK_INT>=23){ encryptionStatus[DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_DEFAULT_KEY] = stringResource(R.string.es_active_default_key) }
if(VERSION.SDK_INT>=24){ encryptionStatus[DevicePolicyManager.ENCRYPTION_STATUS_ACTIVE_PER_USER] = stringResource(R.string.es_active_per_user) }
Text("加密状态:${encryptionStatus[myDpm.storageEncryptionStatus]}")
Text(stringResource(R.string.encrypt_status_is)+encryptionStatus[myDpm.storageEncryptionStatus])
Spacer(Modifier.padding(vertical = 2.dp))
val adminList = myDpm.activeAdmins
if(adminList!=null){

View File

@@ -8,7 +8,6 @@ import android.content.pm.PackageManager
import android.os.Binder
import android.os.Build.VERSION
import android.os.IBinder
import android.util.Log
import android.widget.Toast
import androidx.activity.ComponentActivity
import androidx.compose.animation.AnimatedVisibility
@@ -38,6 +37,8 @@ import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import rikka.shizuku.Shizuku
private var waitGrantPermission = false
@Composable
fun ShizukuActivate(){
val myContext = LocalContext.current
@@ -202,11 +203,14 @@ private fun checkPermission(context: Context):String{
fun checkShizukuStatus():Int{
val status = try {
if (Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED) { 1 }
else if (Shizuku.shouldShowRequestPermissionRationale()) { 0 }
else { Shizuku.requestPermission(0); 0 }
if(Shizuku.checkSelfPermission() == PackageManager.PERMISSION_GRANTED) { waitGrantPermission = false; 1 }
else if(Shizuku.shouldShowRequestPermissionRationale()) { 0 }
else{
if(!waitGrantPermission){Shizuku.requestPermission(0)}
waitGrantPermission = true
0
}
}catch(e:Exception){ -1 }
Log.e("Shizuku",status.toString())
return status
}