mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-23 11:05:59 +00:00
Add SET_PERMISSION APIs (#159)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.bintianqi.owndroid
|
||||
|
||||
import android.app.admin.DevicePolicyManager
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
@@ -18,8 +19,10 @@ class ApiReceiver: BroadcastReceiver() {
|
||||
val dpm = context.getDPM()
|
||||
val receiver = context.getReceiver()
|
||||
val app = intent.getStringExtra("package")
|
||||
val permission = intent.getStringExtra("permission")
|
||||
val restriction = intent.getStringExtra("restriction")
|
||||
if(!app.isNullOrEmpty()) log += "\npackage: $app"
|
||||
if (!app.isNullOrEmpty()) log += "\npackage: $app"
|
||||
if (!permission.isNullOrEmpty()) log += "\npermission: $permission"
|
||||
try {
|
||||
@SuppressWarnings("NewApi")
|
||||
val ok = when(intent.action?.removePrefix("com.bintianqi.owndroid.action.")) {
|
||||
@@ -29,6 +32,24 @@ class ApiReceiver: BroadcastReceiver() {
|
||||
"UNSUSPEND" -> dpm.setPackagesSuspended(receiver, arrayOf(app), false).isEmpty()
|
||||
"ADD_USER_RESTRICTION" -> { dpm.addUserRestriction(receiver, restriction); true }
|
||||
"CLEAR_USER_RESTRICTION" -> { dpm.clearUserRestriction(receiver, restriction); true }
|
||||
"SET_PERMISSION_DEFAULT" -> {
|
||||
dpm.setPermissionGrantState(
|
||||
receiver, app!!, permission!!,
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_DEFAULT
|
||||
)
|
||||
}
|
||||
"SET_PERMISSION_GRANTED" -> {
|
||||
dpm.setPermissionGrantState(
|
||||
receiver, app!!, permission!!,
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED
|
||||
)
|
||||
}
|
||||
"SET_PERMISSION_DENIED" -> {
|
||||
dpm.setPermissionGrantState(
|
||||
receiver, app!!, permission!!,
|
||||
DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED
|
||||
)
|
||||
}
|
||||
"LOCK" -> { dpm.lockNow(); true }
|
||||
"REBOOT" -> { dpm.reboot(receiver); true }
|
||||
else -> {
|
||||
|
||||
@@ -323,7 +323,8 @@ fun ApiSettings(onNavigateUp: () -> Unit) {
|
||||
onClick = {
|
||||
sp.apiKey = key
|
||||
context.showOperationResultToast(true)
|
||||
}
|
||||
},
|
||||
enabled = key.isNotEmpty()
|
||||
) {
|
||||
Text(stringResource(R.string.apply))
|
||||
}
|
||||
|
||||
@@ -536,7 +536,8 @@ fun PermissionsManagerScreen(onNavigateUp: () -> Unit, param: PermissionsManager
|
||||
}
|
||||
if(selectedPermission != null) {
|
||||
fun changeState(state: Int) {
|
||||
dpm.setPermissionGrantState(receiver, packageName, selectedPermission!!.permission, state)
|
||||
val result = dpm.setPermissionGrantState(receiver, packageName, selectedPermission!!.permission, state)
|
||||
if (!result) context.showOperationResultToast(false)
|
||||
statusMap[selectedPermission!!.permission] = dpm.getPermissionGrantState(receiver, packageName, selectedPermission!!.permission)
|
||||
selectedPermission = null
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user