am 05e3f55f: am 1d8f592a: am ef12b1d4: am ea198841: am ef4694cb: am ae229d99: am 43253333: am 50cbfd55: System package permission decls take precedence over 3rd party apps\'

* commit '05e3f55f17e36b415a23095dbeaa1d04716aed5a':
  System package permission decls take precedence over 3rd party apps'
This commit is contained in:
Christopher Tate
2013-11-08 12:47:43 -08:00
committed by Android Git Automerger

View File

@@ -4757,6 +4757,18 @@ public class PackageManagerService extends IPackageManager.Stub {
permissionMap.put(p.info.name, bp);
}
if (bp.perm == null) {
if (bp.sourcePackage != null
&& !bp.sourcePackage.equals(p.info.packageName)) {
// If this is a permission that was formerly defined by a non-system
// app, but is now defined by a system app (following an upgrade),
// discard the previous declaration and consider the system's to be
// canonical.
if (isSystemApp(p.owner)) {
Slog.i(TAG, "New decl " + p.owner + " of permission "
+ p.info.name + " is system");
bp.sourcePackage = null;
}
}
if (bp.sourcePackage == null
|| bp.sourcePackage.equals(p.info.packageName)) {
BasePermission tree = findPermissionTreeLP(p.info.name);