This is a device problem (FR955), but it's existed for 1 year or longer now, so I'm posting it here for visibility.
An important background detail for this bug report is that FR955 (and most watches) only support up to 2 CIQ data fields in a single activity. Bugs of this nature - relating to the 2 CIQ field limit - have existed for at least 7 years (going back to FR935.)
Reproduction procedure:
- Install at least 3 CIQ data fields on device (let's call them App A, App B and App C)
- Open activity which currently has 0 CIQ fields selected
- Long press any data field to edit it (call it Field #1)
- Select "Connect IQ Fields" and press START
- Scroll through the list and note that all fields are available (Apps A, B and C)
- Select App A
- Long press another data field to edit it (call it Field #2)
- Select "Connect IQ Fields" and press START
- Note that all Connect IQ fields are available (A, B and C)
- Select App B
- Long press Field #1 again
- Select "Connect IQ Fields" and press Start
- Note that the only available apps are now Apps A and B (the ones already installed in the activity). I am unable to select App C, even though changing Field #1 from App A to App C would not violate the 2 CIQ field per-activity limit
Now if I want to change either Field #1 or Field #2 to App C, I have to use a workaround: first I have to change it to a non-CIQ field (e.g. Timer), then change it to the desired CIQ field (in this example, App C).
Not to state the obvious, but this bug arises from an unhandled edge case which is an exception to a valid rule.
The behavior which only shows App A and App B (when both are already selected) is valid for *other* fields (which don't already have App A or App B selected), because changing another field to App C would violate the 2 field limit. (And to be clear, multiple instances of the same CIQ field don't count towards the limit.)
However, the edge case occurs when the user wants to change a field that *already has App A or App B selected* - either of those fields should be allowed to change to *any* CIQ field, because if you select App C in this case, then either App A or App B will be removed (assuming there's no other instances of that app elsewhere in the activity.)
This situation gets worse if I uninstall a CIQ data field while it's currently selected in an activity (even if I subsequently reinstall it).
e.g.
- App A and App B are currently selected in an activity
- I uninstall App A
- I (optionally) reinstall App A
- In the activity, the field which had App A now shows the Timer (as expected)
- However, the activity still acts as though 2 CIQ data fields are selected. If I try to change the field with App B, it only shows App B and App A (if I reinstalled it), and no other CIQ data fields
Problems relating to uninstalling a CIQ data field app which is currently selected in an activity have existed since 935 (or earlier), so this stuff has been around for at least 7 years. And yes, these problems were reported back then, too.