From d8826bcb2b7f1d8046d5ce95df059cc2559e9f82 Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Mon, 29 Sep 2014 15:39:04 -0400 Subject: [PATCH] Zen: Fix downtime calculation for Sunday mornings. Previous calculation would always exit downtime on Sunday mornings, due to the target day ending up at zero (an invalid day). Bug:17682999 Change-Id: Icc5f01a42c3c644170eea9e60442cf77ce15a06c --- .../android/server/notification/DowntimeConditionProvider.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/notification/DowntimeConditionProvider.java b/services/core/java/com/android/server/notification/DowntimeConditionProvider.java index b71bad89a386e..efe47c34108d1 100644 --- a/services/core/java/com/android/server/notification/DowntimeConditionProvider.java +++ b/services/core/java/com/android/server/notification/DowntimeConditionProvider.java @@ -193,7 +193,8 @@ public class DowntimeConditionProvider extends ConditionProviderService { } private boolean isInDowntime(int daysOffset, long time, long start, long end) { - final int day = ((getDayOfWeek(time) + daysOffset - 1) % Calendar.SATURDAY) + 1; + final int n = Calendar.SATURDAY; + final int day = ((getDayOfWeek(time) - 1) + (daysOffset % n) + n) % n + 1; start = addDays(start, daysOffset); end = addDays(end, daysOffset); return mDays.contains(day) && time >= start && time < end;