diff --git a/packages/SystemUI/src/com/android/systemui/SliceBroadcastRelayHandler.java b/packages/SystemUI/src/com/android/systemui/SliceBroadcastRelayHandler.java index 68f583695596a..922c65e453beb 100644 --- a/packages/SystemUI/src/com/android/systemui/SliceBroadcastRelayHandler.java +++ b/packages/SystemUI/src/com/android/systemui/SliceBroadcastRelayHandler.java @@ -87,9 +87,11 @@ public class SliceBroadcastRelayHandler extends SystemUI { private final ArraySet mReceivers = new ArraySet<>(); private final UserHandle mUserId; + private final Uri mUri; public BroadcastRelay(Uri uri) { mUserId = new UserHandle(ContentProvider.getUserIdFromUri(uri)); + mUri = uri; } public void register(Context context, ComponentName receiver, IntentFilter filter) { @@ -106,6 +108,7 @@ public class SliceBroadcastRelayHandler extends SystemUI { intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); for (ComponentName receiver : mReceivers) { intent.setComponent(receiver); + intent.putExtra(SliceBroadcastRelay.EXTRA_URI, mUri.toString()); if (DEBUG) Log.d(TAG, "Forwarding " + receiver + " " + intent + " " + mUserId); context.sendBroadcastAsUser(intent, mUserId); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/SliceBroadcastRelayHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/SliceBroadcastRelayHandlerTest.java index 4abac56d74553..383db053b1f53 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/SliceBroadcastRelayHandlerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/SliceBroadcastRelayHandlerTest.java @@ -60,6 +60,7 @@ public class SliceBroadcastRelayHandlerTest extends SysuiTestCase { new ComponentName(mContext.getPackageName(), Receiver.class.getName())); IntentFilter value = new IntentFilter(TEST_ACTION); intent.putExtra(SliceBroadcastRelay.EXTRA_FILTER, value); + intent.putExtra(SliceBroadcastRelay.EXTRA_URI, testUri); relayHandler.handleIntent(intent); verify(relayHandler.mContext).registerReceiver(any(), eq(value));