summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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);
+ }
+ }
}
}