diff options
| -rwxr-xr-x | services/java/com/android/server/pm/PackageManagerService.java | 7 | ||||
| -rw-r--r-- | services/java/com/android/server/pm/Settings.java | 1 |
2 files changed, 4 insertions, 4 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java index 7cc568e25d99..decda96060fe 100755 --- a/services/java/com/android/server/pm/PackageManagerService.java +++ b/services/java/com/android/server/pm/PackageManagerService.java @@ -5509,10 +5509,9 @@ public class PackageManagerService extends IPackageManager.Stub { // version of the one on the data partition, but which // granted a new system permission that it didn't have // before. In this case we do want to allow the app to - // now get the new permission, because it is allowed by - // the system image. - allowed = false; - if (sysPs.pkg != null) { + // now get the new permission if the new system-partition + // apk is privileged to get it. + if (sysPs.pkg != null && isPrivilegedApp(pkg)) { for (int j=0; j<sysPs.pkg.requestedPermissions.size(); j++) { if (perm.equals( diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java index 8e0c92a2084f..377c390f7275 100644 --- a/services/java/com/android/server/pm/Settings.java +++ b/services/java/com/android/server/pm/Settings.java @@ -2853,6 +2853,7 @@ final class Settings { ApplicationInfo.FLAG_RESTORE_ANY_VERSION, "RESTORE_ANY_VERSION", ApplicationInfo.FLAG_EXTERNAL_STORAGE, "EXTERNAL_STORAGE", ApplicationInfo.FLAG_LARGE_HEAP, "LARGE_HEAP", + ApplicationInfo.FLAG_PRIVILEGED, "PRIVILEGED", ApplicationInfo.FLAG_FORWARD_LOCK, "FORWARD_LOCK", ApplicationInfo.FLAG_CANT_SAVE_STATE, "CANT_SAVE_STATE", }; |