Skip to content

feat: forward TimelinePin reminders to the timeline emulator#4

Merged
matejdro merged 1 commit into
matejdro:micropebblefrom
kchinnasamy:feat/pk2-reminder-bridge
Jun 19, 2026
Merged

feat: forward TimelinePin reminders to the timeline emulator#4
matejdro merged 1 commit into
matejdro:micropebblefrom
kchinnasamy:feat/pk2-reminder-bridge

Conversation

@kchinnasamy

Copy link
Copy Markdown

Summary

PebbleKit2 1.2.0 added an optional reminders list to TimelinePin
(pebble-dev/PebbleKitAndroid2#14),
but PebbleSenderReceiver.toPinJson() dropped the field when converting to
TimelinePinJson — so a reminder attached to a PebbleKit2 pin never reached
RemoteTimelineEmulator, and the watch never buzzed.

This maps reminders through (each TimelineReminderTimelineReminderJson,
reusing a small shared TimelineLayout.toLayoutJson() helper) and bumps
pebblekit2 1.1.0 → 1.2.0 so the new field is on the classpath.
RemoteTimelineEmulator.insertPin already reads pin.reminders and inserts the
matching reminder rows, so nothing changes there.

Why

A TimelinePin inserted via PebbleKit2's insertTimelinePin is otherwise
silent — there's no way for a third-party app (e.g. a companion that schedules
reminders) to make the watch buzz at the pin's time. This closes that gap on the
host side.

Test plan

  • ./gradlew :libpebble3:compileDebugKotlinAndroid clean
  • End-to-end: third-party PebbleKit2 app inserts a pin carrying a reminder → watch buzzes at reminder time

Backward compatible: pins without reminders serialize exactly as before
(reminders is omitted when empty).

PebbleKit2 1.2.0 adds an optional reminders list to TimelinePin, but
PebbleSenderReceiver.toPinJson() dropped it when building TimelinePinJson,
so a third-party PebbleKit2 pin could never carry a reminder buzz. Map the
field through (reusing a shared TimelineLayout.toLayoutJson() helper) and
bump pebblekit2 1.1.0 -> 1.2.0 for the new field. RemoteTimelineEmulator
already reads pin.reminders and inserts the matching BlobDatabase.Reminder.
@matejdro

Copy link
Copy Markdown
Owner

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants