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();}
+}