Remove manual sort adapters

remove_adapters
Alex Baker 7 months ago
parent d43639556e
commit b34c89eeec

@ -43,7 +43,7 @@ class CaldavManualSortTaskAdapterTest : InjectingTestCase() {
@Inject lateinit var localBroadcastManager: LocalBroadcastManager
@Inject lateinit var taskMover: TaskMover
private lateinit var adapter: CaldavManualSortTaskAdapter
private lateinit var adapter: TaskAdapter
private val tasks = ArrayList<TaskContainer>()
private val filter = CaldavFilter(CaldavCalendar(name = "calendar", uuid = "1234"))
private val dataSource = object : TaskAdapterDataSource {
@ -58,7 +58,7 @@ class CaldavManualSortTaskAdapterTest : InjectingTestCase() {
preferences.clear()
preferences.setBoolean(R.string.p_manual_sort, true)
tasks.clear()
adapter = CaldavManualSortTaskAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
adapter.setDataSource(dataSource)
}

@ -40,7 +40,7 @@ class GoogleTaskManualSortAdapterTest : InjectingTestCase() {
@Inject lateinit var localBroadcastManager: LocalBroadcastManager
@Inject lateinit var taskMover: TaskMover
private lateinit var adapter: GoogleTaskManualSortAdapter
private lateinit var adapter: TaskAdapter
private val tasks = ArrayList<TaskContainer>()
private val filter = GtasksFilter(newCaldavCalendar(with(CaldavCalendarMaker.UUID, "1234")))
private val dataSource = object : TaskAdapterDataSource {
@ -417,7 +417,7 @@ class GoogleTaskManualSortAdapterTest : InjectingTestCase() {
preferences.clear()
preferences.setBoolean(R.string.p_manual_sort, true)
tasks.clear()
adapter = GoogleTaskManualSortAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
adapter = TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
adapter.setDataSource(dataSource)
}

@ -1,20 +0,0 @@
package com.todoroo.astrid.adapter
import com.todoroo.astrid.dao.TaskDao
import com.todoroo.astrid.service.TaskMover
import org.tasks.LocalBroadcastManager
import org.tasks.data.CaldavDao
import org.tasks.data.GoogleTaskDao
class CaldavManualSortTaskAdapter internal constructor(
googleTaskDao: GoogleTaskDao,
caldavDao: CaldavDao,
taskDao: TaskDao,
localBroadcastManager: LocalBroadcastManager,
taskMover: TaskMover,
) : TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover) {
override suspend fun moved(from: Int, to: Int, indent: Int) {
moveCaldavTask(from, to, indent)
}
}

@ -1,20 +0,0 @@
package com.todoroo.astrid.adapter
import com.todoroo.astrid.dao.TaskDao
import com.todoroo.astrid.service.TaskMover
import org.tasks.LocalBroadcastManager
import org.tasks.data.CaldavDao
import org.tasks.data.GoogleTaskDao
class GoogleTaskManualSortAdapter internal constructor(
googleTaskDao: GoogleTaskDao,
caldavDao: CaldavDao,
taskDao: TaskDao,
localBroadcastManager: LocalBroadcastManager,
taskMover: TaskMover,
) : TaskAdapter(false, googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover) {
override suspend fun moved(from: Int, to: Int, indent: Int) {
moveGoogleTask(from, to, indent)
}
}

@ -137,30 +137,38 @@ open class TaskAdapter(
open suspend fun moved(from: Int, to: Int, indent: Int) {
val task = getTask(from)
val newParent = findParent(indent, to)
if ((newParent?.id ?: 0) == task.parent) {
if (indent == 0) {
changeSortGroup(task, if (from < to) to - 1 else to)
} else if (dataSource.subtaskSortMode == SORT_MANUAL) {
if (task.isGoogleTask) {
moveGoogleTask(from, to, indent)
} else {
moveCaldavTask(from, to, indent)
}
if (dataSource.sortMode == SORT_MANUAL) {
if (task.isGoogleTask) {
moveGoogleTask(from, to, indent)
} else {
moveCaldavTask(from, to, indent)
}
return
} else if (newParent != null) {
if (task.caldav != newParent.caldav) {
caldavDao.markDeleted(listOf(task.id))
} else {
val newParent = findParent(indent, to)
if ((newParent?.id ?: 0) == task.parent) {
if (indent == 0) {
changeSortGroup(task, if (from < to) to - 1 else to)
} else if (dataSource.subtaskSortMode == SORT_MANUAL) {
if (task.isGoogleTask) {
moveGoogleTask(from, to, indent)
} else {
moveCaldavTask(from, to, indent)
}
}
return
} else if (newParent != null) {
if (task.caldav != newParent.caldav) {
caldavDao.markDeleted(listOf(task.id))
}
}
}
when {
newParent == null -> {
moveToTopLevel(task)
changeSortGroup(task, if (from < to) to - 1 else to)
when {
newParent == null -> {
moveToTopLevel(task)
changeSortGroup(task, if (from < to) to - 1 else to)
}
newParent.isGoogleTask -> changeGoogleTaskParent(task, newParent)
newParent.isCaldavTask() -> changeCaldavParent(task, newParent)
}
newParent.isGoogleTask -> changeGoogleTaskParent(task, newParent)
newParent.isCaldavTask() -> changeCaldavParent(task, newParent)
}
}

@ -1,9 +1,7 @@
package com.todoroo.astrid.adapter
import android.content.Context
import com.todoroo.astrid.api.CaldavFilter
import com.todoroo.astrid.api.Filter
import com.todoroo.astrid.api.GtasksFilter
import com.todoroo.astrid.api.TagFilter
import com.todoroo.astrid.core.BuiltInFilterExposer
import com.todoroo.astrid.dao.TaskDao
@ -44,13 +42,14 @@ class TaskAdapterProvider @Inject constructor(
}
}
}
if (filter.supportsManualSort() && preferences.isManualSort) {
when (filter) {
is GtasksFilter -> return GoogleTaskManualSortAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
is CaldavFilter -> return CaldavManualSortTaskAdapter(googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
}
}
return TaskAdapter(preferences.addTasksToTop(), googleTaskDao, caldavDao, taskDao, localBroadcastManager, taskMover)
return TaskAdapter(
newTasksOnTop = if (filter.supportsManualSort() && preferences.isManualSort) false else preferences.addTasksToTop(),
googleTaskDao = googleTaskDao,
caldavDao = caldavDao,
taskDao = taskDao,
localBroadcastManager = localBroadcastManager,
taskMover = taskMover
)
}
private fun createManualTagTaskAdapter(filter: TagFilter): TaskAdapter = runBlocking {

Loading…
Cancel
Save