Merge "Pass Uri in SliceBroadcastRelay" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-05-11 22:05:36 +00:00
committed by Android (Google) Code Review
2 changed files with 4 additions and 0 deletions

View File

@@ -87,9 +87,11 @@ public class SliceBroadcastRelayHandler extends SystemUI {
private final ArraySet<ComponentName> 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);
}

View File

@@ -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));