Merge "Override registerReceiver methods in test Context to accept flags" am: 57ff4b4589

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2295653

Change-Id: I655a5a5fc3de312c9ea2c35a4dfc3465bb0687fd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Michael Groover
2022-11-11 15:58:11 +00:00
committed by Automerger Merge Worker

View File

@@ -147,12 +147,39 @@ public class BroadcastInterceptingContext extends ContextWrapper {
@Override @Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) { public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter) {
return registerReceiver(receiver, filter, null, null); return registerReceiver(receiver, filter, null, null, 0);
}
/**
* Registers the specified {@code receiver} to listen for broadcasts that match the {@code
* filter} in the current process.
*
* <p>Since this method only listens for broadcasts in the current process, the provided {@code
* flags} are ignored; this method is primarily intended to allow receivers that register with
* flags to register in the current process during tests.
*/
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter, int flags) {
return registerReceiver(receiver, filter, null, null, flags);
} }
@Override @Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter, public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
String broadcastPermission, Handler scheduler) { String broadcastPermission, Handler scheduler) {
return registerReceiver(receiver, filter, broadcastPermission, scheduler, 0);
}
/**
* Registers the specified {@code receiver} to listen for broadcasts that match the {@code
* filter} to run in the context of the specified {@code scheduler} in the current process.
*
* <p>Since this method only listens for broadcasts in the current process, the provided {@code
* flags} are ignored; this method is primarily intended to allow receivers that register with
* flags to register in the current process during tests.
*/
@Override
public Intent registerReceiver(BroadcastReceiver receiver, IntentFilter filter,
String broadcastPermission, Handler scheduler, int flags) {
synchronized (mInterceptors) { synchronized (mInterceptors) {
mInterceptors.add(new BroadcastInterceptor(receiver, filter, scheduler)); mInterceptors.add(new BroadcastInterceptor(receiver, filter, scheduler));
} }