fix importing events when the title is Unavailable
This commit is contained in:
parent
3b440abf34
commit
b02f055d6a
|
@ -73,7 +73,7 @@ val END_ALARM = "END:VALARM"
|
||||||
val DTSTART = "DTSTART"
|
val DTSTART = "DTSTART"
|
||||||
val DTEND = "DTEND"
|
val DTEND = "DTEND"
|
||||||
val DURATION = "DURATION:"
|
val DURATION = "DURATION:"
|
||||||
val SUMMARY = "SUMMARY:"
|
val SUMMARY = "SUMMARY"
|
||||||
val DESCRIPTION = "DESCRIPTION:"
|
val DESCRIPTION = "DESCRIPTION:"
|
||||||
val UID = "UID:"
|
val UID = "UID:"
|
||||||
val ACTION = "ACTION:"
|
val ACTION = "ACTION:"
|
||||||
|
|
|
@ -22,7 +22,7 @@ class IcsExporter {
|
||||||
for (event in events) {
|
for (event in events) {
|
||||||
out.writeLn(BEGIN_EVENT)
|
out.writeLn(BEGIN_EVENT)
|
||||||
|
|
||||||
event.title.let { if (it.isNotEmpty()) out.writeLn("$SUMMARY$it") }
|
event.title.let { if (it.isNotEmpty()) out.writeLn("$SUMMARY:$it") }
|
||||||
event.description.let { if (it.isNotEmpty()) out.writeLn("$DESCRIPTION$it") }
|
event.description.let { if (it.isNotEmpty()) out.writeLn("$DESCRIPTION$it") }
|
||||||
event.importId?.let { if (it.isNotEmpty()) out.writeLn("$UID$it") }
|
event.importId?.let { if (it.isNotEmpty()) out.writeLn("$UID$it") }
|
||||||
event.eventType.let { out.writeLn("$CATEGORIES${context.dbHelper.getEventType(it)?.title}") }
|
event.eventType.let { out.writeLn("$CATEGORIES${context.dbHelper.getEventType(it)?.title}") }
|
||||||
|
|
|
@ -62,7 +62,7 @@ class IcsImporter {
|
||||||
curEnd = curStart + decodeTime(duration)
|
curEnd = curStart + decodeTime(duration)
|
||||||
} else if (line.startsWith(SUMMARY) && !isNotificationDescription) {
|
} else if (line.startsWith(SUMMARY) && !isNotificationDescription) {
|
||||||
curTitle = line.substring(SUMMARY.length)
|
curTitle = line.substring(SUMMARY.length)
|
||||||
curTitle = curTitle.substring(0, Math.min(curTitle.length, 50))
|
curTitle = getTitle(curTitle)
|
||||||
} else if (line.startsWith(DESCRIPTION) && !isNotificationDescription) {
|
} else if (line.startsWith(DESCRIPTION) && !isNotificationDescription) {
|
||||||
curDescription = line.substring(DESCRIPTION.length)
|
curDescription = line.substring(DESCRIPTION.length)
|
||||||
} else if (line.startsWith(UID)) {
|
} else if (line.startsWith(UID)) {
|
||||||
|
@ -156,6 +156,14 @@ class IcsImporter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getTitle(title: String): String {
|
||||||
|
return if (title.startsWith(";") && title.contains(":")) {
|
||||||
|
title.substring(title.lastIndexOf(':') + 1)
|
||||||
|
} else {
|
||||||
|
title.substring(1, Math.min(title.length, 50))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// P0DT1H0M0S
|
// P0DT1H0M0S
|
||||||
private fun decodeTime(duration: String): Int {
|
private fun decodeTime(duration: String): Int {
|
||||||
val weeks = getDurationValue(duration, "W")
|
val weeks = getDurationValue(duration, "W")
|
||||||
|
|
Loading…
Reference in New Issue