Currently we are storing the full VTimeZone definition in the database, even though we only use the timezone ID.
This PR aims to fix this, and only store the identifier.
Short description
Removed the column timezone from Collection
Added a new column timezoneId to Collection
Upgraded database version number to 15
Added migrations for database from 14 to 15:
Create the new timezoneId column.
Extract the timezone id from timezone, and copy it to timezoneId (if not null)
Remove the timezone column.
[!NOTE]
We are storing the timezone id as given by the server, which may not be a valid Android Timezone. This is obviously converted later on when storing into the calendar provider, but maybe it's not a bad idea to convert it beforehand.
Purpose
Currently we are storing the full
VTimeZone
definition in the database, even though we only use the timezone ID. This PR aims to fix this, and only store the identifier.Short description
timezone
fromCollection
timezoneId
toCollection
15
14
to15
:timezoneId
column.timezone
, and copy it totimezoneId
(if not null)timezone
column.More information
calendar-timezone-id
is already being used forMKCALENDAR
since https://github.com/bitfireAT/davx5-ose/pull/1044dav4jvm
got support forCalendarTimezoneId
at https://github.com/bitfireAT/dav4jvm/commit/fbd95a5f5a94392d48a27f502cdad0ae45fa3932calendar-timezone
must contain a fullCALENDAR
as speciifed by Calendaring Extensions to WebDAV (CalDAV) Section 5.2.2calendar-timezone-id
definition: CalDAV: Time Zones by Reference - Section 5.2Checklist