diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java index 2a189c0ebb0cd..6f9a1da171316 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerSession.java +++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java @@ -2080,7 +2080,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); }