* commit '43253333d24e856a7ffef818fdfaedf3fd60d3b6': System package permission decls take precedence over 3rd party apps'
This commit is contained in:
@ -4362,6 +4362,18 @@ public class PackageManagerService extends IPackageManager.Stub {
|
|||||||
permissionMap.put(p.info.name, bp);
|
permissionMap.put(p.info.name, bp);
|
||||||
}
|
}
|
||||||
if (bp.perm == null) {
|
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
|
if (bp.sourcePackage == null
|
||||||
|| bp.sourcePackage.equals(p.info.packageName)) {
|
|| bp.sourcePackage.equals(p.info.packageName)) {
|
||||||
BasePermission tree = findPermissionTreeLP(p.info.name);
|
BasePermission tree = findPermissionTreeLP(p.info.name);
|
||||||
|
Reference in New Issue
Block a user