Is it possible to get a Glance View Widget to update every second?
I'm loving my new Fenix 6X, but there is one feature that is missing, and I thought maybe would make a good "Glance View" Widget (and a good "Hello World" example to experiment with writing a Garmin app): I wish there was a simple way to view the time with seconds... not all the time, but occasionally (so I don't need it on the Watch Face all the time). For example: Daylight Saving Time just started (or a power outage just occurred) and I want to set the time on my oven (the one clock in my house that needs to be manually set).
My idea: Create a Glance View Widget that displays the time with seconds and put it at the top of my list of widgets. Then, when I care about the seconds I can just press the down button once to view the widget in glance view. When I'm done I can return to the main watch face. This would give me one button-press access to the current time with seconds (much less effort than changing watch faces to a watch face that includes seconds).
I have successfully created and side-loaded a widget that shows the time with seconds in the glance view, but it only updates once very minute (actually, it seems like it updates every 61 seconds).
Is it possible to get a glance view widget to update every second?
If so, how? I couldn't find anything looking through the API documentation.
What is the best pattern to use to make sure that the app plays nicely (i.e. only updates the seconds when the widget is visible)? I tried creating a timer that calls "WatchUi.requestUpdate()" every 500ms, but that didn't work (I could easily have made a mistake), and I was concerned the timer would run all the time (wasting resources when my widget wasn't visible).
I suspect it must be possible, because there is a "Compass" built-in Widget that updates in real-time as I spin my watch while looking at the compass in the glance view.
Thanks,
- Ben