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