summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Christopher Tate <ctate@google.com> 2013-06-26 14:20:18 -0700
committer Christopher Tate <ctate@google.com> 2013-06-26 14:22:21 -0700
commit46eadae12f8ebb9969dcaddd619d0d28e2e31a69 (patch)
tree4718f52db030259e2de62d705bb4bde3a0718792
parent49a31e0d67042886c1b2f5bedd6d0dfafda8a021 (diff)
Make sure to propagate privileged status when upgrading an app
Bug 9470309 Change-Id: Ibc0c8b2fa01da1bd5f5b6ed5530a6bd9a1384846
-rwxr-xr-xservices/java/com/android/server/pm/PackageManagerService.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/java/com/android/server/pm/PackageManagerService.java b/services/java/com/android/server/pm/PackageManagerService.java
index 4b7bc5f5aaf7..9d0808500c83 100755
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -8276,6 +8276,9 @@ public class PackageManagerService extends IPackageManager.Stub {
boolean updatedSettings = false;
parseFlags |= PackageManager.INSTALL_REPLACE_EXISTING |
PackageParser.PARSE_IS_SYSTEM;
+ if ((deletedPackage.applicationInfo.flags&ApplicationInfo.FLAG_PRIVILEGED) != 0) {
+ parseFlags |= PackageParser.PARSE_IS_PRIVILEGED;
+ }
String packageName = deletedPackage.packageName;
res.returnCode = PackageManager.INSTALL_FAILED_REPLACE_COULDNT_DELETE;
if (packageName == null) {