summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Naofumi Harada <naofumi.harada@sonymobile.com> 2014-01-21 10:29:36 +0900
committer Christopher Tate <ctate@google.com> 2014-03-11 12:26:21 -0700
commit68c0346b22d11a0e2c5e89f1a9206bc06ad3d0cf (patch)
tree1cb61bdc189e971119cfe0fa23ba2f7f761bb5a2
parent674f85af4c04970ec8875669b3f08eaf0465ba4b (diff)
DO NOT MERGE - FLAG_PRIVILEGED disappears if privileged app is updated and rebooted
Since Kitkat, an app pre-loaded under /system/priv-app/ has FLAG_PRIVILEGED. However, if the app updated and the device rebooted, privileged flag is unset from pkgFlags. This patch fix issue to assign privileged flag when scanning the updated packages. Bug: 12640283 Cherrypick from master. Change-Id: I833d94cd911693c9291e8204f63bd8de945dbba6
-rwxr-xr-xservices/java/com/android/server/pm/PackageManagerService.java6
1 files changed, 6 insertions, 0 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 47476c0cb54b..02a2c8f15ed5 100755
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -3657,6 +3657,12 @@ public class PackageManagerService extends IPackageManager.Stub {
// An updated system app will not have the PARSE_IS_SYSTEM flag set
// initially
parseFlags |= PackageParser.PARSE_IS_SYSTEM;
+
+ // An updated privileged app will not have the PARSE_IS_PRIVILEGED
+ // flag set initially
+ if ((updatedPkg.pkgFlags & ApplicationInfo.FLAG_PRIVILEGED) != 0) {
+ parseFlags |= PackageParser.PARSE_IS_PRIVILEGED;
+ }
}
// Verify certificates against what was last scanned
if (!collectCertificatesLI(pp, ps, pkg, scanFile, parseFlags)) {