From 7fe3ce970c42015305cb007b826d9e4d117cfdc5 Mon Sep 17 00:00:00 2001 From: Quentin Hibon Date: Wed, 4 Aug 2021 17:41:14 +0200 Subject: [PATCH] Hide failed habits along with completed ones --- .../java/org/isoron/uhabits/core/models/Habit.kt | 13 +++++++++++++ .../org/isoron/uhabits/core/models/HabitMatcher.kt | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/Habit.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/Habit.kt index d25e7b310..2d354e7b8 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/Habit.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/Habit.kt @@ -68,6 +68,19 @@ data class Habit( } } + fun isFailedToday(): Boolean { + val today = DateUtils.getTodayWithOffset() + val value = computedEntries.get(today).value + return if (isNumerical) { + when (targetType) { + NumericalHabitType.AT_LEAST -> value / 1000.0 < targetValue + NumericalHabitType.AT_MOST -> value / 1000.0 > targetValue + } + } else { + value == Entry.NO + } + } + fun recompute() { computedEntries.recomputeFrom( originalEntries = originalEntries, diff --git a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt index b57e55ef0..f26e00006 100644 --- a/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt +++ b/uhabits-core/src/jvmMain/java/org/isoron/uhabits/core/models/HabitMatcher.kt @@ -26,7 +26,7 @@ data class HabitMatcher( fun matches(habit: Habit): Boolean { if (!isArchivedAllowed && habit.isArchived) return false if (isReminderRequired && !habit.hasReminder()) return false - if (!isCompletedAllowed && habit.isCompletedToday()) return false + if (!isCompletedAllowed && (habit.isCompletedToday() || habit.isFailedToday())) return false return true }