From ce2a9df78203f66974f4557fb8755b4a45d7e68d Mon Sep 17 00:00:00 2001 From: Hafiz Date: Sat, 21 Jun 2025 13:57:07 -0500 Subject: [PATCH 1/3] Fix to-do's not moving off screen when being checked off Fix to-do's task fragment showing filter active when none were --- .../fragments/tasks/TaskRecyclerViewFragment.kt | 17 ++++++++++++----- .../habitica/ui/viewmodels/TasksViewModel.kt | 9 ++++++--- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt index ef7bf5142..b1724e5f3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.kt @@ -581,12 +581,19 @@ open class TaskRecyclerViewFragment : if (it != null) { when (taskType) { TaskType.TODO -> { - viewModel.setActiveFilter( - TaskType.TODO, - viewModel.getTaskFilterPreference(TaskType.TODO) - ) + // Handle case where a initial filter preference for to-dos were set for FILTER_ALL + if (viewModel.getTaskFilterPreference(TaskType.TODO) == Task.FILTER_ALL) { + viewModel.setActiveFilter( + TaskType.TODO, + Task.FILTER_ACTIVE + ) + } else { + viewModel.setActiveFilter( + TaskType.TODO, + viewModel.getTaskFilterPreference(TaskType.TODO) + ) + } } - TaskType.DAILY -> { if (!viewModel.initialPreferenceFilterSet) { viewModel.initialPreferenceFilterSet = true diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/TasksViewModel.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/TasksViewModel.kt index aec24462b..84d806996 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/TasksViewModel.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/viewmodels/TasksViewModel.kt @@ -199,9 +199,12 @@ constructor( if (activeFilters[type] == null) { return false } - return if (TaskType.TODO == type) { - Task.FILTER_ACTIVE != activeFilters[type] + when(activeFilters[type]) { + Task.FILTER_ACTIVE -> false + Task.FILTER_ALL -> false + else -> true + } } else { Task.FILTER_ALL != activeFilters[type] } @@ -289,7 +292,7 @@ constructor( fun getTaskFilterPreference( type: TaskType ): String { - return sharedPreferences.getString("filter_${type.value}", Task.FILTER_ALL) ?: Task.FILTER_ALL + return sharedPreferences.getString("filter_${type.value}", Task.FILTER_ALL) ?: if (TaskType.TODO == type) Task.FILTER_ACTIVE else Task.FILTER_ALL } fun createQuery(unfilteredData: OrderedRealmCollection): RealmQuery? { From 87a2f147fc6639539affd360fea5af798f74a217 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 23 Jun 2025 16:01:15 +0200 Subject: [PATCH 2/3] bump to 4.7.7 --- version.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.properties b/version.properties index 6c0fbd9d7..80ea4188a 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ -NAME=4.7.6 -CODE=13391 \ No newline at end of file +NAME=4.7.7 +CODE=13591 From 79e6484ca6223f0d7d227efd3139d57e4ed8af60 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Mon, 23 Jun 2025 16:24:10 +0200 Subject: [PATCH 3/3] Version bumped to v4.7.7 --- version.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version.properties b/version.properties index 80ea4188a..be8973155 100644 --- a/version.properties +++ b/version.properties @@ -1,2 +1,2 @@ NAME=4.7.7 -CODE=13591 +CODE=13601 \ No newline at end of file