diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 60737bf77c488..949dcb254d21e 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -2081,7 +2081,14 @@ public class PackageInstallerSession extends IPackageInstallerSession.Stub { mRelinquished = true; - return mPm.new VerificationParams(user, stageDir, localObserver, params, + // TODO(b/169375643): Remove this workaround once b/161121612 is fixed. + PackageInstaller.SessionParams copiedParams = params.copy(); + if (params.isStaged) { + // This is called by the pre-reboot verification. Don't enable rollback here since + // it has been enabled when pre-reboot verification starts. + copiedParams.installFlags &= ~PackageManager.INSTALL_ENABLE_ROLLBACK; + } + return mPm.new VerificationParams(user, stageDir, localObserver, copiedParams, mInstallSource, mInstallerUid, mSigningDetails, sessionId); }