From: JinWang An Date: Tue, 16 Jan 2024 08:09:40 +0000 (+0900) Subject: Fix to check SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE feature X-Git-Tag: accepted/tizen/unified/20240122.175416^0 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fapi%2Fsystem-settings.git;a=commitdiff_plain;h=3805f78aa34afeb8fcee3ae06fc262737a196abd Fix to check SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE feature Change-Id: I6b04936959bed2bb3de99289868f65520e7ab3f2 Signed-off-by: JinWang An --- diff --git a/src/sst_feature.c b/src/sst_feature.c index 41050d3..4e6a9f3 100644 --- a/src/sst_feature.c +++ b/src/sst_feature.c @@ -31,6 +31,7 @@ #define SST_FEATURE_PROFILE "tizen.org/feature/profile" #define SST_FEATURE_TELEPHONY "tizen.org/feature/network.telephony" #define SST_FEATURE_WIFI "tizen.org/feature/network.wifi" +#define SST_FEATURE_ETHERNET "tizen.org/feature/network.ethernet" static int _check_feature(const char *path) { @@ -241,3 +242,32 @@ int sst_feature_check_rotary(void *value) return result; } + +int sst_feature_check_automatic_time_update(void *value) +{ + static bool first_query = true; + static int ret = SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED; + const char *feature[] = { + SST_FEATURE_TELEPHONY, + SST_FEATURE_WIFI, + SST_FEATURE_ETHERNET + }; + int cnt = sizeof(feature) / sizeof(char*); + + if (first_query == true) { + for (int i = 0 ; i < cnt ; i++) { + int feature_result = _check_feature(feature[i]); + if (SYSTEM_SETTINGS_ERROR_NONE == feature_result) { + ret = feature_result; + break; + } + if (SYSTEM_SETTINGS_ERROR_IO_ERROR == feature_result) { + ERR("_check_feature(%s) Fail(%d)", feature[i], ret); + ret = SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED; + } + } + first_query = false; + } + + return ret; +} diff --git a/src/sst_feature.h b/src/sst_feature.h index 63c1f32..9b6464b 100644 --- a/src/sst_feature.h +++ b/src/sst_feature.h @@ -25,3 +25,4 @@ int sst_feature_check_font(void *value); int sst_feature_check_accessibility_grayscale(void *value); int sst_feature_check_accessibility_negative(void *value); int sst_feature_check_rotary(void *value); +int sst_feature_check_automatic_time_update(void *value); diff --git a/src/sst_interface.c b/src/sst_interface.c index 0099ae8..06df781 100644 --- a/src/sst_interface.c +++ b/src/sst_interface.c @@ -294,7 +294,7 @@ static sst_interface sst_iface_table[] = { SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, SYSTEM_SETTING_DATA_TYPE_BOOL, - .feature_checker = sst_feature_check_telephony, + .feature_checker = sst_feature_check_automatic_time_update, .getter.b = sst_vconf_get_bool, .setter.b = sst_vconf_set_bool }, diff --git a/tests/mocks/system_info.c b/tests/mocks/system_info.c index 5fba95b..927c8a8 100644 --- a/tests/mocks/system_info.c +++ b/tests/mocks/system_info.c @@ -59,6 +59,10 @@ API int system_info_get_platform_bool(const char *key, bool *value) *value = true; return 0; } + if (0 == strcmp(key, "tizen.org/feature/network.ethernet")) { + *value = true; + return 0; + } if (0 == strcmp(key, "tizen.org/feature/network.wifi")) { *value = true; return 0; diff --git a/tests/sst_gtest_err_interface.cpp b/tests/sst_gtest_err_interface.cpp index 1da79b7..0d7564a 100644 --- a/tests/sst_gtest_err_interface.cpp +++ b/tests/sst_gtest_err_interface.cpp @@ -38,6 +38,7 @@ TEST(SstInterfaceTest, getInterfaceERR) SYSTEM_SETTINGS_KEY_DEFAULT_FONT_TYPE, SYSTEM_SETTINGS_KEY_NETWORK_WIFI_NOTIFICATION, SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE, + SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, SYSTEM_SETTINGS_KEY_ACCESSIBILITY_GRAYSCALE, SYSTEM_SETTINGS_KEY_ACCESSIBILITY_NEGATIVE_COLOR, SYSTEM_SETTINGS_KEY_ROTARY_EVENT_ENABLED