summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-02-20 20:09:39 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-02-20 20:09:39 +0000
commit2ab75b2b2e8671f789acf95b8499e7ff3c2c2b89 (patch)
treee70bc355d91b1ef55f72979c01ae60df1107dac4
parentb4b64ad6025a6ac714f3358baf32fee36950c232 (diff)
parent7ee646771b9031c29b1b850494a914f4ab929a25 (diff)
downloadbase-2ab75b2b2e8671f789acf95b8499e7ff3c2c2b89.tar.gz
Merge "Override old alarms in zen schedule" into pi-dev
-rw-r--r--core/java/android/service/notification/ScheduleCalendar.java4
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/ScheduleCalendarTest.java11
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();