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

Commit 8c0289cc authored by Mohammad Samiul Islam's avatar Mohammad Samiul Islam Committed by Android (Google) Code Review
Browse files

Merge "Revert "Re-seal the sessions on reboot.""

parents d76ee521 63672962
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -402,10 +402,10 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
        } finally {
            IoUtils.closeQuietly(fis);
        }
        // Re-sealing the sealed sessions.
        // After all of the sessions were loaded, they are ready to be sealed and validated
        for (int i = 0; i < mSessions.size(); ++i) {
            PackageInstallerSession session = mSessions.valueAt(i);
            session.sealIfNecessary();
            session.sealAndValidateIfNecessary();
        }
    }

+8 −4
Original line number Diff line number Diff line
@@ -1360,13 +1360,15 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
    }

    /**
     * If session should be sealed, then it's sealed to prevent further modification.
     * If the session can't be sealed then it's destroyed.
     * If session should be sealed, then it's sealed to prevent further modification
     * and then it's validated.
     *
     * If the session was sealed but something went wrong then it's destroyed.
     *
     * <p> This is meant to be called after all of the sessions are loaded and added to
     * PackageInstallerService
     */
    void sealIfNecessary() {
    void sealAndValidateIfNecessary() {
        synchronized (mLock) {
            if (!mShouldBeSealed || isStagedAndInTerminalState()) {
                return;
@@ -1375,7 +1377,9 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub {
        List<PackageInstallerSession> childSessions = getChildSessions();
        synchronized (mLock) {
            try {
                sealLocked(childSessions);
                sealAndValidateLocked(childSessions);
            } catch (StreamingException e) {
                Slog.e(TAG, "Streaming failed", e);
            } catch (PackageManagerException e) {
                Slog.e(TAG, "Package not valid", e);
            }