iCalendarToAndroid

fun iCalendarToAndroid(attendee: Attendee, row: BatchOperation.CpoBuilder, organizer: String)

Maps iCalendar CuType and Role to Android Attendees.ATTENDEE_TYPE and Attendees.ATTENDEE_RELATIONSHIP according to this matrix:

CuType ↓ / Role →   CHAIR    REQ-PARTICIPANT¹ᴰ OPT-PARTICIPANT  NON-PARTICIPANT
INDIVIDUALᴰ         req,spk  req,att           opt,att          non,att
UNKNOWN²            req,spk  req,non           opt,non          non,non
GROUP               req,spk  req,per           opt,per          non,per
RESOURCE            res,spk  res,non           res,non          res,non
ROOM                ::: res,per ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

ᴰ default value
¹ custom/unknown ROLE values must be treated as REQ-PARTICIPANT
² custom/unknown CUTYPE values must be treated as UNKNOWN

When attendee is the organizer, CalendarContract.Attendees.ATTENDEE_RELATIONSHIP = RELATIONSHIP_ATTENDEE is replaced by CalendarContract.Attendees.RELATIONSHIP_ORGANIZER.

Parameters

attendee

iCalendar attendee to map

row

builder for the Android attendee row

organizer

email address of iCalendar ORGANIZER; used to determine whether attendee is the organizer