cbeyls / fosdem-companion-android

FOSDEM Companion for Android
Apache License 2.0
136 stars 93 forks source link

Migrate to Pretalx file format #85

Closed cbeyls closed 5 months ago

cbeyls commented 5 months ago

Take advantage of the new fields added to the XML schedule file, allowing to remove some hardcoded values:

Note: the database year is no more used to build the speaker URL. The end goal is to completely remove it and replace it with the conference id as unique identifier in the bookmarks export file, however for now it is kept for compatibility reasons.

UserSettingsProvider now returns a sealed interface named TimeZoneMode instead of a ZoneId. TimeZoneMode.Default means that the default time zone of the event must be used, and TimeZoneMode.Device means that the time zone must be overridden with the provided ZoneId.

The XML parser has been updated to parse the file in two steps: first the conference data which appears at the top of the file, then the events in a streaming way like before. The returned type is now Schedule instead of Sequence<DetailedEvent>.