Pass uuid to TaskAdapter.onCompletedTask

pull/2862/head
Alex Baker 1 month ago
parent c1347a7455
commit c534632c52

@ -907,7 +907,7 @@ class TaskListFragment : Fragment(), OnRefreshListener, Toolbar.OnMenuItemClickL
} }
lifecycleScope.launch { lifecycleScope.launch {
taskCompleter.setComplete(task.task, newState) taskCompleter.setComplete(task.task, newState)
taskAdapter.onCompletedTask(task, newState) taskAdapter.onCompletedTask(task.uuid, newState)
loadTaskListContent() loadTaskListContent()
} }
} }

@ -66,11 +66,10 @@ class AstridTaskAdapter internal constructor(
override suspend fun onTaskDeleted(task: Task) = updater.onDeleteTask(list, filter, task.uuid) override suspend fun onTaskDeleted(task: Task) = updater.onDeleteTask(list, filter, task.uuid)
override suspend fun onCompletedTask(task: TaskContainer, newState: Boolean) { override suspend fun onCompletedTask(uuid: String, newState: Boolean) {
val itemId = task.uuid
val completionDate = if (newState) DateUtilities.now() else 0 val completionDate = if (newState) DateUtilities.now() else 0
if (!newState) { if (!newState) {
val chained = chainedCompletions[itemId] val chained = chainedCompletions[uuid]
if (chained != null) { if (chained != null) {
for (taskId in chained) { for (taskId in chained) {
taskDao.setCompletionDate(taskId, completionDate) taskDao.setCompletionDate(taskId, completionDate)
@ -79,7 +78,7 @@ class AstridTaskAdapter internal constructor(
return return
} }
val chained = ArrayList<String>() val chained = ArrayList<String>()
updater.applyToDescendants(itemId) { node: SubtasksFilterUpdater.Node -> updater.applyToDescendants(uuid) { node: SubtasksFilterUpdater.Node ->
val uuid = node.uuid val uuid = node.uuid
taskDao.setCompletionDate(uuid, completionDate) taskDao.setCompletionDate(uuid, completionDate)
chained.add(node.uuid) chained.add(node.uuid)
@ -90,14 +89,14 @@ class AstridTaskAdapter internal constructor(
var madeChanges = false var madeChanges = false
for (t in tasks) { for (t in tasks) {
if (!isNullOrEmpty(t.recurrence)) { if (!isNullOrEmpty(t.recurrence)) {
updater.moveToParentOf(t.uuid, itemId) updater.moveToParentOf(t.uuid, uuid)
madeChanges = true madeChanges = true
} }
} }
if (madeChanges) { if (madeChanges) {
updater.writeSerialization(list, updater.serializeTree()) updater.writeSerialization(list, updater.serializeTree())
} }
chainedCompletions[itemId] = chained chainedCompletions[uuid] = chained
} }
} }

@ -151,7 +151,7 @@ open class TaskAdapter(
fun getItemUuid(position: Int): String = getTask(position).uuid fun getItemUuid(position: Int): String = getTask(position).uuid
open suspend fun onCompletedTask(task: TaskContainer, newState: Boolean) {} open suspend fun onCompletedTask(uuid: String, newState: Boolean) {}
open suspend fun onTaskCreated(uuid: String) {} open suspend fun onTaskCreated(uuid: String) {}

Loading…
Cancel
Save