Acknowledged
CIQQA-3059

Bug report: with Connect IQ SDK 8.1.0, widget builds for Instinct 2 like devices are no longer launched in glance mode in Simulator

It's known that *widget* builds targeting Instinct 2 (Fenix 6?) like devices run in "glance mode" (https://developer.garmin.com/connect-iq/core-topics/glances/). With Connect IQ SDK 8.1.0 it's no longer the case, at least with my project (https://github.com/grigorye/Handsfree), when running in Simulator. They're launched as a regular app instead. Switching back to SDK to 7.4.3 makes the widget builds for Instinct 2 run in glance mode again.

This seem to affect only Simulator: (widget) builds for devices run as expected in glance mode on real Instinct 2 devices, for both versions of SDK.

Regards,
Grigorii

  • Having said that, I did find a bug, but at first glance (see what I did there) it seems to affect both (or all) SDKs equally.

    The simulator will remember the last value of "Glance Launch Mode", even when running on a device which does not support changing Glance Launch Mode (oops). This means that if you run the app for a different device like fr945, change Glance Launch Mode to Normal, then run the app for instinct2, the sim will continue to use Normal mode and you don't have any way to change to Glance, except to run for a different device and change the setting that way. e.g. You may have to run the widget for fr945, and explicitly toggle the setting from Glance to Normal and back to Glance again.

    iirc instinct2 has a similar issue with the Data Fields > Layout option, as its available values do not include the default value used by the sim, so when you initially run your data field, it uses an invalid layout.

    With further testing, I've found that when I can get 7.4.3 to use glance mode for instinct2 (which is not all the time, as mentioned above), switching to SDK 8.1.0 *will* cause instinct2 to use normal mode. And now I can't get instinct2 to use glance mode T_T.

  • > I'm aware of Glance Launch mode,
    > ...
    > (at least it's always disabled for me for widget builds for Instinct 2)

    I also found it's disabled for instinct 2, but it is enabled for fenix6 and fr945 (both CIQ 3 devices which have real widgets, and for which device apps cannot have glances).

    This discrepancy could reflect differences on the real devices. e.g. perhaps Instinct2 doesn't have a real user setting to switch from glances to old widgets, but fenix6 and fr945 have (or had) that setting.

    Note that fr945lte (CIQ 3) launched with the ability to turn off glance mode, but when it got a firmware update to make it more like some of the CIQ 4 devices, that setting was removed.

    > It's clearly reproducible by switching SDKs, so that's at least something...

    I can't reproduce it though :/

    Not sure what I'm doing differently.

  • Thanks for checking/letting me know the details! Yes, it overrides getGlanceView()/I feel like do understand the differences. Yeah, I'm aware of Glance Launch mode, but I feel like it works only for *app* builds for Fenix 7 like devices (at least it's always disabled for me for widget builds for Instinct 2). Will double-check it/look for other conditions... It's clearly reproducible by switching SDKs, so that's at least something...

  • TL;DR I don't see any difference between SDK 7.4.3 and SDK 8.1.0, but maybe I'm not testing the same way you are.

    > It's known that *widget* builds targeting Instinct 2 (Fenix 6?) like devices run in "glance mode"

    Does your app override AppBase.getGlanceView()?

    I tested Instinct 2 (which is a CIQ 3 device). In the sim, if the app overrides AppBase.getGlanceView(), then it was launched as a glance. This worked for me in both SDK 7.4.3 and SDK 8.1.0. If the app does not override getGlanceView, it is launched "normally" (as a full-screen widget), regardless of whether the real device supports "normal mode" or not.

    Same results for fr945 and fenix6, in both SDK 7.4.3 and 8.1.0.

    Note that *some* CIQ 3 devices, such as fr945 and fenix6, have the ability to switch between glance and normal mode (in *this* case, widget mode) via Settings > Glance Launch Mode in the simulator. (And they may have had a way to do this on the real device, although it's also possible that it was removed with a firmware update so that glances would always be used).

    Yes, all of this is regardless of the fact that on a real CIQ 3 device, if you build a widget that doesn't override getGlanceView() and run it in glance mode, the system will provide a default glance view.

    Note that for CIQ 4+ devices, there is really no such thing as a widget app type anymore. All apps with the "widget" type in manifest.xml are compiled as "watch-app" (device app) for these devices, and in this case, you *must* override getGlanceView() if you want the user to be able to launch it as a glance. (I mention this because there are popular old widgets that were ported to newer devices, but the dev never implemented getGlanceView so the app can't be launched as a "widget"/glance anymore).