The following snippets are from my datafield. It compiles for instinct (or other black&white devices) using SDK 4.1.5 but fails to compile using SDK 4.1.6.
//monkey.jungle: project.manifest = manifest.xml base.sourcePath = source base.resourcePath = $(base.resourcePath);resources-array-settings-0;memory32K/resources;memory32K/resources-array-settings-0;memory32K/resources-color-array-settings-0 base.excludeAnnotations = base;no_api1_3;no_api2;no_api3_1;memory16K;memory64K;black_and_white;array_settings;no_zones;no_gauge;draw_line_buggy;no_live_settings;no_fit_zone;no_search_anim instinct2.excludeAnnotations = base;no_api1_3;no_api2;no_api3_1;memory16K;memory64K;color;array_settings;no_zones;gauge;no_live_settings;fit_zone instinct2.resourcePath = resources;resources-array-settings-0;memory32K/resources;memory32K/resources-array-settings-0 // MyDataField.mc: class BaseExtHRMField extends WatchUi.DataField { (:black_and_white) protected var mShowZoneColor as Boolean; (:color) protected var mShowZoneColor as Boolean = true; // ... function x() { var spaceBetweenGaugeAndLabel = mShowZoneColor ? 10 : 0; } }
Interestingly this helped to discover an "error" in my code, one that I agree should have failed even with earlier compilers, but it worked. This line works:
var spaceBetweenGaugeAndLabel = mShowZoneColor ? 10 : 0;
mShowZoneColor is null and spaceBetweenGaugeAndLabel is set to 0 as I expected.
However compiling with 4.1.6 it fails:
java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar /home/gavriel/Garmin/ConnectIQ/Sdks/connectiq-sdk-lin-4.1.6-2022-11-04-17f8cfdf3/bin/monkeybrains.jar -o bin/MyApp.prg -f /home/gavriel/Garmin/MyApp/monkey.jungle;/home/gavriel/Garmin/MyApp/barrels.jungle -y /home/gavriel/Garmin/developer_key.der -d instinct2_sim -w -l 3
ERROR: instinct2: /home/gavrielGarmin/MyApp/source/MyDataField.mc:55: Member 'mShowZoneColor' not initialized but does not accept Null.
mShowZoneColor is null and spaceBetweenGaugeAndLabel is set to 0 as I expected.
However compiling with 4.1.6 it fails:
java -Xms1g -Dfile.encoding=UTF-8 -Dapple.awt.UIElement=true -jar /home/gavriel/Garmin/ConnectIQ/Sdks/connectiq-sdk-lin-4.1.6-2022-11-04-17f8cfdf3/bin/monkeybrains.jar -o bin/MyApp.prg -f /home/gavriel/Garmin/MyApp/monkey.jungle;/home/gavriel/Garmin/MyApp/barrels.jungle -y /home/gavriel/Garmin/developer_key.der -d instinct2_sim -w -l 3
ERROR: instinct2: /home/gavrielGarmin/MyApp/source/MyDataField.mc:55: Member 'mShowZoneColor' not initialized but does not accept Null.