From d3887e7e1b090ada01760fe401ea3be4d42cb31b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubo=C5=A1=20Lu=C5=88=C3=A1k?= Date: Mon, 25 Sep 2017 15:02:26 +0200 Subject: [PATCH] reschedule just the relevant habit when showing a notification for it And make sure not to schedule it for a possibly snoozed time, as that'd lead to an infinite loop of scheduling it repeatedly for the current time. --- .../java/org/isoron/uhabits/receivers/ReminderController.java | 2 +- .../org/isoron/uhabits/receivers/ReminderControllerTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java b/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java index ec0bca0be..2cf522089 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java +++ b/uhabits-android/src/main/java/org/isoron/uhabits/receivers/ReminderController.java @@ -65,7 +65,7 @@ public class ReminderController long reminderTime) { notificationTray.show(habit, timestamp, reminderTime); - reminderScheduler.scheduleAll(); + reminderScheduler.scheduleHabitAtReminder(habit); } public void onSnooze(@NonNull Habit habit, final Context context) diff --git a/uhabits-android/src/test/java/org/isoron/uhabits/receivers/ReminderControllerTest.java b/uhabits-android/src/test/java/org/isoron/uhabits/receivers/ReminderControllerTest.java index bb6338bd3..26f26a13c 100644 --- a/uhabits-android/src/test/java/org/isoron/uhabits/receivers/ReminderControllerTest.java +++ b/uhabits-android/src/test/java/org/isoron/uhabits/receivers/ReminderControllerTest.java @@ -82,7 +82,7 @@ public class ReminderControllerTest extends BaseAndroidJVMTest Habit habit = mock(Habit.class); controller.onShowReminder(habit, Timestamp.ZERO.plus(100), 456); verify(notificationTray).show(habit, Timestamp.ZERO.plus(100), 456); - verify(reminderScheduler).scheduleAll(); + verify(reminderScheduler).scheduleHabitAtReminder(habit); } @Test