Is there a reference for all valid qualifiers?
I can't find a list of all valid options.
Of course I understand there is round, device size, device name, but what about whether something is touch or not?
Is there a reference for all valid qualifiers?
I can't find a list of all valid options.
Of course I understand there is round, device size, device name, but what about whether something is touch or not?
If you're referring to resource qualifiers, refer to the following file in your SDK directory (*): bin/default.jungle
(*)
For MacOS, I can say I was able to find it in ~/Library/Application Support/Garmin/ConnectIQ/Sdks/{SDK_VERSION}/bin/default.jungle
FlowState Maybe you can update your post for completeness.
It's all in the API Doc. Spend time looking at "System"
If you're referring to resource qualifiers, refer to the following file in your SDK directory (*): bin/default.jungle
(*)
And the location of the current SDK is found in the following text file under ConnectIQ in the paths above:
sdkmanager-location.cfg
Thanks, that default jungle was what I was looking for. It looks like there is no way to specify generically whether a device is touch or not, so I'll need to address the devices individually.
Yeah, I have some pretty horrifically complex jungle files with multiple dimensions of exclude annotations for various things like CIQ version, touch support, back button support, etc.
It's really much easier if you just use System and checking isTouchScreen. And depending on how you do a delegate, it may not really matter.
It's really much easier if you just use System and checking isTouchScreen
That depends on whether you want to save the max possible amount of memory or not, especially when supporting old devices like FR630 and Vivoactive (VA).
Even "modern" touchscreen devices like VA3 and VA4 don't have a ton of memory.
And depending on how you do a delegate, it may not really matter.
Sure, it depends how complex the app / input is. I have a stopwatch app which cares whether your physical back button is separate from your physical lap button (which is literally only one device: FR630), and whether your touchscreen device has a physical back button or not, and that kind of thing can only be hardcoded in the jungle file.
EDIT: it may be possible to determine the latter (touchscreen with back button) at run-time by referring to System.DeviceSettings.inputButtons, but I'm not sure about the former (separate lap and back buttons).
I looked at the API docs, particularly in System: https://developer.garmin.com/connect-iq/api-docs/Toybox/System.html and I find no reference to isTouchScreen anywhere in the docs. Are the docs out of date?
developer.garmin.com/.../DeviceSettings.html
If you click on "Methods" (beside Classes in the upper left-hand corner of the API docs), you'll be able to find it by searching "touchscreen".
Ah, I had used the search bar, but didn't realize it was just searching classes and not methods
For MacOS, I can say I was able to find it in ~/Library/Application Support/Garmin/ConnectIQ/Sdks/{SDK_VERSION}/bin/default.jungle
FlowState Maybe you can update your post for completeness.