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

Unverified Commit 2a542210 authored by Arnau Mora's avatar Arnau Mora Committed by GitHub
Browse files

MKCALENDAR does not send valid calendar-timezone (#1251)



Fixed missing calendar properties

Signed-off-by: default avatarArnau Mora <arnyminerz@proton.me>
parent eef85f1f
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ import at.bitfire.davdroid.db.HomeSet
import at.bitfire.davdroid.network.HttpClient
import at.bitfire.davdroid.servicedetection.RefreshCollectionsWorker
import at.bitfire.davdroid.util.DavUtils
import at.bitfire.ical4android.ICalendar
import at.bitfire.ical4android.util.DateUtils
import dagger.Lazy
import dagger.Module
@@ -40,7 +41,10 @@ import kotlinx.coroutines.runInterruptible
import net.fortuna.ical4j.model.Calendar
import net.fortuna.ical4j.model.Component
import net.fortuna.ical4j.model.ComponentList
import net.fortuna.ical4j.model.Property
import net.fortuna.ical4j.model.PropertyList
import net.fortuna.ical4j.model.component.VTimeZone
import net.fortuna.ical4j.model.property.Version
import okhttp3.HttpUrl
import java.io.StringWriter
import java.util.Collections
@@ -375,7 +379,15 @@ class DavCollectionRepository @Inject constructor(
                                insertTag(CalendarTimezone.NAME) {
                                    text(
                                        // spec requires "an iCalendar object with exactly one VTIMEZONE component"
                                        Calendar(ComponentList(listOf(vTimezone))).toString()
                                        Calendar(
                                            PropertyList<Property>().apply {
                                                add(ICalendar.prodId)
                                                add(Version.VERSION_2_0)
                                            },
                                            ComponentList(
                                                listOf(vTimezone)
                                            )
                                        ).toString()
                                    )
                                }
                            }