Support secondary user for PackageManagerShellCommandMultiUserTest#testPackageFullyRemovedBroadcastAfterUninstall
- The test can run under non-user 0 env (auto) and it will fail
as the primary user broadcast is using the current user context.
- Change it so that all broadcast request uses per user contex so
that it can work for test running for user 0 and non-user 0.
Bug: 234014686
Test: atest android.content.pm.cts.PackageManagerShellCommandMultiUserTest
for phone, secondary user should be created and switched into secondary user
to reproduce the broadcast issue.
Change-Id: Ib384ece19d47e2f2723ed0942f3bf77bd73df29d
diff --git a/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt b/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt
index cf9dde0..155cf74 100644
--- a/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt
+++ b/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt
@@ -237,18 +237,18 @@
val intentFilter = IntentFilter()
intentFilter.addAction(Intent.ACTION_PACKAGE_FULLY_REMOVED)
intentFilter.addDataScheme("package")
- context.registerReceiver(
- broadcastReceiverForPrimaryUser,
- intentFilter,
- null,
- backgroundHandler,
- RECEIVER_EXPORTED
- )
uiAutomation.adoptShellPermissionIdentity(
Manifest.permission.INTERACT_ACROSS_USERS,
Manifest.permission.INTERACT_ACROSS_USERS_FULL
)
try {
+ context.createContextAsUser(primaryUser.userHandle(), 0).registerReceiver(
+ broadcastReceiverForPrimaryUser,
+ intentFilter,
+ null,
+ backgroundHandler,
+ RECEIVER_EXPORTED
+ )
context.createContextAsUser(secondaryUser.userHandle(), 0).registerReceiver(
broadcastReceiverForSecondaryUser,
intentFilter,