diff --git a/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt b/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt index ee5d05d81..74a517db2 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/MainActivityViewModel.kt @@ -39,6 +39,7 @@ import org.tasks.filters.CaldavFilter import org.tasks.filters.Filter import org.tasks.filters.FilterProvider import org.tasks.filters.NavigationDrawerSubheader +import org.tasks.filters.SearchFilter import org.tasks.filters.getIcon import org.tasks.preferences.DefaultFilterProvider import org.tasks.preferences.TasksPreferences @@ -114,12 +115,9 @@ class MainActivityViewModel @Inject constructor( ) } updateFilters() - defaultFilterProvider.setLastViewedFilter(filter) - } - - fun closeDrawer() { - _drawerOpen.update { false } - _state.update { it.copy(menuQuery = "") } + if (filter !is SearchFilter) { + defaultFilterProvider.setLastViewedFilter(filter) + } } fun setDrawerState(opened: Boolean) { @@ -238,4 +236,8 @@ class MainActivityViewModel @Inject constructor( } suspend fun getAccount(id: Long) = caldavDao.getAccount(id) + + fun openLastViewedFilter() = viewModelScope.launch { + setFilter(defaultFilterProvider.getLastViewedFilter()) + } } diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt index a806b3f47..deea25ad8 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt @@ -285,7 +285,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL override fun handleOnBackPressed() { if ((mainViewModel.state.value.filter as? SearchFilter)?.query?.isNotBlank() == true) { lifecycleScope.launch { - mainViewModel.resetFilter() + mainViewModel.openLastViewedFilter() } if (search.isActionViewExpanded) { search.collapseActionView() diff --git a/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.kt b/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.kt index 3f0b0b783..f53299f22 100644 --- a/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.kt +++ b/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.kt @@ -56,7 +56,7 @@ class DefaultFilterProvider @Inject constructor( fun setLastViewedFilter(filter: Filter) = setFilterPreference(filter, R.string.p_last_viewed_list) - private suspend fun getLastViewedFilter() = getFilterFromPreference(R.string.p_last_viewed_list) + suspend fun getLastViewedFilter() = getFilterFromPreference(R.string.p_last_viewed_list) suspend fun getDefaultOpenFilter() = getFilterFromPreference(R.string.p_default_open_filter)