update the event importId and source after creating and syncing with caldav
This commit is contained in:
parent
f4c28d26f0
commit
77a6a0fa9d
|
@ -337,7 +337,7 @@ fun Context.fetchCalDAVCalendarEvents(calendarId: Long, eventTypeId: Int) {
|
|||
}
|
||||
}
|
||||
|
||||
fun Context.addCalDAVEvent(event: Event, calendarId: Int) {
|
||||
fun Context.addCalDAVEvent(event: Event, calendarId: Long) {
|
||||
val durationMinutes = (event.endTS - event.startTS) / 1000 / 60
|
||||
val uri = CalendarContract.Events.CONTENT_URI
|
||||
val values = ContentValues().apply {
|
||||
|
@ -356,7 +356,11 @@ fun Context.addCalDAVEvent(event: Event, calendarId: Int) {
|
|||
}
|
||||
}
|
||||
|
||||
contentResolver.insert(uri, values)
|
||||
val newUri = contentResolver.insert(uri, values)
|
||||
val eventRemoteID = java.lang.Long.parseLong(newUri.lastPathSegment)
|
||||
|
||||
val importId = getCalDAVEventImportId(calendarId, eventRemoteID)
|
||||
dbHelper.updateEventImportIdAndSource(event.id, importId, "$CALDAV-$calendarId")
|
||||
}
|
||||
|
||||
fun Context.getCalDAVEventReminders(eventId: Long): List<Int> {
|
||||
|
|
|
@ -417,6 +417,16 @@ class DBHelper private constructor(val context: Context) : SQLiteOpenHelper(cont
|
|||
mDb.update(MAIN_TABLE_NAME, values, selection, selectionArgs)
|
||||
}
|
||||
|
||||
fun updateEventImportIdAndSource(eventId: Int, importId: String, source: String) {
|
||||
val values = ContentValues()
|
||||
values.put(COL_IMPORT_ID, importId)
|
||||
values.put(COL_EVENT_SOURCE, source)
|
||||
|
||||
val selection = "$MAIN_TABLE_NAME.$COL_ID = ?"
|
||||
val selectionArgs = arrayOf(eventId.toString())
|
||||
mDb.update(MAIN_TABLE_NAME, values, selection, selectionArgs)
|
||||
}
|
||||
|
||||
fun getImportIds(): ArrayList<String> {
|
||||
val ids = ArrayList<String>()
|
||||
val columns = arrayOf(COL_IMPORT_ID)
|
||||
|
|
|
@ -38,7 +38,7 @@ class IcsExporter {
|
|||
}
|
||||
|
||||
out.writeLn("$STATUS$CONFIRMED")
|
||||
Parser().getShortRepeatInterval(event).let { if (it.isNotEmpty()) out.writeLn(it) }
|
||||
Parser().getShortRepeatInterval(event).let { if (it.isNotEmpty()) out.writeLn("$RRULE$it") }
|
||||
|
||||
fillReminders(event, out)
|
||||
fillIgnoredOccurrences(event, out)
|
||||
|
|
|
@ -105,7 +105,7 @@ class Parser {
|
|||
val interval = getInterval(repeatInterval)
|
||||
val repeatLimit = getRepeatLimitString(event)
|
||||
val byDay = getByDay(event)
|
||||
return "$RRULE$FREQ=$freq;$INTERVAL=$interval$repeatLimit$byDay"
|
||||
return "$FREQ=$freq;$INTERVAL=$interval$repeatLimit$byDay"
|
||||
}
|
||||
|
||||
private fun getFreq(interval: Int): String {
|
||||
|
|
Loading…
Reference in New Issue