Move companion object to bottom of file

pull/1295/head
Alex Baker 5 years ago
parent 1b7a7e502f
commit aece05d7e7

@ -36,73 +36,6 @@ class iCalendar @Inject constructor(
private val taskDao: TaskDao, private val taskDao: TaskDao,
private val caldavDao: CaldavDao) { private val caldavDao: CaldavDao) {
companion object {
const val APPLE_SORT_ORDER = "X-APPLE-SORT-ORDER"
private val IS_PARENT = { r: RelatedTo ->
r.parameters.getParameter<RelType>(Parameter.RELTYPE).let {
it === RelType.PARENT || it == null || it.value.isNullOrBlank()
}
}
private val IS_APPLE_SORT_ORDER = { x: Property? ->
x?.name.equals(APPLE_SORT_ORDER, true)
}
fun fromVtodo(vtodo: String): Task? {
try {
val tasks = tasksFromReader(StringReader(vtodo))
if (tasks.size == 1) {
return tasks[0]
}
} catch (e: Exception) {
Timber.e(e)
}
return null
}
private fun Task.getParents(): List<RelatedTo> = relatedTo.filter(IS_PARENT)
fun Task.getParent(): String? {
return relatedTo.find(IS_PARENT)?.value
}
fun Task.setParent(value: String?) {
val parents = getParents()
when {
value.isNullOrBlank() -> relatedTo.removeAll(parents)
parents.isEmpty() -> relatedTo.add(RelatedTo(value))
else -> {
if (parents.size > 1) {
relatedTo.removeAll(parents.drop(1))
}
parents[0].let {
it.value = value
it.parameters.replace(RelType.PARENT)
}
}
}
}
var Task.order: Long?
get() = unknownProperties
.find { it.name?.equals(APPLE_SORT_ORDER, true) == true }
.let { it?.value?.toLongOrNull() }
set(order) {
if (order == null) {
unknownProperties.removeAll(unknownProperties.filter(IS_APPLE_SORT_ORDER))
} else {
val existingOrder = unknownProperties
.find { it.name?.equals(APPLE_SORT_ORDER, true) == true }
if (existingOrder != null) {
existingOrder.value = order.toString()
} else {
unknownProperties.add(XProperty(APPLE_SORT_ORDER, order.toString()))
}
}
}
}
suspend fun setPlace(taskId: Long, geo: Geo?) { suspend fun setPlace(taskId: Long, geo: Geo?) {
if (geo == null) { if (geo == null) {
locationDao.getActiveGeofences(taskId).forEach { locationDao.getActiveGeofences(taskId).forEach {
@ -212,4 +145,71 @@ class iCalendar @Inject constructor(
Timber.d("UPDATE %s", caldavTask) Timber.d("UPDATE %s", caldavTask)
} }
} }
companion object {
const val APPLE_SORT_ORDER = "X-APPLE-SORT-ORDER"
private val IS_PARENT = { r: RelatedTo ->
r.parameters.getParameter<RelType>(Parameter.RELTYPE).let {
it === RelType.PARENT || it == null || it.value.isNullOrBlank()
}
}
private val IS_APPLE_SORT_ORDER = { x: Property? ->
x?.name.equals(APPLE_SORT_ORDER, true)
}
fun fromVtodo(vtodo: String): Task? {
try {
val tasks = tasksFromReader(StringReader(vtodo))
if (tasks.size == 1) {
return tasks[0]
}
} catch (e: Exception) {
Timber.e(e)
}
return null
}
private fun Task.getParents(): List<RelatedTo> = relatedTo.filter(IS_PARENT)
fun Task.getParent(): String? {
return relatedTo.find(IS_PARENT)?.value
}
fun Task.setParent(value: String?) {
val parents = getParents()
when {
value.isNullOrBlank() -> relatedTo.removeAll(parents)
parents.isEmpty() -> relatedTo.add(RelatedTo(value))
else -> {
if (parents.size > 1) {
relatedTo.removeAll(parents.drop(1))
}
parents[0].let {
it.value = value
it.parameters.replace(RelType.PARENT)
}
}
}
}
var Task.order: Long?
get() = unknownProperties
.find { it.name?.equals(APPLE_SORT_ORDER, true) == true }
.let { it?.value?.toLongOrNull() }
set(order) {
if (order == null) {
unknownProperties.removeAll(unknownProperties.filter(IS_APPLE_SORT_ORDER))
} else {
val existingOrder = unknownProperties
.find { it.name?.equals(APPLE_SORT_ORDER, true) == true }
if (existingOrder != null) {
existingOrder.value = order.toString()
} else {
unknownProperties.add(XProperty(APPLE_SORT_ORDER, order.toString()))
}
}
}
}
} }
Loading…
Cancel
Save