@Test @Config(minSdk = JELLY_BEAN_MR1) public void sendBroadcastAsUser_sendBroadcast() throws IntentSender.SendIntentException { String action = "foo-action"; Intent intent = new Intent(action); context.sendBroadcastAsUser(intent, Process.myUserHandle()); assertThat(shadowOf(context).getBroadcastIntents().get(0).getAction()).isEqualTo(action); }
@Test public void startIntentSender_broadcastIntent() throws IntentSender.SendIntentException { PendingIntent intent = PendingIntent.getBroadcast( context, 0, new Intent().setClassName(context, "BroadcastIntent"), PendingIntent.FLAG_UPDATE_CURRENT); context.startIntentSender(intent.getIntentSender(), null, 0, 0, 0); assertThat(shadowOf(context).getBroadcastIntents().get(0).getComponent().getClassName()) .isEqualTo("BroadcastIntent"); }
@Test public void broadcasts_shouldBeLogged() { Intent broadcastIntent = new Intent("foo"); context.sendBroadcast(broadcastIntent); List<Intent> broadcastIntents = shadowOf(context).getBroadcastIntents(); assertThat(broadcastIntents).hasSize(1); assertThat(broadcastIntents.get(0)).isEqualTo(broadcastIntent); }
@Test @Config(minSdk = Build.VERSION_CODES.P) public void testTriggerRegisteredAppUsageObserver_shouldSendIntentAndRemoveObserver() { PendingIntent pendingIntent1 = PendingIntent.getBroadcast(context, 0, new Intent("ACTION1"), 0); usageStatsManager.registerAppUsageObserver( 12, new String[] {"com.package1", "com.package2"}, 123L, TimeUnit.MINUTES, pendingIntent1); PendingIntent pendingIntent2 = PendingIntent.getBroadcast(context, 0, new Intent("ACTION2"), 0); usageStatsManager.registerAppUsageObserver( 24, new String[] {"com.package3"}, 456L, TimeUnit.SECONDS, pendingIntent2); shadowOf(usageStatsManager).triggerRegisteredAppUsageObserver(24, 500000L); List<Intent> broadcastIntents = shadowOf(context).getBroadcastIntents(); assertThat(broadcastIntents).hasSize(1); Intent broadcastIntent = broadcastIntents.get(0); assertThat(broadcastIntent.getAction()).isEqualTo("ACTION2"); assertThat(broadcastIntent.getIntExtra(UsageStatsManager.EXTRA_OBSERVER_ID, 0)).isEqualTo(24); assertThat(broadcastIntent.getLongExtra(UsageStatsManager.EXTRA_TIME_LIMIT, 0)) .isEqualTo(456000L); assertThat(broadcastIntent.getLongExtra(UsageStatsManager.EXTRA_TIME_USED, 0)) .isEqualTo(500000L); assertThat(shadowOf(usageStatsManager).getRegisteredAppUsageObservers()) .containsExactly( new AppUsageObserver( 12, ImmutableList.of("com.package1", "com.package2"), 123L, TimeUnit.MINUTES, pendingIntent1)); }
public List<Intent> getBroadcastIntents() { return ShadowApplication.getInstance().getBroadcastIntents(); }
public List<Intent> getBroadcastIntents() { return ShadowApplication.getInstance().getBroadcastIntents(); }
public List<Intent> getBroadcastIntents() { return ShadowApplication.getInstance().getBroadcastIntents(); }
private Intent getLastBroadcastIntent() { List<Intent> broadcastIntents = ShadowApplication.getInstance().getBroadcastIntents(); int count = broadcastIntents.size(); if (count > 0) { return broadcastIntents.get(count - 1); } else { return null; } } }