Description
I discovered that changes to properties (especially user settings) are not always visible to a background job in a watch face on an actual Approach S60 device
Environment
Physical Approach S60 device
Firmware v 4.00
Steps to reproduce
Register a temporal event when watch face starts up
In the background, retrieve the value of a property from the object store (App.getApp().getProperty) and print its value
Change the value of some property / user setting
Wait for event to trigger and background to print the new value
Expected results
old value
new value
Actual results
old value
old value
Other Notes
The problem occur with the Properties.getValue api as well.
It appears as if the background has its own in-memory copy or cache of the object store which does not get updated when user settings are changed.
Only after the watch face exits and is loaded again, does it print the new value.
This is because the object store only gets persisted to disk when the app is exited.
In the simulator everything behaves correctly.