diff --git a/services/core/java/com/android/server/notification/ScheduleCalendar.java b/services/core/java/com/android/server/notification/ScheduleCalendar.java index 9267d8229e169..22ca7024dd5b8 100644 --- a/services/core/java/com/android/server/notification/ScheduleCalendar.java +++ b/services/core/java/com/android/server/notification/ScheduleCalendar.java @@ -58,11 +58,7 @@ public class ScheduleCalendar { final long nextEnd = getNextTime(now, mSchedule.endHour, mSchedule.endMinute); long nextScheduleTime = Math.min(nextStart, nextEnd); - if (mSchedule.exitAtAlarm && mSchedule.nextAlarm > now) { - return Math.min(nextScheduleTime, mSchedule.nextAlarm); - } else { - return nextScheduleTime; - } + return nextScheduleTime; } private long getNextTime(long now, int hr, int min) { @@ -124,4 +120,4 @@ public class ScheduleCalendar { mCalendar.add(Calendar.DATE, days); return mCalendar.getTimeInMillis(); } -} \ No newline at end of file +} diff --git a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java index e3dcf1401f3ac..81975443bf50d 100644 --- a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java +++ b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java @@ -43,8 +43,8 @@ import java.util.TimeZone; * Built-in zen condition provider for daily scheduled time-based conditions. */ public class ScheduleConditionProvider extends SystemConditionProviderService { - private static final String TAG = "ConditionProviders.SCP"; - private static final boolean DEBUG = true || Log.isLoggable("ConditionProviders", Log.DEBUG); + static final String TAG = "ConditionProviders.SCP"; + static final boolean DEBUG = true || Log.isLoggable("ConditionProviders", Log.DEBUG); public static final ComponentName COMPONENT = new ComponentName("android", ScheduleConditionProvider.class.getName()); @@ -154,6 +154,9 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { cal.maybeSetNextAlarm(now, nextUserAlarmTime); } else { notifyCondition(conditionId, Condition.STATE_FALSE, "!meetsSchedule"); + if (nextUserAlarmTime == 0) { + cal.maybeSetNextAlarm(now, nextUserAlarmTime); + } } if (cal != null) { final long nextChangeTime = cal.getNextChangeTime(now);