From 64191761b75aab955b2c10ce6fda16128b2af6d9 Mon Sep 17 00:00:00 2001 From: BinTianqi Date: Thu, 12 Feb 2026 13:55:07 +0800 Subject: [PATCH] feat: detect user restrictions set by other admins (#242) --- .../main/java/com/bintianqi/owndroid/MyViewModel.kt | 7 ++----- gradle/libs.versions.toml | 10 +++++----- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/bintianqi/owndroid/MyViewModel.kt b/app/src/main/java/com/bintianqi/owndroid/MyViewModel.kt index 47b1b95..11ba1b9 100644 --- a/app/src/main/java/com/bintianqi/owndroid/MyViewModel.kt +++ b/app/src/main/java/com/bintianqi/owndroid/MyViewModel.kt @@ -121,9 +121,6 @@ import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import kotlinx.coroutines.withContext import kotlinx.serialization.json.Json -import kotlinx.serialization.json.addJsonObject -import kotlinx.serialization.json.buildJsonArray -import kotlinx.serialization.json.put import java.net.InetAddress import java.security.MessageDigest import java.security.cert.CertificateException @@ -1336,9 +1333,8 @@ class MyViewModel(application: Application): AndroidViewModel(application) { Privilege.updateStatus() } val userRestrictions = MutableStateFlow(emptyMap()) - @RequiresApi(24) fun getUserRestrictions() { - val bundle = DPM.getUserRestrictions(DAR) + val bundle = UM.userRestrictions userRestrictions.value = bundle.keySet().associateWith { bundle.getBoolean(it) } } fun setUserRestriction(name: String, state: Boolean): Boolean { @@ -1349,6 +1345,7 @@ class MyViewModel(application: Application): AndroidViewModel(application) { DPM.clearUserRestriction(DAR, name) } userRestrictions.update { it.plus(name to state) } + getUserRestrictions() ShortcutUtils.updateUserRestrictionShortcut(application, name, !state, true) true } catch (_: SecurityException) { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 14feb9a..f57ec20 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,9 +1,9 @@ [versions] agp = "8.13.2" -kotlin = "2.3.0" +kotlin = "2.3.10" -navigation-compose = "2.9.6" -composeBom = "2025.12.01" +navigation-compose = "2.9.7" +composeBom = "2026.02.00" accompanist-drawablepainter = "0.37.3" accompanist-permissions = "0.37.3" shizuku = "13.1.5" @@ -13,7 +13,7 @@ dhizuku-server = "0.0.10" hiddenApiBypass = "6.1" libsu = "6.0.0" reoderable = "3.0.0" -serialization = "1.9.0" +serialization = "1.10.0" [libraries] androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } @@ -42,4 +42,4 @@ serialization = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization android-application = { id = "com.android.application", version.ref = "agp" } kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } -serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version = "2.3.0" } +serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version = "2.3.10" }