diff --git a/android/uhabits-android/src/main/res/xml/preferences.xml b/android/uhabits-android/src/main/res/xml/preferences.xml index 7688dcee9..2cef2f84d 100644 --- a/android/uhabits-android/src/main/res/xml/preferences.xml +++ b/android/uhabits-android/src/main/res/xml/preferences.xml @@ -127,6 +127,7 @@ diff --git a/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ResetHabitsCommand.java b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ResetHabitsCommand.java new file mode 100644 index 000000000..cf070c67b --- /dev/null +++ b/android/uhabits-core/src/main/java/org/isoron/uhabits/core/commands/ResetHabitsCommand.java @@ -0,0 +1,45 @@ +package org.isoron.uhabits.core.commands; + +import androidx.annotation.NonNull; + +import org.isoron.uhabits.core.models.Habit; +import org.isoron.uhabits.core.models.HabitList; +import org.isoron.uhabits.core.models.RepetitionList; + +import java.util.Collections; +import java.util.LinkedList; +import java.util.List; + +public class ResetHabitsCommand extends Command +{ + @NonNull + final HabitList habitList; + + @NonNull + final List selected; + + public ResetHabitsCommand(@NonNull HabitList habitList, @NonNull List selected) { + this.habitList = habitList; + this.selected = new LinkedList<>(selected); + } + + @Override + public void execute() + { + for (Habit h : selected) { + RepetitionList repetitionList = h.getRepetitions(); + repetitionList.removeAll(); + } + } + public List getSelected() + { + return Collections.unmodifiableList(selected); + } + + @NonNull + @Override + public Object toRecord() { return null;} + + @Override + public void undo() { throw new UnsupportedOperationException();} +}