fetch event reminders at caldav events
This commit is contained in:
parent
6388a67cc6
commit
21efc99428
|
@ -266,7 +266,7 @@ fun Context.getCalDAVCalendars(ids: String = ""): List<CalDAVCalendar> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Context.fetchCalDAVCalendarEvents(calendarID: Long) {
|
fun Context.fetchCalDAVCalendarEvents(calendarID: Long) {
|
||||||
val eventsUri = CalendarContract.Events.CONTENT_URI
|
val uri = CalendarContract.Events.CONTENT_URI
|
||||||
val projection = arrayOf(
|
val projection = arrayOf(
|
||||||
CalendarContract.Events._ID,
|
CalendarContract.Events._ID,
|
||||||
CalendarContract.Events.TITLE,
|
CalendarContract.Events.TITLE,
|
||||||
|
@ -280,9 +280,10 @@ fun Context.fetchCalDAVCalendarEvents(calendarID: Long) {
|
||||||
|
|
||||||
var cursor: Cursor? = null
|
var cursor: Cursor? = null
|
||||||
try {
|
try {
|
||||||
cursor = contentResolver.query(eventsUri, projection, selection, null, null)
|
cursor = contentResolver.query(uri, projection, selection, null, null)
|
||||||
cursor.moveToFirst()
|
cursor.moveToFirst()
|
||||||
do {
|
do {
|
||||||
|
val id = cursor.getLongValue(CalendarContract.Events._ID)
|
||||||
val title = cursor.getStringValue(CalendarContract.Events.TITLE)
|
val title = cursor.getStringValue(CalendarContract.Events.TITLE)
|
||||||
val description = cursor.getStringValue(CalendarContract.Events.DESCRIPTION)
|
val description = cursor.getStringValue(CalendarContract.Events.DESCRIPTION)
|
||||||
val startTS = cursor.getLongValue(CalendarContract.Events.DTSTART)
|
val startTS = cursor.getLongValue(CalendarContract.Events.DTSTART)
|
||||||
|
@ -290,12 +291,37 @@ fun Context.fetchCalDAVCalendarEvents(calendarID: Long) {
|
||||||
val duration = cursor.getStringValue(CalendarContract.Events.DURATION)
|
val duration = cursor.getStringValue(CalendarContract.Events.DURATION)
|
||||||
val allDay = cursor.getIntValue(CalendarContract.Events.ALL_DAY)
|
val allDay = cursor.getIntValue(CalendarContract.Events.ALL_DAY)
|
||||||
val rrule = cursor.getStringValue(CalendarContract.Events.RRULE)
|
val rrule = cursor.getStringValue(CalendarContract.Events.RRULE)
|
||||||
|
val reminders = getCalDAVEventReminders(id)
|
||||||
} while (cursor.moveToNext())
|
} while (cursor.moveToNext())
|
||||||
} finally {
|
} finally {
|
||||||
cursor?.close()
|
cursor?.close()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Context.getCalDAVEventReminders(eventId: Long): List<Int> {
|
||||||
|
val reminders = ArrayList<Int>()
|
||||||
|
val uri = CalendarContract.Reminders.CONTENT_URI
|
||||||
|
val projection = arrayOf(
|
||||||
|
CalendarContract.Reminders.MINUTES,
|
||||||
|
CalendarContract.Reminders.METHOD)
|
||||||
|
val selection = "${CalendarContract.Reminders.EVENT_ID} = $eventId"
|
||||||
|
var cursor: Cursor? = null
|
||||||
|
try {
|
||||||
|
cursor = contentResolver.query(uri, projection, selection, null, null)
|
||||||
|
cursor.moveToFirst()
|
||||||
|
do {
|
||||||
|
val minutes = cursor.getIntValue(CalendarContract.Reminders.MINUTES)
|
||||||
|
val method = cursor.getIntValue(CalendarContract.Reminders.METHOD)
|
||||||
|
if (method == CalendarContract.Reminders.METHOD_ALERT) {
|
||||||
|
reminders.add(minutes)
|
||||||
|
}
|
||||||
|
} while (cursor.moveToNext())
|
||||||
|
} finally {
|
||||||
|
cursor?.close()
|
||||||
|
}
|
||||||
|
return reminders
|
||||||
|
}
|
||||||
|
|
||||||
fun Context.getNewEventTimestampFromCode(dayCode: String) = Formatter.getLocalDateTimeFromCode(dayCode).withTime(13, 0, 0, 0).seconds()
|
fun Context.getNewEventTimestampFromCode(dayCode: String) = Formatter.getLocalDateTimeFromCode(dayCode).withTime(13, 0, 0, 0).seconds()
|
||||||
|
|
||||||
fun Context.getCurrentOffset() = SimpleDateFormat("Z", Locale.getDefault()).format(Date())
|
fun Context.getCurrentOffset() = SimpleDateFormat("Z", Locale.getDefault()).format(Date())
|
||||||
|
|
Loading…
Reference in New Issue