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

Commit 3149daac authored by Ricki Hirner's avatar Ricki Hirner
Browse files

Save/restore unknown properties of tasks

parent 3450b0d4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -176,7 +176,7 @@ class Event: ICalendar() {
                    is Organizer -> e.organizer = prop
                    is Attendee -> e.attendees += prop
                    is LastModified -> e.lastModified = prop
                    is ProdId, is DtStamp -> { /* don't save those as unknown properties */ }
                    is ProdId, is DtStamp -> { /* don't save these as unknown properties */ }
                    else -> e.unknownProperties += prop
                }

+25 −20
Original line number Diff line number Diff line
@@ -10,9 +10,8 @@ package at.bitfire.ical4android

import net.fortuna.ical4j.data.CalendarOutputter
import net.fortuna.ical4j.data.ParserException
import net.fortuna.ical4j.model.*
import net.fortuna.ical4j.model.Calendar
import net.fortuna.ical4j.model.Component
import net.fortuna.ical4j.model.DateTime
import net.fortuna.ical4j.model.TimeZone
import net.fortuna.ical4j.model.component.VToDo
import net.fortuna.ical4j.model.property.*
@@ -50,6 +49,8 @@ class Task: ICalendar() {
    val rDates = LinkedList<RDate>()
    val exDates = LinkedList<ExDate>()

    val unknownProperties = LinkedList<Property>()

    companion object {

        /**
@@ -108,6 +109,8 @@ class Task: ICalendar() {
                    is RRule -> t.rRule = prop
                    is RDate -> t.rDates += prop
                    is ExDate -> t.exDates += prop
                    is ProdId, is DtStamp -> { /* don't save these as unknown properties */ }
                    else -> t.unknownProperties += prop
                }

            // there seem to be many invalid tasks out there because of some defect clients,
@@ -180,6 +183,8 @@ class Task: ICalendar() {
        }
        percentComplete?.let { props += PercentComplete(it) }

        props.addAll(unknownProperties)

        // add VTIMEZONE components
        usedTimeZones.forEach { ical.components += it.vTimeZone }