From 01962c62c4a4b0535521b26ca18826ae37a6efd4 Mon Sep 17 00:00:00 2001 From: kholoud mohamed Date: Thu, 31 Mar 2022 14:38:16 +0100 Subject: [PATCH] send broadcast to explicit role holder component names Bug: 220876709 Test: atest android.devicepolicy.cts.DevicePolicyManagementRoleHolderTest Change-Id: I02489f83db0e3385c68648950f221bc1c04b143e --- .../server/devicepolicy/DevicePolicyManagerService.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index 2b64be283b368..62447c071c635 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -13354,8 +13354,12 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { if (receivers.isEmpty()) { return; } - packageIntent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND); - mContext.sendBroadcastAsUser(packageIntent, userHandle); + for (ResolveInfo receiver : receivers) { + final Intent componentIntent = new Intent(packageIntent) + .setComponent(receiver.getComponentInfo().getComponentName()) + .addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND); + mContext.sendBroadcastAsUser(componentIntent, userHandle); + } } catch (RemoteException ex) { Slogf.w(LOG_TAG, "Cannot get list of broadcast receivers for %s because: %s.", intent.getAction(), ex);