Acknowledged
CIQQA-3255

bug: vivoactive3 returns true for ActivityMonitor.Info has :pushes

I have the following code in one of my menus:

        if (ActivityMonitor.Info has :pushes) {
            addItem(settings, Rez.Strings.activityTypeWheelchairPushWalk, 65000);
            addItem(settings, Rez.Strings.activityTypeIndoorWheelchairPushWalk, 65086);
        }

And I got an Invalid Value exception in ERA:

Error Name: Invalid Value
Occurrences: 1
First Occurrence: 2025-05-26
Last Occurrence: 2025-05-26
Devices:
vívoactive® 3: 8.20
App Versions: 0.9.6
Languages: ces
Backtrace:
SessionDebug.createSession:5
SessionDebug.session65086:73
SessionDebug.createSessionDebug:94
HikerAppView.createSession:66
SettingsMenu2.onSelect:220

However this can only happen if ActivityMonitor.Info has :pushes is true for vivoactive3.

In the simulator (SDK 8.1.1) I can't reproduce the problem neither with nor without --disable-api-has-check-removal 

I am not 100% but 99% sure that in this build I used --disable-api-has-check-removal so if I understand correctly then this is a bug in the vivoactive firmware. Or in the simulator, that returns false, but then why does va3 throw the Invalid Value exception when calling: 

ActivityRecording.createSession({:name => "name", :sport => 65 as Activity.Sport, :subSport => 86 as Activity.SubSport});
(which BTW doesn't fail in the simulator)

Parents
  • > Lovely, the best thing is to name similarily...

    Yeah Garmin is great at either:

    - using the same name for 2 different concepts: e.g. CIQ "app" (the general term which includes watch faces, data fields, etc.) versus "app" (as in "device app" / "watch app")

    - using different names for the same concept: e.g. "SatIQ" in marketing materials/device manual vs "Auto Select" in UI

    To be fair, in this case it's actually the same concept: an invalid value was supplied as an argument to an API function. It's just that one of them is an uncatchable error and one is an exception.

Comment
  • > Lovely, the best thing is to name similarily...

    Yeah Garmin is great at either:

    - using the same name for 2 different concepts: e.g. CIQ "app" (the general term which includes watch faces, data fields, etc.) versus "app" (as in "device app" / "watch app")

    - using different names for the same concept: e.g. "SatIQ" in marketing materials/device manual vs "Auto Select" in UI

    To be fair, in this case it's actually the same concept: an invalid value was supplied as an argument to an API function. It's just that one of them is an uncatchable error and one is an exception.

Children
No Data