#include <device/callback.h>
#include <device/device-error.h>
#include <sensor_internal.h>
+#include <vconf.h>
#include "common/converter.h"
#include "common/logger.h"
manager->CallListenerCallback(kPropertyIdDeviceOrientation);
}
-static void OnLocaleChangedCb(system_settings_key_e key, void* event_ptr) {
+static void OnLocaleChangedCb(keynode_t* node, void* event_ptr) {
LoggerD("Enter");
SysteminfoManager* manager = static_cast<SysteminfoManager*>(event_ptr);
manager->CallListenerCallback(kPropertyIdLocale);
PlatformResult SysteminfoManager::RegisterLocaleListener() {
LoggerD("Entered");
- int ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY,
- OnLocaleChangedCb, static_cast<void*>(this));
- if (SYSTEM_SETTINGS_ERROR_NONE != ret) {
- return LogAndCreateResult(
- ErrorCode::UNKNOWN_ERR, "Country change callback registration failed",
- ("system_settings_set_changed_cb error: %d (%s)", ret, get_error_message(ret)));
- }
-
- ret = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE,
- OnLocaleChangedCb, static_cast<void*>(this));
- if (SYSTEM_SETTINGS_ERROR_NONE != ret) {
- return LogAndCreateResult(
- ErrorCode::UNKNOWN_ERR, "Language change callback registration failed",
- ("system_settings_set_changed_cb error: %d (%s)", ret, get_error_message(ret)));
- }
+ PlatformResult ret = PlatformResult(ErrorCode::NO_ERROR);
+ CHECK_LISTENER_ERROR(
+ SysteminfoUtils::RegisterVconfCallback(VCONFKEY_REGIONFORMAT,
+ OnLocaleChangedCb, this))
+ CHECK_LISTENER_ERROR(
+ SysteminfoUtils::RegisterVconfCallback(VCONFKEY_LANGSET,
+ OnLocaleChangedCb, this))
LoggerD("Added callback for LOCALE");
return PlatformResult(ErrorCode::NO_ERROR);
}
PlatformResult SysteminfoManager::UnregisterLocaleListener() {
LoggerD("Entered");
- if (SYSTEM_SETTINGS_ERROR_NONE !=
- system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_LANGUAGE) ) {
- LoggerE("Unregistration of language change callback failed");
- }
- if (SYSTEM_SETTINGS_ERROR_NONE !=
- system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_LOCALE_COUNTRY) ) {
- LoggerE("Unregistration of country change callback failed");
- }
+ PlatformResult ret = PlatformResult(ErrorCode::NO_ERROR);
+ CHECK_LISTENER_ERROR(
+ SysteminfoUtils::UnregisterVconfCallback(VCONFKEY_REGIONFORMAT,
+ OnLocaleChangedCb))
+ CHECK_LISTENER_ERROR(
+ SysteminfoUtils::UnregisterVconfCallback(VCONFKEY_LANGSET,
+ OnLocaleChangedCb))
+
LoggerD("Removed callback for LOCALE");
return PlatformResult(ErrorCode::NO_ERROR);
}