am 69d6b534: Merge "Update PackageSetting flags when updating" into jb-mr1-dev

* commit '69d6b534335afc883077927b9abb0f94568d298d':
  Update PackageSetting flags when updating
This commit is contained in:
Kenny Root
2012-09-09 15:17:43 -07:00
committed by Android Git Automerger
2 changed files with 9 additions and 8 deletions

View File

@@ -8118,10 +8118,7 @@ public class PackageManagerService extends IPackageManager.Stub {
// Delete application code and resources
if (deleteCodeAndResources) {
// TODO can pick up from PackageSettings as well
int installFlags = isExternal(ps) ? PackageManager.INSTALL_EXTERNAL : 0;
installFlags |= isForwardLocked(ps) ? PackageManager.INSTALL_FORWARD_LOCK : 0;
outInfo.args = createInstallArgs(installFlags, ps.codePathString,
outInfo.args = createInstallArgs(packageFlagsToInstallFlags(ps), ps.codePathString,
ps.resourcePathString, ps.nativeLibraryPathString);
}
return true;

View File

@@ -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=");