Merge "Populate mPackages with system pkg even if installed is better" into pi-dev

am: 28ea454824

Change-Id: I92b2320ac2d1fdb4fabe03af47688d87dac10eba
This commit is contained in:
Patrick Baumann
2018-05-23 17:21:48 -07:00
committed by android-build-merger

View File

@@ -8781,8 +8781,16 @@ public class PackageManagerService extends IPackageManager.Stub
if (scanSystemPartition && isSystemPkgUpdated && !isSystemPkgBetter) {
// The version of the application on the /system partition is less than or
// equal to the version on the /data partition. Throw an exception and use
// the application already installed on the /data partition.
// equal to the version on the /data partition. Even though the disabled system package
// is likely to be replaced by a version on the /data partition, we make assumptions
// that it's part of the mPackages collection during package manager initialization. So,
// add it to mPackages if there isn't already a package in the collection and then throw
// an exception to use the application already installed on the /data partition.
synchronized (mPackages) {
if (!mPackages.containsKey(pkg.packageName)) {
mPackages.put(pkg.packageName, pkg);
}
}
throw new PackageManagerException(Log.WARN, "Package " + pkg.packageName + " at "
+ pkg.codePath + " ignored: updated version " + pkgSetting.versionCode
+ " better than this " + pkg.getLongVersionCode());