Complete
over 4 years ago

WERETECH-9575

By Design

VA4 firmware 5.0 always clears the goalView dc every second

VA4 firmware 5.0 always clears the goalView dc every second.

The dc is always cleared every second during the display of the goalView.

My watch face implements a goalView but only renders the content once at the beginning and then draw over to get an animation like behaviour.

-> https://apps.garmin.com/en-US/apps/fc3f9b9f-add6-46cb-8e0b-9a2172a04c31

With the new firmware the goalView is cleared each second and draws only the new content. This leads to false rendering of my goalView and flickering of the complete VA4 display.

Please fix, thanks.

To reproduce this bug set the floors goal to the next number and go for a small climb. ;-)

Other watches are fine e.g. F5X, F6X

Parents
  • This is what it looks like... same code for all devices.

    Sorry, the bug is related to the VA4.

Comment
  • This is what it looks like... same code for all devices.

    Sorry, the bug is related to the VA4.

Children
  • you don't need the bufferedbitmap in your case as you don't have a lot of content.

    if you do a dc.clear() and draw the complete content it'll work on all devices regardless of how the device team implemented it on their end.

  • @peterdedecker the drawing/redrawing is not the issue. This code is working for at least one year and then i'm getting this reports from a user with the latest 5.0 firmware. And sorry a bufferedbitmap takes too many memory for the goalView.

  • There are at least 2 things to check...

    1. The the screen gets black with each onUpdate check the first clip the arc is drawn every onUpdate but still flickers

    2. why is the SDK behaviour on each device different? I don't want to spend my time to develop the code for each device. (the different screen sizes are already enough)

    I'm currently thinking about to remove the support for some devices (e.g. the VA3 & 4) due to annoying system errors and strange user bug reports like above.

  • What Travis is saying is that you should update the complete screen, as there isn't too much on your goal screen that shouldn't have a major issue in redrawing everything every second. If you would have a lot on your screen then creating a bufferedbitmap to save the contents would be another way to go.

  • - The first clip with the VA4 and a black screen flickering for each refresh with onUpdate.

    - The second clip with a F6X and perfectly animation by simply drawing over the previous dc without a clear, the data values are only drawn once at the first onUpdate call.