From a7ae100f2b660f886af87563bf976b569d642e95 Mon Sep 17 00:00:00 2001 From: Hafiz Date: Tue, 9 Aug 2022 18:29:35 -0400 Subject: [PATCH] Fix default dailies filter Default dailies filter options remain selected/unselected after returning from task --- .../tasks/TaskRecyclerViewFragment.kt | 44 ++++++++++--------- .../habitica/ui/viewmodels/TasksViewModel.kt | 1 + 2 files changed, 25 insertions(+), 20 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 45fa41cc9..eeee0b8e3 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 @@ -321,6 +321,8 @@ open class TaskRecyclerViewFragment : BaseFragment viewModel.setActiveFilter( - TaskType.TODO, - Task.FILTER_ACTIVE - ) - TaskType.DAILY -> { - if (it.isValid && it.preferences?.dailyDueDefaultView == true) { - viewModel.setActiveFilter(TaskType.DAILY, Task.FILTER_ACTIVE) - } - } - else -> {} - } - } - } - } - override fun onResume() { super.onResume() context?.let { recyclerAdapter?.taskDisplayMode = configManager.taskDisplayMode(it) } @@ -496,6 +478,28 @@ open class TaskRecyclerViewFragment : BaseFragment viewModel.setActiveFilter( + TaskType.TODO, + Task.FILTER_ACTIVE + ) + TaskType.DAILY -> { + if (!viewModel.initialPreferenceFilterSet) { + viewModel.initialPreferenceFilterSet = true + if (it.isValid && it.preferences?.dailyDueDefaultView == true) { + viewModel.setActiveFilter(TaskType.DAILY, Task.FILTER_ACTIVE) + } + } + } + else -> {} + } + } + } + } + private fun openTaskForm(task: Task) { if (Date().time - (TasksFragment.lastTaskFormOpen?.time ?: 0) < 2000 || !task.isValid || !canEditTasks) { return 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 324575352..a4f3a62c9 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 @@ -49,6 +49,7 @@ class TasksViewModel : BaseViewModel() { val ownerID: MutableLiveData by lazy { MutableLiveData() } + var initialPreferenceFilterSet: Boolean = false val isPersonalBoard: Boolean get() {