Issue 973441 2

Note that `SettingsListener.observe` not only registers a callback but also call the callback automatically. Please use `addObserver` to avoid duplicate queries and value assignments.