mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-04-14 19:56:32 +00:00
Persists todo task filter preferences for each task type
Saves the active to-do task filter to shared preferences, restoring the selected filter when the user returns.
This commit is contained in:
parent
49e1f2f9d1
commit
5139f74efa
2 changed files with 13 additions and 7 deletions
|
|
@ -580,11 +580,12 @@ open class TaskRecyclerViewFragment :
|
|||
viewModel.userViewModel.user.observeOnce(this) {
|
||||
if (it != null) {
|
||||
when (taskType) {
|
||||
TaskType.TODO ->
|
||||
TaskType.TODO -> {
|
||||
viewModel.setActiveFilter(
|
||||
TaskType.TODO,
|
||||
Task.FILTER_ACTIVE
|
||||
viewModel.getTaskFilterPreference(TaskType.TODO)
|
||||
)
|
||||
}
|
||||
|
||||
TaskType.DAILY -> {
|
||||
if (!viewModel.initialPreferenceFilterSet) {
|
||||
|
|
|
|||
|
|
@ -199,11 +199,8 @@ constructor(
|
|||
if (activeFilters[type] == null) {
|
||||
return false
|
||||
}
|
||||
return if (TaskType.TODO == type) {
|
||||
Task.FILTER_ACTIVE != activeFilters[type]
|
||||
} else {
|
||||
Task.FILTER_ALL != activeFilters[type]
|
||||
}
|
||||
|
||||
return Task.FILTER_ALL != activeFilters[type]
|
||||
}
|
||||
|
||||
fun filter(tasks: List<Task>): List<Task> {
|
||||
|
|
@ -259,6 +256,8 @@ constructor(
|
|||
activeFilters[type] = activeFilter
|
||||
filterSets[type]?.value = Triple(searchQuery, activeFilter, tags)
|
||||
|
||||
sharedPreferences.edit { putString("filter_${type.value}", activeFilter) }
|
||||
|
||||
if (activeFilters[TaskType.TODO] == Task.FILTER_COMPLETED) {
|
||||
viewModelScope.launchCatching {
|
||||
taskRepository.retrieveCompletedTodos()
|
||||
|
|
@ -283,6 +282,12 @@ constructor(
|
|||
}
|
||||
}
|
||||
|
||||
fun getTaskFilterPreference(
|
||||
type: TaskType
|
||||
): String {
|
||||
return sharedPreferences.getString("filter_${type.value}", Task.FILTER_ALL) ?: Task.FILTER_ALL
|
||||
}
|
||||
|
||||
fun createQuery(unfilteredData: OrderedRealmCollection<Task>): RealmQuery<Task>? {
|
||||
if (!unfilteredData.isValid) {
|
||||
return null
|
||||
|
|
|
|||
Loading…
Reference in a new issue