Fix to check SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE feature 46/304346/1 accepted/tizen_unified_toolchain accepted/tizen/unified/20240122.175416 accepted/tizen/unified/toolchain/20240311.065153 accepted/tizen/unified/x/20240205.063943
authorJinWang An <jinwang.an@samsung.com>
Tue, 16 Jan 2024 08:09:40 +0000 (17:09 +0900)
committerJinWang An <jinwang.an@samsung.com>
Tue, 16 Jan 2024 08:09:40 +0000 (17:09 +0900)
Change-Id: I6b04936959bed2bb3de99289868f65520e7ab3f2
Signed-off-by: JinWang An <jinwang.an@samsung.com>
src/sst_feature.c
src/sst_feature.h
src/sst_interface.c
tests/mocks/system_info.c
tests/sst_gtest_err_interface.cpp

index 41050d3..4e6a9f3 100644 (file)
@@ -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;
+}
index 63c1f32..9b6464b 100644 (file)
@@ -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);
index 0099ae8..06df781 100644 (file)
@@ -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
        },
index 5fba95b..927c8a8 100644 (file)
@@ -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;
index 1da79b7..0d7564a 100644 (file)
@@ -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