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

Commit 6aafdb62 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Move doPostInsstall to InstallPackageHelper" into main

parents 458bdffa c85be9b6
Loading
Loading
Loading
Loading
+28 −1
Original line number Diff line number Diff line
@@ -1021,7 +1021,7 @@ final class InstallPackageHelper {
     *
     * Failure at any phase will result in a full failure to install all packages.
     */
    void installPackagesTraced(List<InstallRequest> requests) {
    void installPackagesTraced(List<InstallRequest> requests, MoveInfo moveInfo) {
        Trace.traceBegin(TRACE_TAG_PACKAGE_MANAGER, "installPackages");
        boolean success = false;
        final Map<String, Boolean> createdAppId = new ArrayMap<>(requests.size());
@@ -1049,10 +1049,37 @@ final class InstallPackageHelper {
        } finally {
            completeInstallProcess(requests, createdAppId, success);
            Trace.traceEnd(TRACE_TAG_PACKAGE_MANAGER);
            doPostInstall(requests, moveInfo);
            releaseWakeLock(acquireTime, requests.size());
        }
    }

    private void doPostInstall(List<InstallRequest> requests, MoveInfo moveInfo) {
        for (InstallRequest request : requests) {
            doPostInstallCleanUp(request, moveInfo);
        }

        for (InstallRequest request : requests) {
            restoreAndPostInstall(request);
        }
    }

    private void doPostInstallCleanUp(InstallRequest request, MoveInfo moveInfo) {
        if (moveInfo != null) {
            if (request.getReturnCode() == PackageManager.INSTALL_SUCCEEDED) {
                mRemovePackageHelper.cleanUpForMoveInstall(moveInfo.mFromUuid,
                        moveInfo.mPackageName, moveInfo.mFromCodePath);
            } else {
                mRemovePackageHelper.cleanUpForMoveInstall(moveInfo.mToUuid,
                        moveInfo.mPackageName, moveInfo.mFromCodePath);
            }
        } else {
            if (request.getReturnCode() != PackageManager.INSTALL_SUCCEEDED) {
                mRemovePackageHelper.removeCodePath(request.getCodeFile());
            }
        }
    }

    private long acquireWakeLock(int count) {
        if (!mPm.isSystemReady()) {
            return -1;
+2 −22
Original line number Diff line number Diff line
@@ -550,31 +550,11 @@ class InstallingSession {
                    cleanUpForFailedInstall(request);
                }
            }
        } else {
            mPm.installPackagesTraced(installRequests);

            for (InstallRequest request : installRequests) {
                doPostInstall(request);
            }
        }
            for (InstallRequest request : installRequests) {
                mPm.restoreAndPostInstall(request);
            }
    }

    private void doPostInstall(InstallRequest request) {
        if (mMoveInfo != null) {
            if (request.getReturnCode() == PackageManager.INSTALL_SUCCEEDED) {
                mPm.cleanUpForMoveInstall(mMoveInfo.mFromUuid,
                        mMoveInfo.mPackageName, mMoveInfo.mFromCodePath);
            } else {
                mPm.cleanUpForMoveInstall(mMoveInfo.mToUuid,
                        mMoveInfo.mPackageName, mMoveInfo.mFromCodePath);
            }
        } else {
            if (request.getReturnCode() != PackageManager.INSTALL_SUCCEEDED) {
                mPm.removeCodePath(request.getCodeFile());
            }
            mPm.installPackagesTraced(installRequests, mMoveInfo);
        }
    }

+2 −2
Original line number Diff line number Diff line
@@ -8214,8 +8214,8 @@ public class PackageManagerService implements PackageSender, TestUtilityService
        return mInstallPackageHelper.enableCompressedPackage(stubPkg, stubPs);
    }

    void installPackagesTraced(List<InstallRequest> requests) {
        mInstallPackageHelper.installPackagesTraced(requests);
    void installPackagesTraced(List<InstallRequest> requests, MoveInfo moveInfo) {
        mInstallPackageHelper.installPackagesTraced(requests, moveInfo);
    }

    void restoreAndPostInstall(InstallRequest request) {