mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-24 06:35:46 +00:00
Fix default dailies filter
Default dailies filter options remain selected/unselected after returning from task
This commit is contained in:
parent
c18e009af2
commit
a7ae100f2b
2 changed files with 25 additions and 20 deletions
|
|
@ -321,6 +321,8 @@ open class TaskRecyclerViewFragment : BaseFragment<FragmentRefreshRecyclerviewBi
|
|||
.doOnNext { recyclerAdapter?.showAdventureGuide = !it.hasCompletedOnboarding }
|
||||
.subscribe({ recyclerAdapter?.user = it }, RxErrorHandler.handleEmptyError())
|
||||
)
|
||||
|
||||
setPreferenceTaskFilters()
|
||||
}
|
||||
|
||||
private fun updateTaskSubscription(ownerID: String?) {
|
||||
|
|
@ -458,26 +460,6 @@ open class TaskRecyclerViewFragment : BaseFragment<FragmentRefreshRecyclerviewBi
|
|||
}
|
||||
}
|
||||
|
||||
override fun onStart() {
|
||||
super.onStart()
|
||||
(activity as? MainActivity)?.viewModel?.user?.observeOnce(this) {
|
||||
if (it != null) {
|
||||
when (taskType) {
|
||||
TaskType.TODO -> 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<FragmentRefreshRecyclerviewBi
|
|||
}
|
||||
}
|
||||
|
||||
private fun setPreferenceTaskFilters() {
|
||||
(activity as? MainActivity)?.viewModel?.user?.observeOnce(this) {
|
||||
if (it != null) {
|
||||
when (taskType) {
|
||||
TaskType.TODO -> 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
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ class TasksViewModel : BaseViewModel() {
|
|||
val ownerID: MutableLiveData<String?> by lazy {
|
||||
MutableLiveData()
|
||||
}
|
||||
var initialPreferenceFilterSet: Boolean = false
|
||||
|
||||
val isPersonalBoard: Boolean
|
||||
get() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue