Skip to content

Commit acf7370

Browse files
committed
fix: catch getApplicationEnabledSetting
1 parent 5d8789e commit acf7370

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

app/src/main/kotlin/li/songe/gkd/data/AppInfo.kt

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,25 @@ private fun checkIfNotHasActivity(packageName: String, userId: Int): Boolean {
8181
private fun PackageInfo.getEnabled(userId: Int): Boolean {
8282
val enabled = applicationInfo?.enabled ?: true
8383
if (enabled) return true
84-
val state = if (userId == currentUserId) {
85-
app.packageManager.getApplicationEnabledSetting(packageName)
86-
} else {
87-
shizukuContextFlow.value.packageManager?.getApplicationEnabledSetting(
88-
packageName,
89-
currentUserId
90-
) ?: 0
84+
val state = try {
85+
// https://github.com/gkd-kit/gkd/issues/1169#issuecomment-3489260246
86+
if (userId == currentUserId) {
87+
app.packageManager.getApplicationEnabledSetting(packageName)
88+
} else {
89+
shizukuContextFlow.value.packageManager?.getApplicationEnabledSetting(
90+
packageName,
91+
currentUserId
92+
)
93+
}
94+
} catch (_: IllegalArgumentException) {
95+
null
9196
}
9297
return when (state) {
93-
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED -> false
98+
null,
99+
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
100+
PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER,
101+
PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED -> false
102+
94103
else -> true
95104
}
96105
}

0 commit comments

Comments
 (0)