So for what it's worth, I hand-patched all the code that wasn't phone-related, and figured out the code to insert into the Mojo phone code to make it work based on the Enyo patch.
I've been tinkering and experimenting, using the Gadgetbridge code as a guideline. So far I've extended the phone-related functionality:
- Before when a call came in to the Pebble, it used to ring for a fixed 10 seconds and then quit. It now rings until the call stops ringing.
- If you answer the call, the Pebble shifts to "answered" mode and starts a call timer.
- If a call is missed or ignored, a "missed call" notification will be pushed to your notifications, with a missed call icon.
- Unknown and blocked IDs are properly listed in the ringing notification and the missed notification.
- New voicemail alerts (total unlistened count) are also pushed to notifications.
I made some changes to the e-mail patch to use the e-mail name instead of the e-mail address when sending a notification. I also added code to capture the volume up/down commands from the music player section, but while they are recognized by the mWatch app, I have no idea how to tie them into the phone and control the volume.
Also... there are 16-bit bytes showing up among the 8-bit bytes. It's almost always 0xfffd and I can't find a pattern for when it shows up... but sometimes when the code considers 0xfffd the high-byte of a 16-bit big-endian number it makes really BIG numbers! ^_^