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

Commit 35b525ec authored by Joanne Chung's avatar Joanne Chung Committed by Android (Google) Code Review
Browse files

Merge "Move freezer start after reconcile." into main

parents c5549c35 92049431
Loading
Loading
Loading
Loading
+23 −6
Original line number Diff line number Diff line
@@ -1049,6 +1049,18 @@ final class InstallPackageHelper {
                } finally {
                    Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
                }
                if (Flags.improveInstallFreeze()) {
                    // Postpone freezer until after reconcile
                    for (ReconciledPackage reconciledPkg : reconciledPackages) {
                        InstallRequest installRequest = reconciledPkg.mInstallRequest;
                        String packageName = installRequest.getParsedPackage().getPackageName();
                        PackageFreezer freezer = freezePackageForInstall(packageName,
                                UserHandle.USER_ALL, installRequest.getInstallFlags(),
                                "installPackageLI", ApplicationExitInfo.REASON_PACKAGE_UPDATED,
                                installRequest);
                        installRequest.setFreezer(freezer);
                    }
                }
                try {
                    Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "commitPackages");
                    commitPackagesLocked(reconciledPackages, mPm.mUserManager.getUserIds());
@@ -1613,9 +1625,12 @@ final class InstallPackageHelper {
            parsedPackage.setBaseApkPath(request.getApexInfo().modulePath);
        }

        final PackageFreezer freezer =
                freezePackageForInstall(pkgName, UserHandle.USER_ALL, installFlags,
        PackageFreezer freezer = null;
        if (!Flags.improveInstallFreeze()) {
            freezer = freezePackageForInstall(pkgName, UserHandle.USER_ALL, installFlags,
                    "installPackageLI", ApplicationExitInfo.REASON_PACKAGE_UPDATED, request);
        }


        boolean shouldCloseFreezerBeforeReturn = true;
        try {
@@ -1865,12 +1880,14 @@ final class InstallPackageHelper {
                    oldPackageState, parsedPackage, archivedPackage,
                    replace /* clearCodeCache */, sysPkg, ps, disabledPs);
        } finally {
            if (freezer != null) {
                request.setFreezer(freezer);
                if (shouldCloseFreezerBeforeReturn) {
                    freezer.close();
                }
            }
        }
    }

    /**
     * Rename package into final resting place. All paths on the given