What happens if I change my setting ids (memory wise on the device)

I've a released watchface with some settings where I want to rename the ids. What will happen in this case?

Does garmin take care to delete old setting ids or will they remain in the user device and have an impact on memory?

I know I will lose the settings in those renamed fields on all devices and that's ok for me but I wonder if people need to uninstall/reinstall the watchface to get a clean installation or not.

Or maybe I have to delete old keys manually?

  • Settings go along with the version of the app, so if someone doesn't update, they get the old settings.  If someone updates, they get the new settings.

    In the case of an update, there may be a few of the old properties hanging around, but unless there are a lot, shouldn't impact much  Uninstall/reinstall suggestions probably won't be noticed by many.  What they will notice is that anything where they used the old settings will no longer apply.  So if they changed an old color to blue and the new color defaults to white, that could cause some confusion.

    In general, I'll add a new setting, but pretty much never remove an old one.  That way nothing changes for the user except having the ability to change something new.

  • I did this once already and did not remove the old setting (so that I convert the setting) but now I want to generalise my setting names between my watchface to be able to use even more common code in this section - this time this influences a few properties...

    To convert to new ids, is it possible to read properties that are not defined in the properties anymore? The problem is that old unused properties use unnecessary recourses, that's why I want to remove them completely from the property file in the future.

    I wonder if it's possible and save to read a removed property (removed from the property definitions), write it to the new property and then delete the old property (from the device).

  • When you update your properties any new ones you've added will get the default value and any that you have removed will be removed. It isn't possible to read properties that you've removed from your app.

  • Thanks, that answers my question completely.