feat: forward TimelinePin reminders to the timeline emulator#258
Open
kchinnasamy wants to merge 1 commit into
Open
feat: forward TimelinePin reminders to the timeline emulator#258kchinnasamy wants to merge 1 commit into
kchinnasamy wants to merge 1 commit into
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PebbleKit2 1.2.0 added an optional
reminderslist toTimelinePin(pebble-dev/PebbleKitAndroid2#14),
but
PebbleSenderReceiver.toPinJson()dropped the field when converting toTimelinePinJson— so a reminder attached to a PebbleKit2 pin never reachedRemoteTimelineEmulator, and the watch never buzzed.This maps
remindersthrough (eachTimelineReminder→TimelineReminderJson,reusing a small shared
TimelineLayout.toLayoutJson()helper) and bumpspebblekit2
1.1.0 → 1.2.0so the new field is on the classpath.RemoteTimelineEmulator.insertPinalready readspin.remindersand inserts thematching reminder rows, so nothing changes there.
Why
A
TimelinePininserted via PebbleKit2'sinsertTimelinePinis otherwisesilent — 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.
Notes
1.2.0 is backward compatible — it only adds the optional
remindersfield.:libpebble3:compileDebugKotlinAndroidis green. The patch is identical andthe touched
libpebble3source is shared, so this is verified on that side.Test plan
Backward compatible: pins without reminders serialize exactly as before
(
remindersis omitted when empty).