I'm still a little unsure on how to approach if I want to write a watchface for devices that MUST have a desired feature.
In my case I want to only support devices that do support following:
- Vector Font which means API level must be 4.2.1 or higher
- OnDeviceSettings which means API level must be 2.4.0 or higher
When I now want to determine which devices do support those features by 100% (no matter if they have outdated firmwares or if they are asian or european based) how do I continue now? If my watchface can be installed I must be sure that it supports the features I need.
I think I must find out which devices have been released with API level 4.2.1 or higher on their first release, correct? Can I just say, that the most restricting feature are the vector fonts so I just check which devices do support vector fonts and check the list of supported devices there:
https://developer.garmin.com/connect-iq/api-docs/Toybox/Graphics/VectorFont.html
I can simply use the list of supported devices from the vector font supported devices list, but how do I continue now? Is that all or must I somehow make sure that even the first version of a device was already supporting vector font by making sure, that the watch was released with API 4.2.1 or higher?
My goal is that my watchface can only be installed on devices with API 4.2.1 or higher that do support vector fonts for sure (so I do not need to check for vector font support via :has)
Question:
- is checking the supported devices list of a feature enough for my use case?
- is this logic true for any feature?