From a998a62cdbe639c7cfed6ba47f683b8fa6d6b3a2 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sun, 11 Sep 2016 11:35:32 -0400 Subject: [PATCH] Remove notification when habit is deleted --- .../uhabits/commands/DeleteHabitsCommand.java | 17 +++++++++------ .../notifications/NotificationTray.java | 21 +++++++++++++------ 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/isoron/uhabits/commands/DeleteHabitsCommand.java b/app/src/main/java/org/isoron/uhabits/commands/DeleteHabitsCommand.java index b4da2c671..ca184d8bf 100644 --- a/app/src/main/java/org/isoron/uhabits/commands/DeleteHabitsCommand.java +++ b/app/src/main/java/org/isoron/uhabits/commands/DeleteHabitsCommand.java @@ -42,20 +42,19 @@ public class DeleteHabitsCommand extends Command @Override public void execute() { - for(Habit h : habits) + for (Habit h : habits) habitList.remove(h); } @Override - public void undo() + public Integer getExecuteStringId() { - throw new UnsupportedOperationException(); + return R.string.toast_habit_deleted; } - @Override - public Integer getExecuteStringId() + public List getHabits() { - return R.string.toast_habit_deleted; + return new LinkedList<>(habits); } @Override @@ -63,4 +62,10 @@ public class DeleteHabitsCommand extends Command { return R.string.toast_habit_restored; } + + @Override + public void undo() + { + throw new UnsupportedOperationException(); + } } diff --git a/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java b/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java index 9ad698e51..03fed27e5 100644 --- a/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java +++ b/app/src/main/java/org/isoron/uhabits/notifications/NotificationTray.java @@ -88,14 +88,23 @@ public class NotificationTray public void onCommandExecuted(@NonNull Command command, @Nullable Long refreshKey) { - if (!(command instanceof ToggleRepetitionCommand)) return; + if (command instanceof ToggleRepetitionCommand) + { + ToggleRepetitionCommand toggleCmd = + (ToggleRepetitionCommand) command; - ToggleRepetitionCommand toggleCommand = - (ToggleRepetitionCommand) command; + Habit habit = toggleCmd.getHabit(); + if (habit.getCheckmarks().getTodayValue() != Checkmark.UNCHECKED) + cancel(habit); + } - Habit habit = toggleCommand.getHabit(); - if (habit.getCheckmarks().getTodayValue() != Checkmark.UNCHECKED) - cancel(habit); + if (command instanceof DeleteHabitsCommand) + { + DeleteHabitsCommand deleteCommand = (DeleteHabitsCommand) command; + List deleted = deleteCommand.getHabits(); + for(Habit habit : deleted) + cancel(habit); + } } @Override