Loading core/java/android/content/pm/SigningDetails.java +6 −4 Original line number Diff line number Diff line Loading @@ -867,12 +867,14 @@ public final class SigningDetails implements Parcelable { return false; } // The capabilities for the past signing certs must match as well. if (mPastSigningCertificates != null) { for (int i = 0; i < mPastSigningCertificates.length; i++) { if (mPastSigningCertificates[i].getFlags() != that.mPastSigningCertificates[i].getFlags()) { return false; } } } return true; } Loading services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +9 −2 Original line number Diff line number Diff line Loading @@ -390,7 +390,14 @@ class AppIdPermissionPolicy : SchemePolicy() { packageState: PackageState, changedPermissionNames: MutableIndexedSet<String> ) { packageState.androidPackage!!.permissions.forEachIndexed { _, parsedPermission -> 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 -> val newPermissionInfo = PackageInfoUtils.generatePermissionInfo( parsedPermission, PackageManager.GET_META_DATA.toLong() )!! Loading Loading @@ -520,7 +527,7 @@ class AppIdPermissionPolicy : SchemePolicy() { newPackageName != oldPermission.packageName || newPermission.protectionLevel != oldPermission.protectionLevel || ( oldPermission.isReconciled && ( ( (newPermission.isSignature && isPackageSigningChanged) || ( newPermission.isKnownSigner && newPermission.knownCerts != oldPermission.knownCerts ) || ( Loading Loading
core/java/android/content/pm/SigningDetails.java +6 −4 Original line number Diff line number Diff line Loading @@ -867,12 +867,14 @@ public final class SigningDetails implements Parcelable { return false; } // The capabilities for the past signing certs must match as well. if (mPastSigningCertificates != null) { for (int i = 0; i < mPastSigningCertificates.length; i++) { if (mPastSigningCertificates[i].getFlags() != that.mPastSigningCertificates[i].getFlags()) { return false; } } } return true; } Loading
services/permission/java/com/android/server/permission/access/permission/AppIdPermissionPolicy.kt +9 −2 Original line number Diff line number Diff line Loading @@ -390,7 +390,14 @@ class AppIdPermissionPolicy : SchemePolicy() { packageState: PackageState, changedPermissionNames: MutableIndexedSet<String> ) { packageState.androidPackage!!.permissions.forEachIndexed { _, parsedPermission -> 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 -> val newPermissionInfo = PackageInfoUtils.generatePermissionInfo( parsedPermission, PackageManager.GET_META_DATA.toLong() )!! Loading Loading @@ -520,7 +527,7 @@ class AppIdPermissionPolicy : SchemePolicy() { newPackageName != oldPermission.packageName || newPermission.protectionLevel != oldPermission.protectionLevel || ( oldPermission.isReconciled && ( ( (newPermission.isSignature && isPackageSigningChanged) || ( newPermission.isKnownSigner && newPermission.knownCerts != oldPermission.knownCerts ) || ( Loading