From ba2e4f3a388f0b32efab0dbe32ee9033a7462007 Mon Sep 17 00:00:00 2001 From: BinTianqi Date: Mon, 2 Jun 2025 11:51:08 +0800 Subject: [PATCH] Fix unable to revoke dhizuku client permission Add a new user restriction --- .../main/java/com/bintianqi/owndroid/dpm/Permissions.kt | 7 +++++-- app/src/main/java/com/bintianqi/owndroid/dpm/System.kt | 1 - .../java/com/bintianqi/owndroid/dpm/UserRestriction.kt | 3 ++- app/src/main/res/drawable/router_fill0.xml | 9 +++++++++ app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 6 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/router_fill0.xml diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/Permissions.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/Permissions.kt index c8a0ed1..8669c31 100644 --- a/app/src/main/java/com/bintianqi/owndroid/dpm/Permissions.kt +++ b/app/src/main/java/com/bintianqi/owndroid/dpm/Permissions.kt @@ -506,7 +506,7 @@ fun DhizukuServerSettingsScreen(onNavigateUp: () -> Unit) { sp.dhizukuServer = status } fun writeList() { - file.writeText(Json.encodeToString(clients)) + file.writeText(Json.encodeToString(clients.toList())) } LaunchedEffect(Unit) { if (!file.exists()) file.writeText("[]") @@ -544,7 +544,10 @@ fun DhizukuServerSettingsScreen(onNavigateUp: () -> Unit) { ) Text(info.loadLabel(pm).toString(), style = typography.titleLarge) } - Switch(client.allow, { clients[index] = client.copy(allow = it) }) + Switch(client.allow, { + clients[index] = client.copy(allow = it) + writeList() + }) } } } diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/System.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/System.kt index f3acfb0..9dd3328 100644 --- a/app/src/main/java/com/bintianqi/owndroid/dpm/System.kt +++ b/app/src/main/java/com/bintianqi/owndroid/dpm/System.kt @@ -32,7 +32,6 @@ import android.net.Uri import android.os.Build.VERSION import android.os.HardwarePropertiesManager import android.os.UserManager -import android.widget.Button import android.widget.Toast import androidx.activity.compose.rememberLauncherForActivityResult import androidx.activity.result.contract.ActivityResultContracts diff --git a/app/src/main/java/com/bintianqi/owndroid/dpm/UserRestriction.kt b/app/src/main/java/com/bintianqi/owndroid/dpm/UserRestriction.kt index 7555335..47b797f 100644 --- a/app/src/main/java/com/bintianqi/owndroid/dpm/UserRestriction.kt +++ b/app/src/main/java/com/bintianqi/owndroid/dpm/UserRestriction.kt @@ -219,7 +219,8 @@ object RestrictionData { Restriction(UserManager.DISALLOW_CONFIG_CELL_BROADCASTS, R.string.config_cell_broadcasts, R.drawable.cell_tower_fill0), Restriction(UserManager.DISALLOW_SMS, R.string.sms, R.drawable.sms_fill0), Restriction(UserManager.DISALLOW_OUTGOING_CALLS, R.string.outgoing_calls, R.drawable.phone_forwarded_fill0), - Restriction(UserManager.DISALLOW_SIM_GLOBALLY, R.string.download_esim, R.drawable.sim_card_download_fill0) + Restriction(UserManager.DISALLOW_SIM_GLOBALLY, R.string.download_esim, R.drawable.sim_card_download_fill0), + Restriction(UserManager.DISALLOW_THREAD_NETWORK, R.string.thread_network, R.drawable.router_fill0, 36) ) val connectivity = listOf( Restriction(UserManager.DISALLOW_BLUETOOTH, R.string.bluetooth, R.drawable.bluetooth_fill0, 26), diff --git a/app/src/main/res/drawable/router_fill0.xml b/app/src/main/res/drawable/router_fill0.xml new file mode 100644 index 0000000..9a17c9f --- /dev/null +++ b/app/src/main/res/drawable/router_fill0.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index d3d33dc..abd9192 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -411,6 +411,7 @@ 短信 拨出电话 下载eSIM + Thread网络 蓝牙 蓝牙分享 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2aede37..8b963b9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -442,6 +442,7 @@ SMS Outgoing calls Download eSIM + Thread network Bluetooth Bluetooth sharing