getDeviceSettings().phoneConnected no longer works after the last firmware update of the watch (VA3M 4.90).
But in native Garmin WF, it works as it should.
Now we need to use some new method?
ConnectionInfo or connectionAvailable?
getDeviceSettings().phoneConnected no longer works after the last firmware update of the watch (VA3M 4.90).
But in native Garmin WF, it works as it should.
Now we need to use some new method?
ConnectionInfo or connectionAvailable?
I think you would be better off implementing something along the lines of the isConnectionAvailable function as described in this blog post.
https://www.garmin.com/en-US/blog/developer/adapting-connect-iq-app-to-lte/
Inside the code for the CIQ >3.0 check, if needed you can further check that the connection info contains bluetooth status and is the value is CONNECTION_STATE_CONNECTED to return true, otherwise return false. It would get you the same thing result without waiting on a URL to time out. The code would then be able to leverage the best option depending on the devices capabilities and return a simple true/false check for you code.
Can that call be trusted?
If not, then I'd have to probe anyway; but if so, then you're right that would be a faster/better method.
No, settings.connectionInfo[:bluetooth].state always returns CONNECTION_STATE_CONNECTED also.
FYI: the bug ticket status is here: https://forums.garmin.com/developer/connect-iq/i/bug-reports/vivoactive-3-phoneconnected-always-true
Right. The phoneConnected flag is checking the same exact thing as deviceSettings.connectionInfo[:bluetooth] == System.CONNECTION_STATE_CONNECTED.
We were able to track the failure down yesterday and we have a fix, but I'm not sure when that will be released though.
Looks like this has been resolved after the latest Garmin Connect IQ update (on android anyway) released 12 Nov 2019. It was the phone app rather than device firmware after all.