Implemented 'update settings' API
(cherry picked from commit d0dda974410536319b3c828d723b32d3cec51368)