Merge "Fix crash loop due to broken packages.xml around updated-package" am: d4a9d9d275

am: efc6b1dccd

Change-Id: If4ba3d59929f33634e1d95080d94dd9645342e3e
This commit is contained in:
Shigeki Yokomichi
2019-11-01 13:41:14 -07:00
committed by android-build-merger

View File

@@ -9350,6 +9350,16 @@ public class PackageManagerService extends IPackageManager.Stub
pkgSetting = originalPkgSetting == null ? installedPkgSetting : originalPkgSetting; pkgSetting = originalPkgSetting == null ? installedPkgSetting : originalPkgSetting;
pkgAlreadyExists = pkgSetting != null; pkgAlreadyExists = pkgSetting != null;
final String disabledPkgName = pkgAlreadyExists ? pkgSetting.name : pkg.packageName; final String disabledPkgName = pkgAlreadyExists ? pkgSetting.name : pkg.packageName;
if (scanSystemPartition && !pkgAlreadyExists
&& mSettings.getDisabledSystemPkgLPr(disabledPkgName) != null) {
// The updated-package data for /system apk remains inconsistently
// after the package data for /data apk is lost accidentally.
// To recover it, enable /system apk and install it as non-updated system app.
Slog.w(TAG, "Inconsistent package setting of updated system app for "
+ disabledPkgName + ". To recover it, enable the system app"
+ "and install it as non-updated system app.");
mSettings.removeDisabledSystemPackageLPw(disabledPkgName);
}
disabledPkgSetting = mSettings.getDisabledSystemPkgLPr(disabledPkgName); disabledPkgSetting = mSettings.getDisabledSystemPkgLPr(disabledPkgName);
isSystemPkgUpdated = disabledPkgSetting != null; isSystemPkgUpdated = disabledPkgSetting != null;