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 a8371b515..1a27ff6d8 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskListFragment.kt @@ -134,6 +134,7 @@ import org.tasks.tags.TagPickerActivity import org.tasks.tasklist.DragAndDropRecyclerAdapter import org.tasks.tasklist.SectionedDataSource import org.tasks.tasklist.TaskViewHolder +import org.tasks.tasklist.TasksResults import org.tasks.tasklist.ViewHolderFactory import org.tasks.themes.ColorProvider import org.tasks.themes.TasksTheme @@ -305,7 +306,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.RESUMED) { listViewModel.updateBannerState() listViewModel.state.collect { - if (it.tasks is TaskListViewModel.TasksResults.Results) { + if (it.tasks is TasksResults.Results) { submitList(it.tasks.tasks) if (it.tasks.tasks.isEmpty()) { swipeRefreshLayout.visibility = View.GONE diff --git a/app/src/main/java/org/tasks/compose/edit/SubtaskRow.kt b/app/src/main/java/org/tasks/compose/edit/SubtaskRow.kt index 285de34ca..78c782264 100644 --- a/app/src/main/java/org/tasks/compose/edit/SubtaskRow.kt +++ b/app/src/main/java/org/tasks/compose/edit/SubtaskRow.kt @@ -45,9 +45,9 @@ import org.tasks.data.isHidden import org.tasks.filters.Filter import org.tasks.filters.GtasksFilter import org.tasks.tasklist.SectionedDataSource +import org.tasks.tasklist.TasksResults import org.tasks.tasklist.UiItem import org.tasks.themes.TasksTheme -import org.tasks.ui.TaskListViewModel @Composable fun SubtaskRow( @@ -55,7 +55,7 @@ fun SubtaskRow( filter: Filter?, hasParent: Boolean, desaturate: Boolean, - existingSubtasks: TaskListViewModel.TasksResults, + existingSubtasks: TasksResults, newSubtasks: List, openSubtask: (Task) -> Unit, completeExistingSubtask: (Task, Boolean) -> Unit, @@ -92,7 +92,7 @@ fun SubtaskRow( ) } else { Spacer(modifier = Modifier.height(height = 8.dp)) - if (existingSubtasks is TaskListViewModel.TasksResults.Results) { + if (existingSubtasks is TasksResults.Results) { existingSubtasks .tasks .filterIsInstance() @@ -245,7 +245,7 @@ fun NoSubtasks() { filter = null, hasParent = false, desaturate = true, - existingSubtasks = TaskListViewModel.TasksResults.Results(SectionedDataSource()), + existingSubtasks = TasksResults.Results(SectionedDataSource()), newSubtasks = emptyList(), openSubtask = {}, completeExistingSubtask = { _, _ -> }, @@ -267,7 +267,7 @@ fun SubtasksPreview() { filter = null, hasParent = false, desaturate = true, - existingSubtasks = TaskListViewModel.TasksResults.Results( + existingSubtasks = TasksResults.Results( SectionedDataSource( tasks = listOf( TaskContainer( diff --git a/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt b/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt index 918d5c889..be10af7cc 100644 --- a/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt +++ b/app/src/main/java/org/tasks/ui/SubtaskControlSet.kt @@ -22,6 +22,7 @@ import org.tasks.data.entity.Task import org.tasks.filters.SubtaskFilter import org.tasks.preferences.Preferences import org.tasks.tasklist.SectionedDataSource +import org.tasks.tasklist.TasksResults import org.tasks.themes.ColorProvider import org.tasks.themes.TasksTheme import org.tasks.time.DateTimeUtils2.currentTimeMillis @@ -59,7 +60,7 @@ class SubtaskControlSet : TaskEditControlFragment() { hasParent = viewModel.hasParent, desaturate = preferences.desaturateDarkMode, existingSubtasks = if (viewModel.isNew) { - TaskListViewModel.TasksResults.Results(SectionedDataSource()) + TasksResults.Results(SectionedDataSource()) } else { listViewModel.state.collectAsStateWithLifecycle().value.tasks }, diff --git a/app/src/main/java/org/tasks/ui/TaskListViewModel.kt b/app/src/main/java/org/tasks/ui/TaskListViewModel.kt index f819068f4..f4feb2fc7 100644 --- a/app/src/main/java/org/tasks/ui/TaskListViewModel.kt +++ b/app/src/main/java/org/tasks/ui/TaskListViewModel.kt @@ -40,6 +40,7 @@ import org.tasks.filters.SearchFilter import org.tasks.preferences.Preferences import org.tasks.preferences.QueryPreferences import org.tasks.tasklist.SectionedDataSource +import org.tasks.tasklist.TasksResults import org.tasks.time.DateTimeUtils2.currentTimeMillis import javax.inject.Inject @@ -56,10 +57,6 @@ class TaskListViewModel @Inject constructor( private val firebase: Firebase, ) : ViewModel() { - sealed interface TasksResults { - data object Loading : TasksResults - data class Results(val tasks: SectionedDataSource) : TasksResults - } data class State( val filter: Filter = EmptyFilter(), diff --git a/kmp/src/commonMain/kotlin/org/tasks/tasklist/TasksResults.kt b/kmp/src/commonMain/kotlin/org/tasks/tasklist/TasksResults.kt new file mode 100644 index 000000000..dae3eee7f --- /dev/null +++ b/kmp/src/commonMain/kotlin/org/tasks/tasklist/TasksResults.kt @@ -0,0 +1,6 @@ +package org.tasks.tasklist + +sealed interface TasksResults { + data object Loading : TasksResults + data class Results(val tasks: SectionedDataSource) : TasksResults +}