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 084b86005..3eaac0b0f 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt @@ -386,12 +386,12 @@ class TaskListFragment : InjectingFragment(), OnRefreshListener, Toolbar.OnMenuI true } R.id.menu_expand_subtasks -> { - taskDao.setCollapsed(taskListViewModel.value, false) + taskDao.setCollapsed(preferences, filter, false) localBroadcastManager.broadcastRefresh() true } R.id.menu_collapse_subtasks -> { - taskDao.setCollapsed(taskListViewModel.value, true) + taskDao.setCollapsed(preferences, filter, true) localBroadcastManager.broadcastRefresh() true } diff --git a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt index 68654ef79..25439ef86 100644 --- a/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt +++ b/app/src/main/java/com/todoroo/astrid/dao/TaskDao.kt @@ -210,8 +210,11 @@ abstract class TaskDao(private val database: Database) { abstract fun setCollapsed(id: Long, collapsed: Boolean) @Transaction - open fun setCollapsed(tasks: List, collapsed: Boolean) { - DbUtils.batch(tasks.filter(TaskContainer::hasChildren).map(TaskContainer::getId)) { + open fun setCollapsed(preferences: Preferences, filter: Filter, collapsed: Boolean) { + val tasks = fetchTasks(preferences, filter) + .filter(TaskContainer::hasChildren) + .map(TaskContainer::getId) + DbUtils.batch(tasks) { collapse(it, collapsed) } }