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

Commit 19f1e33c authored by Nikita Ioffe's avatar Nikita Ioffe Committed by Android (Google) Code Review
Browse files

Merge "staged sessions: clear INSTALL_ALLOW_DOWNGRADE if pre-reboot session did not have it"

parents 83320756 1962cb15
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -498,10 +498,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
            }
        }

        if (callingUid == Process.SYSTEM_UID) {
        if (Build.IS_DEBUGGABLE || isDowngradeAllowedForCaller(callingUid)) {
            params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE;
        } else {
            params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE;
            params.installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE;
        }

        boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0;
@@ -621,6 +622,11 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
        return sessionId;
    }

    private boolean isDowngradeAllowedForCaller(int callingUid) {
        return callingUid == Process.SYSTEM_UID || callingUid == Process.ROOT_UID
                || callingUid == Process.SHELL_UID;
    }

    @Override
    public void updateSessionAppIcon(int sessionId, Bitmap appIcon) {
        synchronized (mSessions) {