diff --git a/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt b/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt index 02da25de20f14..cd60d1b06f7f3 100644 --- a/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt +++ b/services/permission/java/com/android/server/permission/access/permission/UidPermissionPolicy.kt @@ -196,7 +196,9 @@ class UidPermissionPolicy : SchemePolicy() { val changedPermissionNames = IndexedSet() trimPermissions(packageName, changedPermissionNames) - trimPermissionStates(appId) + if (appId in newState.systemState.appIds) { + trimPermissionStates(appId) + } changedPermissionNames.forEachIndexed { _, permissionName -> evaluatePermissionStateForAllPackages(permissionName, null) } @@ -1071,7 +1073,7 @@ class UidPermissionPolicy : SchemePolicy() { state: AccessState = newState, action: (PackageState) -> Unit ) { - val packageNames = state.systemState.appIds[appId] + val packageNames = state.systemState.appIds[appId]!! packageNames.forEachIndexed { _, packageName -> val packageState = state.systemState.packageStates[packageName]!! if (packageState.androidPackage != null) {