diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt index e1f0418a3..acb5a6c27 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsScreen.kt @@ -37,6 +37,7 @@ import org.isoron.uhabits.activities.common.dialogs.NumberDialog import org.isoron.uhabits.activities.habits.edit.HabitTypeDialog import org.isoron.uhabits.activities.habits.list.views.HabitCardListAdapter import org.isoron.uhabits.core.commands.ArchiveHabitsCommand +import org.isoron.uhabits.core.commands.BlockSkippedDayCommand import org.isoron.uhabits.core.commands.ChangeHabitColorCommand import org.isoron.uhabits.core.commands.Command import org.isoron.uhabits.core.commands.CommandRunner @@ -321,6 +322,9 @@ class ListHabitsScreen command.selected.size ) } + is BlockSkippedDayCommand -> { + return activity.resources.getString(R.string.toast_day_auto_skip) + } else -> return null } } diff --git a/uhabits-android/src/main/res/values/strings.xml b/uhabits-android/src/main/res/values/strings.xml index 5f632e03c..2af199da9 100644 --- a/uhabits-android/src/main/res/values/strings.xml +++ b/uhabits-android/src/main/res/values/strings.xml @@ -48,6 +48,7 @@ Habit unarchived Habits unarchived + Day regularly skipped Overview Habit strength diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/commands/BlockSkippedDayCommand.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/commands/BlockSkippedDayCommand.kt new file mode 100644 index 000000000..50e5ae66f --- /dev/null +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/commands/BlockSkippedDayCommand.kt @@ -0,0 +1,5 @@ +package org.isoron.uhabits.core.commands + +class BlockSkippedDayCommand : Command { + override fun run() {} +} diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.kt index 703a8cf0a..a06dd9d04 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/ui/screens/habits/list/ListHabitsBehavior.kt @@ -18,6 +18,7 @@ */ package org.isoron.uhabits.core.ui.screens.habits.list +import org.isoron.uhabits.core.commands.BlockSkippedDayCommand import org.isoron.uhabits.core.commands.CommandRunner import org.isoron.uhabits.core.commands.CreateRepetitionCommand import org.isoron.uhabits.core.models.Entry @@ -54,7 +55,10 @@ open class ListHabitsBehavior @Inject constructor( fun onEdit(habit: Habit, timestamp: Timestamp?) { val entry = habit.computedEntries.get(timestamp!!) - if (habit.skipDays.isDaySkipped(timestamp)) return + if (habit.skipDays.isDaySkipped(timestamp)) { + commandRunner.run(BlockSkippedDayCommand()) + return + } if (habit.type == HabitType.NUMERICAL) { val oldValue = entry.value.toDouble() / 1000 screen.showNumberPopup(oldValue, entry.notes) { newValue: Double, newNotes: String, x: Float, y: Float ->