@Test public void peekNextScheduledAlarm_shouldReturnNextAlarm() { assertThat(shadowAlarmManager.getNextScheduledAlarm()).isNull(); long now = new Date().getTime(); Intent intent = new Intent(activity, activity.getClass()); PendingIntent pendingIntent = PendingIntent.getActivity(activity, 0, intent, 0); alarmManager.set(AlarmManager.ELAPSED_REALTIME, now, pendingIntent); ShadowAlarmManager.ScheduledAlarm scheduledAlarm = shadowAlarmManager.peekNextScheduledAlarm(); assertThat(shadowAlarmManager.peekNextScheduledAlarm()).isNotNull(); assertScheduledAlarm(now, pendingIntent, scheduledAlarm); }
@Test @Config(minSdk = N) public void cancel_removesMatchingListeners() { Intent intent = new Intent("ACTION!"); PendingIntent pI = PendingIntent.getService(context, 1, intent, 0); OnAlarmListener listener1 = () -> {}; OnAlarmListener listener2 = () -> {}; Handler handler = new Handler(); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 20, "tag", listener1, handler); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 30, "tag", listener2, handler); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 40, pI); assertThat(shadowAlarmManager.getScheduledAlarms()).hasSize(3); alarmManager.cancel(listener1); assertThat(shadowAlarmManager.getScheduledAlarms()).hasSize(2); assertThat(shadowAlarmManager.peekNextScheduledAlarm().onAlarmListener).isEqualTo(listener2); assertThat(shadowAlarmManager.peekNextScheduledAlarm().handler).isEqualTo(handler); }
public void getNextAlarmClockInfo() { assertThat(alarmManager.getNextAlarmClock()).isNull(); assertThat(shadowAlarmManager.peekNextScheduledAlarm()).isNull(); assertThat(next.getTriggerTime()).isEqualTo(1000); assertThat(next.getShowIntent()).isSameAs(show); assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameAs(operation); assertThat(next.getTriggerTime()).isEqualTo(500); assertThat(next.getShowIntent()).isSameAs(show2); assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameAs(operation2); assertThat(next.getTriggerTime()).isEqualTo(1000); assertThat(next.getShowIntent()).isSameAs(show); assertThat(shadowAlarmManager.peekNextScheduledAlarm().operation).isSameAs(operation); assertThat(shadowAlarmManager.peekNextScheduledAlarm()).isNull();