diff --git a/services/core/java/com/android/server/pm/PackageHandler.java b/services/core/java/com/android/server/pm/PackageHandler.java index 93a119c36f3d3..7f7a23419dda6 100644 --- a/services/core/java/com/android/server/pm/PackageHandler.java +++ b/services/core/java/com/android/server/pm/PackageHandler.java @@ -291,8 +291,8 @@ final class PackageHandler extends Handler { rollbackTimeoutIntent.putExtra( PackageManagerInternal.EXTRA_ENABLE_ROLLBACK_SESSION_ID, sessionId); - rollbackTimeoutIntent.addFlags( - Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); + rollbackTimeoutIntent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT + | Intent.FLAG_RECEIVER_FOREGROUND); mPm.mContext.sendBroadcastAsUser(rollbackTimeoutIntent, UserHandle.SYSTEM, android.Manifest.permission.PACKAGE_ROLLBACK_AGENT); } diff --git a/services/core/java/com/android/server/pm/VerifyingSession.java b/services/core/java/com/android/server/pm/VerifyingSession.java index a54f52619f357..8ec6241cce072 100644 --- a/services/core/java/com/android/server/pm/VerifyingSession.java +++ b/services/core/java/com/android/server/pm/VerifyingSession.java @@ -233,7 +233,8 @@ final class VerifyingSession { PackageManagerInternal.EXTRA_ENABLE_ROLLBACK_SESSION_ID, mSessionId); enableRollbackIntent.setType(PACKAGE_MIME_TYPE); - enableRollbackIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + enableRollbackIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION + | Intent.FLAG_RECEIVER_FOREGROUND); // Allow the broadcast to be sent before boot complete. // This is needed when committing the apk part of a staged diff --git a/tests/RollbackTest/Android.bp b/tests/RollbackTest/Android.bp index f2234fb64108b..21007ef1396fb 100644 --- a/tests/RollbackTest/Android.bp +++ b/tests/RollbackTest/Android.bp @@ -74,6 +74,7 @@ java_test_host { ], test_suites: ["general-tests"], test_config: "MultiUserRollbackTest.xml", + data : [":RollbackTest"], } java_library_host {