diff --git a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt index e05bb48db..3427bce26 100644 --- a/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt +++ b/android/uhabits-android/src/main/java/org/isoron/uhabits/widgets/WidgetUpdater.kt @@ -64,7 +64,7 @@ class WidgetUpdater } fun scheduleStartDayWidgetUpdate() { - val timestamp = DateUtils.getStartOfTomorrow() + val timestamp = DateUtils.getStartOfTomorrowWithOffset() intentScheduler.scheduleWidgetUpdate(timestamp); } diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/DateUtils.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/DateUtils.java index 487fa5cf9..7d4abb242 100644 --- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/DateUtils.java +++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/DateUtils.java @@ -202,19 +202,19 @@ public abstract class DateUtils return getStartOfDay(getLocalTime()); } - public static long getStartOfTomorrow() + public static long getStartOfTomorrowWithOffset() { return getUpcomingTimeInMillis(startDayHourOffset, startDayMinuteOffset); } - + public static long getStartOfTodayWithOffset() { return getStartOfDayWithOffset(getLocalTime()); } - public static long millisecondsUntilTomorrow() + public static long millisecondsUntilTomorrowWithOffset() { - return getStartOfTomorrow() - getLocalTime(); + return getStartOfTomorrowWithOffset() - getLocalTime(); } public static GregorianCalendar getStartOfTodayCalendar() diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java index 8d3a89480..0beee5cd8 100644 --- a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java +++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/utils/MidnightTimer.java @@ -56,7 +56,7 @@ public class MidnightTimer { executor = Executors.newSingleThreadScheduledExecutor(); executor.scheduleAtFixedRate(() -> notifyListeners(), - DateUtils.millisecondsUntilTomorrow() + 1000, + DateUtils.millisecondsUntilTomorrowWithOffset() + 1000, DateUtils.DAY_LENGTH, TimeUnit.MILLISECONDS); } diff --git a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/utils/DateUtilsTest.java b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/utils/DateUtilsTest.java index 66739448d..ad7898ffb 100644 --- a/android/uhabits-core/src/test/java/org/isoron/uhabits/core/utils/DateUtilsTest.java +++ b/android/uhabits-core/src/test/java/org/isoron/uhabits/core/utils/DateUtilsTest.java @@ -166,17 +166,17 @@ public class DateUtilsTest extends BaseUnitTest DateUtils.setFixedTimeZone(TimeZone.getTimeZone("GMT")); DateUtils.setFixedLocalTime(unixTime(2017, JANUARY, 1, 23, 59)); - assertThat(DateUtils.millisecondsUntilTomorrow(), equalTo(MINUTE_LENGTH)); + assertThat(DateUtils.millisecondsUntilTomorrowWithOffset(), equalTo(MINUTE_LENGTH)); DateUtils.setFixedLocalTime(unixTime(2017, JANUARY, 1, 20, 0)); - assertThat(DateUtils.millisecondsUntilTomorrow(), equalTo(4 * HOUR_LENGTH)); + assertThat(DateUtils.millisecondsUntilTomorrowWithOffset(), equalTo(4 * HOUR_LENGTH)); DateUtils.setStartDayOffset(3, 30); DateUtils.setFixedLocalTime(unixTime(2017, JANUARY, 1, 23, 59)); - assertThat(DateUtils.millisecondsUntilTomorrow(), equalTo(3 * HOUR_LENGTH + 31 * MINUTE_LENGTH)); + assertThat(DateUtils.millisecondsUntilTomorrowWithOffset(), equalTo(3 * HOUR_LENGTH + 31 * MINUTE_LENGTH)); DateUtils.setFixedLocalTime(unixTime(2017, JANUARY, 2, 1, 0)); - assertThat(DateUtils.millisecondsUntilTomorrow(), equalTo(2 * HOUR_LENGTH + 30 * MINUTE_LENGTH)); + assertThat(DateUtils.millisecondsUntilTomorrowWithOffset(), equalTo(2 * HOUR_LENGTH + 30 * MINUTE_LENGTH)); } @Test