feat: add TimelineReminder support to TimelinePin#14
Conversation
Adds a reminders field to TimelinePin so Cobble/Core can insert the corresponding BlobDatabase.Reminder entries that trigger the watch buzz. Without reminders, timeline pins are silent.
|
Nice. This is already read in the Core app, right? |
If you mean the vibe-pattern override from #111 — that's merged in microPebble, but the Core-app side of the same change is coredevices/mobileapp#193, still in review, so it hasn't landed in Core yet. This PR is a different layer, though. #111/#193 control how a reminder buzzes — a global vibration-pattern override applied to the calendar reminders libpebble3 already syncs from the phone. This one is about whether a reminder exists at all for a third-party pin: it adds reminders to TimelinePin so any PebbleKit2 app can attach its own BlobDatabase. Reminder to a pin it inserts and actually buzz, independent of calendar sync. So they're complementary — #14 creates the reminder, #111/#193 style its vibration. |
Summary
Adds an optional reminders: List to TimelinePin (plus a TimelineReminder data class) and the serialization to populate it. Defaults to emptyList(), so existing callers are unaffected.
Motivation
A TimelinePin inserted via insertTimelinePin currently lands in the timeline but is silent — there's no way to attach an alert, so nothing buzzes the watch at the pin's time. Host apps (Core Devices / Cobble) already insert BlobDatabase.Reminder entries for their own calendar reminders; this exposes the same capability to PebbleKit2 consumers so a third-party app's pin can fire a reminder buzz.
Implementation
Fully backward-compatible (empty-list default).