Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fef93f94 authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Update ical4j to 2.2.3

parent e04df070
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
image: registry.gitlab.com/bitfireat/davdroid:latest
image: registry.gitlab.com/bitfireat/davx5-ose:latest

before_script:
  - export GRADLE_USER_HOME=`pwd`/.gradle; chmod +x gradlew
+1 −1
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ apply plugin: 'kotlin-android'
apply plugin: 'org.jetbrains.dokka-android'

ext {
    ical4j_version = '2.2.1'
    ical4j_version = '2.2.3'
}

android {
+11 −11
Original line number Diff line number Diff line
@@ -80,17 +80,17 @@ class AndroidEventTest {
    fun testAddEvent() {
        // build and write recurring event to calendar provider
        val event = Event()
        event.uid = ("sample1@testAddEvent")
        event.summary = ("Sample event")
        event.description = ("Sample event with date/time")
        event.location = ("Sample location")
        event.dtStart = (DtStart("20150501T120000", tzVienna))
        event.dtEnd = (DtEnd("20150501T130000", tzVienna))
        event.organizer = (Organizer(URI("mailto:organizer@example.com")))
        event.rRule = (RRule("FREQ=DAILY;COUNT=10"))
        event.classification = (Clazz.PRIVATE)
        event.status = (Status.VEVENT_CONFIRMED)
        event.color = (EventColor.aliceblue)
        event.uid = "sample1@testAddEvent"
        event.summary = "Sample event"
        event.description = "Sample event with date/time"
        event.location = "Sample location"
        event.dtStart = DtStart("20150501T120000", tzVienna)
        event.dtEnd = DtEnd("20150501T130000", tzVienna)
        event.organizer = Organizer(URI("mailto:organizer@example.com"))
        event.rRule = RRule("FREQ=DAILY;COUNT=10")
        event.classification = Clazz.PRIVATE
        event.status = Status.VEVENT_CONFIRMED
        event.color = Css3Color.aliceblue
        assertFalse(event.isAllDay())

        // TODO test rDates, exDate, duration
+3 −3
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ abstract class AndroidCalendar<out T: AndroidEvent>(

        fun insertColors(provider: ContentProviderClient, account: Account) {
            provider.query(syncAdapterURI(Colors.CONTENT_URI, account), arrayOf(Colors.COLOR_KEY), null, null, null)?.use { cursor ->
                if (cursor.count == EventColor.values().size)
                if (cursor.count == Css3Color.values().size)
                // colors already inserted and up to date
                    return
            }
@@ -60,9 +60,9 @@ abstract class AndroidCalendar<out T: AndroidEvent>(
            values.put(CalendarContract.Colors.ACCOUNT_NAME, account.name)
            values.put(CalendarContract.Colors.ACCOUNT_TYPE, account.type)
            values.put(Colors.COLOR_TYPE, Colors.TYPE_EVENT)
            for (color in EventColor.values()) {
            for (color in Css3Color.values()) {
                values.put(Colors.COLOR_KEY, color.name)
                values.put(Colors.COLOR, color.rgba)
                values.put(Colors.COLOR, color.argb)
                provider.insert(syncAdapterURI(Colors.CONTENT_URI, account), values)
            }
        }
+10 −7
Original line number Diff line number Diff line
@@ -53,6 +53,9 @@ abstract class AndroidEvent(
        const val EXT_UNKNOWN_PROPERTY = "unknown-property"
        const val MAX_UNKNOWN_PROPERTY_SIZE = 25000

        // not declared in ical4j Parameters class yet
        private const val PARAMETER_EMAIL = "EMAIL"

    }

    var id: Long? = null
@@ -144,7 +147,7 @@ abstract class AndroidEvent(

        row.getAsString(Events.EVENT_COLOR_KEY)?.let { name ->
            try {
                event.color = EventColor.valueOf(name)
                event.color = Css3Color.valueOf(name)
            } catch(e: IllegalArgumentException) {
                Constants.log.warning("Ignoring unknown color $name from Calendar Provider")
            }
@@ -258,7 +261,7 @@ abstract class AndroidEvent(
            if (idNS != null || id != null) {
                // attendee identified by namespace and ID
                attendee = Attendee(URI(idNS, id, null))
                email?.let { attendee.parameters.add(ICalendar.Email(it)) }
                email?.let { attendee.parameters.add(Email(it)) }
            } else
                // attendee identified by email address
                attendee = Attendee(URI("mailto", email, null))
@@ -581,7 +584,7 @@ abstract class AndroidEvent(
            email = if (uri.scheme.equals("mailto", true))
                uri.schemeSpecificPart
            else {
                val emailParam = organizer.getParameter(ICalendar.Email.PARAMETER_NAME) as ICalendar.Email?
                val emailParam = organizer.getParameter(PARAMETER_EMAIL) as? Email
                emailParam?.value
            }
            if (email != null)
@@ -639,7 +642,7 @@ abstract class AndroidEvent(
            // attendee identified by other URI
            builder .withValue(Attendees.ATTENDEE_ID_NAMESPACE, member.scheme)
                    .withValue(Attendees.ATTENDEE_IDENTITY, member.schemeSpecificPart)
            (attendee.getParameter(ICalendar.Email.PARAMETER_NAME) as ICalendar.Email?)?.let { email ->
            (attendee.getParameter(PARAMETER_EMAIL) as? Email)?.let { email ->
                builder.withValue(Attendees.ATTENDEE_EMAIL, email.value)
            }
        }
@@ -649,13 +652,13 @@ abstract class AndroidEvent(
        }

        var type = Attendees.TYPE_NONE
        val cutype = attendee.getParameter(Parameter.CUTYPE) as CuType?
        val cutype = attendee.getParameter(Parameter.CUTYPE) as? CuType
        if (cutype in arrayOf(CuType.RESOURCE, CuType.ROOM))
            // "attendee" is a (physical) resource
            type = Attendees.TYPE_RESOURCE
        else {
            // attendee is not a (physical) resource
            val role = attendee.getParameter(Parameter.ROLE) as Role?
            val role = attendee.getParameter(Parameter.ROLE) as? Role
            val relationship: Int
            if (role == Role.CHAIR)
                relationship = Attendees.RELATIONSHIP_ORGANIZER
@@ -669,7 +672,7 @@ abstract class AndroidEvent(
            builder.withValue(Attendees.ATTENDEE_RELATIONSHIP, relationship)
        }

        val partStat = attendee.getParameter(Parameter.PARTSTAT) as PartStat?
        val partStat = attendee.getParameter(Parameter.PARTSTAT) as? PartStat
        val status = when(partStat) {
            null,
            PartStat.NEEDS_ACTION -> Attendees.ATTENDEE_STATUS_INVITED
Loading