summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorSuchi Amalapurapu <asuchitra@google.com>2010-05-05 13:37:12 -0700
committerSuchi Amalapurapu <asuchitra@google.com>2010-05-05 14:06:17 -0700
commitc1d07d9bebe487f8881f51f989a299b3c3c6d4fa (patch)
tree47487a61f6d7920fcce1387cbca48c7c38aa332a /services
parenta69e10db2fb58deb5e27aa67c46d267af928374b (diff)
downloadframeworks_base-c1d07d9bebe487f8881f51f989a299b3c3c6d4fa.zip
frameworks_base-c1d07d9bebe487f8881f51f989a299b3c3c6d4fa.tar.gz
frameworks_base-c1d07d9bebe487f8881f51f989a299b3c3c6d4fa.tar.bz2
Fix 2656989. Clean up update to updated system applications.
Change-Id: Ic66b00926c45fac43396f1f8f23d0865ba77faba
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/PackageManagerService.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index ba326d6..b9204c7 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -5780,6 +5780,18 @@ class PackageManagerService extends IPackageManager.Stub {
}
mSettings.writeLP();
}
+ } else {
+ // If this is an update to an existing update, setup
+ // to remove the existing update.
+ synchronized (mPackages) {
+ PackageSetting ps = mSettings.getDisabledSystemPkg(packageName);
+ if (ps != null && ps.codePathString != null &&
+ !ps.codePathString.equals(oldPkgSetting.codePathString)) {
+ int installFlags = 0;
+ res.removedInfo.args = createInstallArgs(0, oldPkgSetting.codePathString,
+ oldPkgSetting.resourcePathString);
+ }
+ }
}
}