Merge "Revert "Update signature permissions when package signing is changed."" into main
diff --git a/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt b/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt
index aa86cd6..d39c8a0 100644
--- a/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt
+++ b/services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt
@@ -390,14 +390,7 @@
packageState: PackageState,
changedPermissionNames: MutableIndexedSet<String>
) {
- val androidPackage = packageState.androidPackage!!
- // This may not be the same package as the old permission because the old permission owner
- // can be different, hence using this somewhat strange name to prevent misuse.
- val oldNewPackage = oldState.externalState.packageStates[packageState.packageName]
- ?.androidPackage
- val isPackageSigningChanged = oldNewPackage != null &&
- androidPackage.signingDetails != oldNewPackage.signingDetails
- androidPackage.permissions.forEachIndexed { _, parsedPermission ->
+ packageState.androidPackage!!.permissions.forEachIndexed { _, parsedPermission ->
val newPermissionInfo = PackageInfoUtils.generatePermissionInfo(
parsedPermission, PackageManager.GET_META_DATA.toLong()
)!!
@@ -527,7 +520,7 @@
newPackageName != oldPermission.packageName ||
newPermission.protectionLevel != oldPermission.protectionLevel || (
oldPermission.isReconciled && (
- (newPermission.isSignature && isPackageSigningChanged) || (
+ (
newPermission.isKnownSigner &&
newPermission.knownCerts != oldPermission.knownCerts
) || (