Resource overrides for properties not working consistently in simulator

o A Descriptive Title (i.e. “Simulator Freezes Launching App in Eclipse”)
Resource overrides for properties not working consistently in simulator

o The Environment:
Windows 10
Eclipse Neon.1 (4.6.1)

o A detailed description of the issue
According to the documentation for App Settings [1], I should be able to override properties like any other resource by using resource qualifiers [2]. When running under the simulator, it appears that resource qualifiers are not consistently being applied to properties.

o Steps to reproduce the issue
Import the project (see link below) into Eclipse, and execute the following steps to reproduce the problem.

  • Execute the test program using fenix3 as the target device.
    • verify you see the likeness of a fenix3 device.
    • verify you see 'default' displayed on the simulated device screen.
    • click ConnectIQ > App Settings Editor in Eclipse.
    • select 'Properties' from the 'Project' dropdown, and wait
    • verify you see 'default' displayed under the 'Resource Folder' setting.

  • Kill the app in the simulator (CTRL+K)
  • Execute the test program using fr735xt as the target device.
    • verify you see the likeness of a fr735xt device.
    • verify you see 'fr735xt' displayed on the simulated device screen, indicating the override of TestString worked as expected.
    • click ConnectIQ > App Settings Editor in Eclipse.
    • select 'Properties' from the 'Project' dropdown, and wait
    • you should see 'fr735xt' displayed under the 'Resource Folder' setting, but you will find 'default' instead. This indicates that the 'TestProperty' override did not work as expected.



At this point, we've reproduced the problem. If we go further, we can get some insight as to where the issue lies.

  • Kill the app in the simulator (CTRL+K)
  • Exit the simulator (CTRL+Q)
  • Exit Eclipse (ALT+F4)
  • Delete the %TEMP%\Garmin folder (rmdir /s /q %TEMP%\Garmin)
  • Start Eclipse
  • Execute the test program using fr735xt as the target device.
    • verify you see the likeness of a fr735xt device.
    • verify you see 'fr735xt' displayed on the simulated device screen, indicating the override of TestString worked as expected.
    • click ConnectIQ > App Settings Editor in Eclipse.
    • select 'Properties' from the 'Project' dropdown, and wait
    • verify you see 'fr735xt' displayed under the 'Resource Folder' setting.

  • Kill the app in the simulator (CTRL+K)
  • Execute the test program using fenix3 as the target device.
    • verify you see the likeness of a fenix3 device.
    • verify you see 'default' displayed on the simulated device screen.
    • click ConnectIQ > App Settings Editor in Eclipse.
    • select 'Properties' from the 'Project' dropdown, and wait
    • you should see 'default' displayed under the 'Resource Folder' setting, but you will find 'fr735xt' instead. This indicates that the 'TestProperty' override did not work as expected.



This indicates to me that the resource system is working as intended (the correct override is used the first time after wiping out the %TEMP% folder), but there is some property caching that is preventing the correct properties from being loaded in some cases.

o Any applicable additional information
N/A

o A code sample that can reproduce the issue (in email only if preferred)
https://1drv.ms/u/s!Ak71bikqehCh1il-2k3L1FlXp8ab