diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index aa3fde5d3d874..19b2c7c70cbf4 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -12168,7 +12168,7 @@ public class PackageManagerService extends IPackageManager.Stub permissionMap.put(p.info.name, bp); } - boolean wasNormal = bp.type == BasePermission.TYPE_NORMAL; + boolean wasNonRuntime = !bp.isRuntime(); if (bp.perm == null) { if (bp.sourcePackage == null || bp.sourcePackage.equals(p.info.packageName)) { @@ -12212,7 +12212,7 @@ public class PackageManagerService extends IPackageManager.Stub bp.protectionLevel = p.info.protectionLevel; } - if (bp.isRuntime() && (ownerChanged || wasNormal)) { + if (bp.isRuntime() && (ownerChanged || wasNonRuntime)) { // If this is a runtime permission and the owner has changed, or this was a normal // permission, then permission state should be cleaned up bp.setPermissionDefinitionChanged(true);