Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 419325de authored by Shigeki Yokomichi's avatar Shigeki Yokomichi Committed by android-build-merger
Browse files

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

Merge "Fix crash loop due to broken packages.xml around updated-package" am: d4a9d9d2 am: efc6b1dc
am: 424f1879

Change-Id: I6df4f638363ee959e570bc60ca01b55063cdd7af
parents b5626a8c 424f1879
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -8663,6 +8663,16 @@ public class PackageManagerService extends IPackageManager.Stub
            pkgSetting = originalPkgSetting == null ? installedPkgSetting : originalPkgSetting;
            pkgAlreadyExists = pkgSetting != null;
            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);
            isSystemPkgUpdated = disabledPkgSetting != null;