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 a9884dd483719..37f3505ce7922 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) } @@ -1066,7 +1068,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) {