diff options
author | Kenny Root <kroot@google.com> | 2012-09-09 14:52:10 -0700 |
---|---|---|
committer | Kenny Root <kroot@google.com> | 2012-09-09 15:12:00 -0700 |
commit | 5455f6826f832ed0f07d28a772f4489d7223acb3 (patch) | |
tree | a28785d1a9e76ba0fe0ee45befd2bb89d0779bd2 /services/java/com/android/server/pm/Settings.java | |
parent | 25c925e6659e57f1cc8fef83be07f3917a108e3c (diff) | |
download | frameworks_base-5455f6826f832ed0f07d28a772f4489d7223acb3.zip frameworks_base-5455f6826f832ed0f07d28a772f4489d7223acb3.tar.gz frameworks_base-5455f6826f832ed0f07d28a772f4489d7223acb3.tar.bz2 |
Update PackageSetting flags when updating
Commit 5e03e2ca7d25b899b129baad2dd5eca6bf99d88a moved from
PacakgeParser.Package to PackageSetting which revealed that we weren't
updating the pkgFlags when replacing an existing application.
Add flags to PackageSetting so that deletion of the package later succeeds.
Change-Id: I2e0d4e07da31f48b68601f3f3240966b6e17dbdf
Diffstat (limited to 'services/java/com/android/server/pm/Settings.java')
-rw-r--r-- | services/java/com/android/server/pm/Settings.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/services/java/com/android/server/pm/Settings.java b/services/java/com/android/server/pm/Settings.java index b85353c..b075da3 100644 --- a/services/java/com/android/server/pm/Settings.java +++ b/services/java/com/android/server/pm/Settings.java @@ -566,6 +566,10 @@ final class Settings { if (p.signatures.mSignatures == null) { p.signatures.assignSignatures(pkg.mSignatures); } + // Update flags if needed. + if (pkg.applicationInfo.flags != p.pkgFlags) { + p.pkgFlags = pkg.applicationInfo.flags; + } // If this app defines a shared user id initialize // the shared user signatures as well. if (p.sharedUser != null && p.sharedUser.signatures.mSignatures == null) { @@ -2616,10 +2620,10 @@ final class Settings { pw.print(" installerPackageName="); pw.println(ps.installerPackageName); } pw.print(" signatures="); pw.println(ps.signatures); - pw.print(" permissionsFixed="); pw.print(ps.permissionsFixed); - pw.print(" haveGids="); pw.println(ps.haveGids); - pw.print(" pkgFlags=0x"); pw.print(Integer.toHexString(ps.pkgFlags)); - pw.print(" installStatus="); pw.println(ps.installStatus); + pw.print(" permissionsFixed="); pw.println(ps.permissionsFixed); + pw.print(" haveGids="); pw.println(ps.haveGids); + pw.print(" pkgFlags="); printFlags(pw, ps.pkgFlags, FLAG_DUMP_SPEC); + pw.print(" installStatus="); pw.println(ps.installStatus); for (UserInfo user : users) { pw.print(" User "); pw.print(user.id); pw.print(": "); pw.print(" installed="); |