Acknowledged
CIQQA-3217

Simulator does not apply updated property values without "Reset All App Data"

In the Connect IQ simulator (SDK 8.1.1), changes to <property> values are not reflected unless Reset All App Data is performed.

Steps to Reproduce:

  1. Define properties, for example::

    <resources>
        <properties>
            <property id="menuTitleBackgroundColor" type="number">0x212021</property>
            <property id="menuItemLeftPaddingFactor" type="float">0.03</property>
        </properties>
    </resources>
    
  2. Launch the app in the simulator and close the simulator again.

  3. Modify one of the <property> values in the XML file.

  4. Relaunch the app in the simulator (without resetting app data).

Expected Result:
The updated property values should be reflected when the app is reloaded.

Actual Result:
The simulator continues to use the old property values until Reset All App Data is performed.

Additional Notes:

  • If different values are specified for individual devices, switching between devices does not trigger a property refresh. The simulator continues using the values from the first device launched after the last reset.

  • This issue makes it difficult to test dynamic UI changes based on property updates.

SDK Version: 8.1.1

  • Yes, understand how this makes sense considering that the app also can write properties.I guess if the simulator would clear the properties with every updated version/different device, it could be equally annoying for developers testing apps that set values.

    Cool would be if running an updated version/different device would update the value ONLY IF it is still at its default value.

  • As far as testing multiple devices goes, I agree that this is annoying. One thing to note is that if different devices have sets of properties (i.e. the properties *keys* are different between devices) then when you build for a 2nd device, the simulator will automatically clear the app data from the 1st device. I think there's a warning message to this effect about data being reset due to property redefinition, or something like that.

  • Doesn't this match the behaviour of apps on real devices though?

    iirc, if the user installs your v1 of your app with a given set of properties, then they update to v2, they won't receive any changes to properties which existed in v1. (I get why it works this way - the idea is to avoid wiping any changes made to properties via settings or by the app itself.)

    I think the only way for the user to get all the property values from v2 would be to uninstall the app first, which is analogous to selecting Reset All App Data in the sim.

  • hi, you have, to avoid reset data, in VSC: MonkeyC: Clean Project, to delete output folder and so reflet the change made in settings etc.