|
|
|
@ -158,7 +158,7 @@ class iCalendar @Inject constructor(
|
|
|
|
caldavTask.vtodo = vtodo
|
|
|
|
caldavTask.vtodo = vtodo
|
|
|
|
caldavTask.etag = eTag
|
|
|
|
caldavTask.etag = eTag
|
|
|
|
caldavTask.lastSync = task.modificationDate
|
|
|
|
caldavTask.lastSync = task.modificationDate
|
|
|
|
caldavTask.remoteParent = remote.getParent()
|
|
|
|
caldavTask.remoteParent = remote.parent
|
|
|
|
caldavTask.order = remote.order
|
|
|
|
caldavTask.order = remote.order
|
|
|
|
if (caldavTask.id == com.todoroo.astrid.data.Task.NO_ID) {
|
|
|
|
if (caldavTask.id == com.todoroo.astrid.data.Task.NO_ID) {
|
|
|
|
caldavTask.id = caldavDao.insert(caldavTask)
|
|
|
|
caldavTask.id = caldavDao.insert(caldavTask)
|
|
|
|
@ -225,14 +225,10 @@ class iCalendar @Inject constructor(
|
|
|
|
return null
|
|
|
|
return null
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private fun Task.getParents(): List<RelatedTo> = relatedTo.filter(IS_PARENT)
|
|
|
|
var Task.parent: String?
|
|
|
|
|
|
|
|
get() = relatedTo.find(IS_PARENT)?.value
|
|
|
|
fun Task.getParent(): String? {
|
|
|
|
set(value) {
|
|
|
|
return relatedTo.find(IS_PARENT)?.value
|
|
|
|
val parents = relatedTo.filter(IS_PARENT)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fun Task.setParent(value: String?) {
|
|
|
|
|
|
|
|
val parents = getParents()
|
|
|
|
|
|
|
|
when {
|
|
|
|
when {
|
|
|
|
value.isNullOrBlank() -> relatedTo.removeAll(parents)
|
|
|
|
value.isNullOrBlank() -> relatedTo.removeAll(parents)
|
|
|
|
parents.isEmpty() -> relatedTo.add(RelatedTo(value))
|
|
|
|
parents.isEmpty() -> relatedTo.add(RelatedTo(value))
|
|
|
|
@ -359,7 +355,7 @@ class iCalendar @Inject constructor(
|
|
|
|
if (priority < 5) max(1, priority) else 1
|
|
|
|
if (priority < 5) max(1, priority) else 1
|
|
|
|
else -> if (priority > 5) min(9, priority) else 9
|
|
|
|
else -> if (priority > 5) min(9, priority) else 9
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setParent(if (task.parent == 0L) null else caldavTask.remoteParent)
|
|
|
|
parent = if (task.parent == 0L) null else caldavTask.remoteParent
|
|
|
|
order = caldavTask.order
|
|
|
|
order = caldavTask.order
|
|
|
|
collapsed = task.isCollapsed
|
|
|
|
collapsed = task.isCollapsed
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|