private Intent processStickyIntents( IntentFilter filter, BroadcastReceiver receiver, Context context) { Intent result = null; for (Intent stickyIntent : stickyIntents.values()) { if (filter.matchAction(stickyIntent.getAction())) { if (result == null) { result = stickyIntent; } if (receiver != null) { receiver.setPendingResult(ShadowBroadcastPendingResult.createSticky(stickyIntent)); receiver.onReceive(context, stickyIntent); receiver.setPendingResult(null); } else if (result != null) { break; } } } return result; }
@Override public void run() { receiver.setPendingResult(ShadowBroadcastPendingResult.create(0, null, null, false)); shReceiver.onReceive(context, broadcastIntent, abort); } });
@Override public ListenableFuture<BroadcastResultHolder> apply( BroadcastResultHolder broadcastResultHolder) throws Exception { final BroadcastReceiver.PendingResult result = ShadowBroadcastPendingResult.create( broadcastResultHolder.resultCode, broadcastResultHolder.resultData, broadcastResultHolder.resultExtras, true /*ordered */); wrapper.broadcastReceiver.setPendingResult(result); scheduler.post( () -> { ShadowBroadcastReceiver shadowBroadcastReceiver = Shadow.extract(wrapper.broadcastReceiver); shadowBroadcastReceiver.onReceive(context, intent, abort); }); return BroadcastResultHolder.transform(result); } },
@Override public ListenableFuture<BroadcastResultHolder> apply(BroadcastResultHolder broadcastResultHolder) throws Exception { final BroadcastReceiver.PendingResult result = ShadowBroadcastPendingResult.create( broadcastResultHolder.resultCode, broadcastResultHolder.resultData, broadcastResultHolder.resultExtras, true /*ordered */); wrapper.broadcastReceiver.setPendingResult(result); scheduler.post(new Runnable() { @Override public void run() { Shadows.shadowOf(wrapper.broadcastReceiver).onReceive(realApplication, intent, abort); } }); return BroadcastResultHolder.transform(result); }
@Override public ListenableFuture<BroadcastResultHolder> apply(BroadcastResultHolder broadcastResultHolder) throws Exception { final BroadcastReceiver.PendingResult result = ShadowBroadcastPendingResult.create( broadcastResultHolder.resultCode, broadcastResultHolder.resultData, broadcastResultHolder.resultExtras, true /*ordered */); wrapper.broadcastReceiver.setPendingResult(result); scheduler.post(new Runnable() { @Override public void run() { Shadows.shadowOf(wrapper.broadcastReceiver).onReceive(realApplication, intent, abort); } }); return BroadcastResultHolder.transform(result); }
@Override public ListenableFuture<BroadcastResultHolder> apply(BroadcastResultHolder broadcastResultHolder) throws Exception { final BroadcastReceiver.PendingResult result = ShadowBroadcastPendingResult.create( broadcastResultHolder.resultCode, broadcastResultHolder.resultData, broadcastResultHolder.resultExtras, true /*ordered */); wrapper.broadcastReceiver.setPendingResult(result); scheduler.post(new Runnable() { @Override public void run() { Shadows.shadowOf(wrapper.broadcastReceiver).onReceive(realApplication, intent, abort); } }); return BroadcastResultHolder.transform(result); }
private Intent processStickyIntents( IntentFilter filter, BroadcastReceiver receiver, Context context) { Intent result = null; for (Intent stickyIntent : stickyIntents.values()) { if (filter.matchAction(stickyIntent.getAction())) { if (result == null) { result = stickyIntent; } if (receiver != null) { receiver.setPendingResult(ShadowBroadcastPendingResult.createSticky(stickyIntent)); receiver.onReceive(context, stickyIntent); receiver.setPendingResult(null); } else if (result != null) { break; } } } return result; }
@Override public void run() { receiver.setPendingResult(ShadowBroadcastPendingResult.create(0, null, null, false)); shReceiver.onReceive(realApplication, broadcastIntent, abort); } });
@Override public void run() { receiver.setPendingResult(ShadowBroadcastPendingResult.create(0, null, null, false)); shReceiver.onReceive(realApplication, broadcastIntent, abort); } });
@Override public void run() { receiver.setPendingResult(ShadowBroadcastPendingResult.create(0, null, null, false)); shReceiver.onReceive(context, broadcastIntent, abort); } });
@Override public void run() { receiver.setPendingResult(ShadowBroadcastPendingResult.create(0, null, null, false)); shReceiver.onReceive(realApplication, broadcastIntent, abort); } });
@Override public ListenableFuture<BroadcastResultHolder> apply( BroadcastResultHolder broadcastResultHolder) throws Exception { final BroadcastReceiver.PendingResult result = ShadowBroadcastPendingResult.create( broadcastResultHolder.resultCode, broadcastResultHolder.resultData, broadcastResultHolder.resultExtras, true /*ordered */); wrapper.broadcastReceiver.setPendingResult(result); scheduler.post( () -> { ShadowBroadcastReceiver shadowBroadcastReceiver = Shadow.extract(wrapper.broadcastReceiver); shadowBroadcastReceiver.onReceive(context, intent, abort); }); return BroadcastResultHolder.transform(result); } },