This is related to https://forums.garmin.com/developer/connect-iq/i/bug-reports/confusion-and-bugs-in-array-settings.
There I reported that if I have N items in the ITEM (that is in the dictionary) I can't set the maxLength to less than N. This seems to be fixed at 1st glance in 4.1.4 Compiler Beta, because now setting less than N compiles. However the real problem now is in runtime:
<properties> <property id="u" type="array"></property><!--User--> </properties> </settings> <setting propertyKey="u" title="@Strings.settingsUsersTitle" maxLength="8"> <setting title="@Strings.settingsExt1Name" type="string"> <settingConfig id="n" type="alphaNumeric" maxLength="8"/> </setting> <setting title="@Strings.settingsZone1Min" type="number"> <settingConfig id="z0" type="numeric" min="0" max="300"/> </setting> <setting title="@Strings.settingsZone1Max" type="number"> <settingConfig id="z1" type="numeric" min="0" max="300"/> </setting> <setting title="@Strings.settingsZone2Max" type="number"> <settingConfig id="z2" type="numeric" min="0" max="300"/> </setting> <setting title="@Strings.settingsZone3Max" type="number"> <settingConfig id="z3" type="numeric" min="0" max="300"/> </setting> <setting title="@Strings.settingsZone4Max" type="number"> <settingConfig id="z4" type="numeric" min="0" max="300"/> </setting> <setting title="@Strings.settingsZone5Max" type="number"> <settingConfig id="z5" type="numeric" min="0" max="300"/> </setting> <setting title="@Strings.settingsMaxHr" type="number"> <settingConfig id="m" type="numeric" min="0" max="300"/> </setting> <defaults> <entry> <default id="n"></default> <default id="z0">0</default> <default id="z1">0</default> <default id="z2">0</default> <default id="z3">0</default> <default id="z4">0</default> <default id="z5">0</default> <default id="m">0</default> </entry> </defaults> </setting> <setting propertyKey="@Properties.c" title="@Strings.settingsShowHrZoneColor"> <settingConfig type="boolean"/> </setting> </settings>
Now I can have maxLength < 8 in the line:
<setting propertyKey="u" title="@Strings.settingsUsersTitle" maxLength="8">
but if I put there any number smaller than 8 then when I run the app and open the settings in simulator (couldn't test in ConnectIQ mobile because of other bugs...)
then neither the array settings or any other settings AFTER it will be displayed :(