mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-17 04:10:45 +01:00
properly export events repeating multiple days a week
This commit is contained in:
parent
5d17be541c
commit
4f136afae1
@ -82,6 +82,7 @@ val RRULE = "RRULE:"
|
|||||||
val CATEGORIES = "CATEGORIES:"
|
val CATEGORIES = "CATEGORIES:"
|
||||||
val STATUS = "STATUS:"
|
val STATUS = "STATUS:"
|
||||||
val EXDATE = "EXDATE"
|
val EXDATE = "EXDATE"
|
||||||
|
val BYDAY = "BYDAY"
|
||||||
|
|
||||||
val DISPLAY = "DISPLAY"
|
val DISPLAY = "DISPLAY"
|
||||||
val FREQ = "FREQ"
|
val FREQ = "FREQ"
|
||||||
@ -96,3 +97,11 @@ val DAILY = "DAILY"
|
|||||||
val WEEKLY = "WEEKLY"
|
val WEEKLY = "WEEKLY"
|
||||||
val MONTHLY = "MONTHLY"
|
val MONTHLY = "MONTHLY"
|
||||||
val YEARLY = "YEARLY"
|
val YEARLY = "YEARLY"
|
||||||
|
|
||||||
|
val MO = "MO"
|
||||||
|
val TU = "TU"
|
||||||
|
val WE = "WE"
|
||||||
|
val TH = "TH"
|
||||||
|
val FR = "FR"
|
||||||
|
val SA = "SA"
|
||||||
|
val SU = "SU"
|
||||||
|
@ -64,7 +64,8 @@ class IcsExporter {
|
|||||||
val freq = getFreq(repeatInterval)
|
val freq = getFreq(repeatInterval)
|
||||||
val interval = getInterval(repeatInterval)
|
val interval = getInterval(repeatInterval)
|
||||||
val repeatLimit = getRepeatLimitString(event)
|
val repeatLimit = getRepeatLimitString(event)
|
||||||
val rrule = "$RRULE$FREQ=$freq;$INTERVAL=$interval$repeatLimit"
|
val byDay = getByDay(event)
|
||||||
|
val rrule = "$RRULE$FREQ=$freq;$INTERVAL=$interval$repeatLimit$byDay"
|
||||||
out.writeLn(rrule)
|
out.writeLn(rrule)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,6 +98,34 @@ class IcsExporter {
|
|||||||
";$UNTIL=${Formatter.getDayCodeFromTS(event.repeatLimit)}"
|
";$UNTIL=${Formatter.getDayCodeFromTS(event.repeatLimit)}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getByDay(event: Event): String {
|
||||||
|
return if (event.repeatInterval != WEEK) {
|
||||||
|
""
|
||||||
|
} else {
|
||||||
|
val days = getByDayString(event.repeatRule)
|
||||||
|
";$BYDAY=$days"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getByDayString(rule: Int): String {
|
||||||
|
var result = ""
|
||||||
|
if (rule and MONDAY != 0)
|
||||||
|
result += "$MO,"
|
||||||
|
if (rule and TUESDAY != 0)
|
||||||
|
result += "$TU,"
|
||||||
|
if (rule and WEDNESDAY != 0)
|
||||||
|
result += "$WE,"
|
||||||
|
if (rule and THURSDAY != 0)
|
||||||
|
result += "$TH,"
|
||||||
|
if (rule and FRIDAY != 0)
|
||||||
|
result += "$FR,"
|
||||||
|
if (rule and SATURDAY != 0)
|
||||||
|
result += "$SA,"
|
||||||
|
if (rule and SUNDAY != 0)
|
||||||
|
result += "$SU,"
|
||||||
|
return result.trimEnd(',')
|
||||||
|
}
|
||||||
|
|
||||||
private fun fillReminders(event: Event, out: BufferedWriter) {
|
private fun fillReminders(event: Event, out: BufferedWriter) {
|
||||||
checkReminder(event.reminder1Minutes, out)
|
checkReminder(event.reminder1Minutes, out)
|
||||||
checkReminder(event.reminder2Minutes, out)
|
checkReminder(event.reminder2Minutes, out)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user