Discovered that, in the events synchronized from Gadgetbridge, all-day events
have timestamps that disregard local timezones. Specifically, all-day events
always start at midnight UTC, which caused calendar to display them starting at
a different time depending on time zone offset (e.g. for my offset of -5, I see
all-day events start at 19:00 the day before). Borrowed logic from the agenda
app to correct this. This logic shifts an all-day event's start time to start
at midnight in the current time zone.
Also specify all-day events as type "o" (other) so the full day is highlighted
and the start time is not displayed.
Note that this does nothing to handle all-day events that span more than one
day (only the first day is highlighted in the calendar). Also note that I'm
not sure how this will handle time zone changes, like shifting to/from daylight
savings time.
This is a partial fix for feature request #3707. This allows synchronized
events (stored in android.calendar.json) to be shown in the app, alongside
the manually entered events and alarm events that are already shown. Note
only date/time and event title are currently used; other information
available in the synchronized events (e.g. duration, description) are ignored.
to using it.
This allows Bangle.js 2v20 (or cutting edge) and later to store a relaxed
'JSON' on internal storage which (while still normal JS) is smaller and faster
(and preserves unicode better)
See https://github.com/espruino/Espruino/issues/2429
- Change usage to swipe left/right for next/previous month
- Add up/down swipe for next/previous year
- Display scheduler events for current month on touch
- Do not register as watch, manually start clock on button
(Compatibility with Quick Launch)
- Read start of week from new system settings instead of own
configuration