I've been wanted to change the way notifications work for a while, and finally have a proof of concept ready to work with, using the new Bangle.SetLCDOverlay from Gordon.
Firstly, big thanks to Gordon for this new feature , it's fabulous! Exactly what I was looking for, though I didn't know it before!
Goals:
Fast notifications (when you hear a notification on the phone, it should be on the watch as soon as you look at it.
Large notifications (as much text as possible on display at once)
Separate the comms to gadgetbridge, the message view, music controls, and call handling. Easier to tweak and change if they are separate.
My new notification system replaces the Android app on the watch with a very slightly tweaked version. Instead of linking into the Messages app it emits events, which can then be picked up by other apps.
The notifications themselves use SetLCDOverlay to show a message over the top of whatever you have on screen at the time. They're scrollable (sort of) for long messages, but have no actions, they simply show you the notification.
It is very, very low quality at the moment, lots of missing features, but does show notifications. To try it out, remove your Android and Messages app from your Bangle, and install the two apps here: https://sir-indy.github.io/BangleApps/?q=aa
Be aware that I'm actively working on this and it could change or break without warning!
Things to do:
Make notifications prettier: maybe a coloured outline, centred text.
Fix scrolling: currently for long messages they drop off the screen.
Change notifications to a notify type app, so others can use it.
Change the Comms app to log the messages somewhere.
Write a new message viewing app.
Add actionable call notifications.
Write a music control app.
If anyone has any thoughts they'd like to share about my way of doing this, or suggestions to make things work better, please let me know. Just be aware that I'm primarily making this for myself and my use case, so may not implement every idea.
PS. there was supposed to be a screenshot attached, but I can't use g.dump() to get an image of the Overlay. Sorry!
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
I've been wanted to change the way notifications work for a while, and finally have a proof of concept ready to work with, using the new
Bangle.SetLCDOverlay
from Gordon.Firstly, big thanks to Gordon for this new feature , it's fabulous! Exactly what I was looking for, though I didn't know it before!
Goals:
My new notification system replaces the Android app on the watch with a very slightly tweaked version. Instead of linking into the Messages app it emits events, which can then be picked up by other apps.
The notifications themselves use
SetLCDOverlay
to show a message over the top of whatever you have on screen at the time. They're scrollable (sort of) for long messages, but have no actions, they simply show you the notification.It is very, very low quality at the moment, lots of missing features, but does show notifications. To try it out, remove your
Android
andMessages
app from your Bangle, and install the two apps here: https://sir-indy.github.io/BangleApps/?q=aaBe aware that I'm actively working on this and it could change or break without warning!
Things to do:
notify
type app, so others can use it.If anyone has any thoughts they'd like to share about my way of doing this, or suggestions to make things work better, please let me know. Just be aware that I'm primarily making this for myself and my use case, so may not implement every idea.
PS. there was supposed to be a screenshot attached, but I can't use
g.dump()
to get an image of the Overlay. Sorry!