API: add/clear user restrictions, close #106

Update README
This commit is contained in:
BinTianqi
2025-03-01 11:33:01 +08:00
parent b734522171
commit 1de95e336b
3 changed files with 53 additions and 24 deletions

View File

@@ -9,7 +9,7 @@ import com.bintianqi.owndroid.dpm.getReceiver
class ApiReceiver: BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
val requestKey = intent.getStringExtra("key") ?: ""
val requestKey = intent.getStringExtra("key")
var log = "OwnDroid API request received. action: ${intent.action}\nkey: $requestKey"
val sp = SharedPrefs(context)
if(!sp.isApiEnabled) return
@@ -18,6 +18,7 @@ class ApiReceiver: BroadcastReceiver() {
val dpm = context.getDPM()
val receiver = context.getReceiver()
val app = intent.getStringExtra("package")
val restriction = intent.getStringExtra("restriction")
if(!app.isNullOrEmpty()) log += "\npackage: $app"
try {
@SuppressWarnings("NewApi")
@@ -26,7 +27,9 @@ class ApiReceiver: BroadcastReceiver() {
"com.bintianqi.owndroid.action.UNHIDE" -> dpm.setApplicationHidden(receiver, app, false)
"com.bintianqi.owndroid.action.SUSPEND" -> dpm.setPackagesSuspended(receiver, arrayOf(app), true).isEmpty()
"com.bintianqi.owndroid.action.UNSUSPEND" -> dpm.setPackagesSuspended(receiver, arrayOf(app), false).isEmpty()
"com.bintianqi.owndroid.action.LOCK" -> { dpm.lockNow(); null }
"com.bintianqi.owndroid.action.ADD_USER_RESTRICTION" -> { dpm.addUserRestriction(receiver, restriction); true }
"com.bintianqi.owndroid.action.CLEAR_USER_RESTRICTION" -> { dpm.clearUserRestriction(receiver, restriction); true }
"com.bintianqi.owndroid.action.LOCK" -> { dpm.lockNow(); true }
else -> {
log += "\nInvalid action"
false