commit | 0a9b851293c8b558f6c060fa80b1c9d54cf940b8 | [log] [tgz] |
---|---|---|
author | Beverly <beverlyt@google.com> | Wed Feb 20 12:29:58 2019 -0800 |
committer | android-build-merger <android-build-merger@google.com> | Wed Feb 20 12:29:58 2019 -0800 |
tree | fb61a746869cfa9fcc22e40968da6cda54f654ab | |
parent | 1eaff3f103c4aba07a8f2b29f6d88c1bc909a538 [diff] | |
parent | 2ab75b2b2e8671f789acf95b8499e7ff3c2c2b89 [diff] |
Merge "Override old alarms in zen schedule" into pi-dev am: 2ab75b2b2e Change-Id: I8db691e85b738d2d7821de715e124c1e3ce3b913
diff --git a/core/java/android/service/notification/ScheduleCalendar.java b/core/java/android/service/notification/ScheduleCalendar.java index 8b7946c..6ed966e 100644 --- a/core/java/android/service/notification/ScheduleCalendar.java +++ b/core/java/android/service/notification/ScheduleCalendar.java
@@ -70,10 +70,10 @@ } // only allow alarms in the future if (nextAlarm > now) { - // store earliest alarm - if (mSchedule.nextAlarm == 0) { + if (mSchedule.nextAlarm == 0 || mSchedule.nextAlarm < now) { mSchedule.nextAlarm = nextAlarm; } else { + // store earliest alarm mSchedule.nextAlarm = Math.min(mSchedule.nextAlarm, nextAlarm); } } else if (mSchedule.nextAlarm < now) {
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ScheduleCalendarTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ScheduleCalendarTest.java index 96ac935..110e3fe 100644 --- a/services/tests/uiservicestests/src/com/android/server/notification/ScheduleCalendarTest.java +++ b/services/tests/uiservicestests/src/com/android/server/notification/ScheduleCalendarTest.java
@@ -333,6 +333,17 @@ } @Test + public void testMaybeSetNextAlarm_expiredOldAlarm() { + mScheduleInfo.exitAtAlarm = true; + mScheduleInfo.nextAlarm = 998; + mScheduleCalendar.setSchedule(mScheduleInfo); + + mScheduleCalendar.maybeSetNextAlarm(1000, 1001); + + assertEquals(1001, mScheduleInfo.nextAlarm); + } + + @Test @FlakyTest public void testIsInSchedule_inScheduleOvernight() { Calendar cal = new GregorianCalendar();