diff options
author | TreeHugger Robot <treehugger-gerrit@google.com> | 2019-02-20 20:09:39 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2019-02-20 20:09:39 +0000 |
commit | 2ab75b2b2e8671f789acf95b8499e7ff3c2c2b89 (patch) | |
tree | e70bc355d91b1ef55f72979c01ae60df1107dac4 | |
parent | b4b64ad6025a6ac714f3358baf32fee36950c232 (diff) | |
parent | 7ee646771b9031c29b1b850494a914f4ab929a25 (diff) | |
download | base-2ab75b2b2e8671f789acf95b8499e7ff3c2c2b89.tar.gz |
Merge "Override old alarms in zen schedule" into pi-dev
-rw-r--r-- | core/java/android/service/notification/ScheduleCalendar.java | 4 | ||||
-rw-r--r-- | services/tests/uiservicestests/src/com/android/server/notification/ScheduleCalendarTest.java | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/core/java/android/service/notification/ScheduleCalendar.java b/core/java/android/service/notification/ScheduleCalendar.java index 8b7946ce7651..6ed966e0bbbd 100644 --- a/core/java/android/service/notification/ScheduleCalendar.java +++ b/core/java/android/service/notification/ScheduleCalendar.java @@ -70,10 +70,10 @@ public class ScheduleCalendar { } // 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 942a07acbf9f..b8a8274e6375 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 @@ public class ScheduleCalendarTest extends UiServiceTestCase { } @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(); |