Add SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE 04/169404/2 accepted/tizen/unified/20180219.142439 submit/tizen/20180219.042415
authorjinwang.an <jinwang.an@samsung.com>
Tue, 6 Feb 2018 09:27:07 +0000 (18:27 +0900)
committerjinwang.an <jinwang.an@samsung.com>
Thu, 8 Feb 2018 05:05:46 +0000 (14:05 +0900)
Change-Id: I6245f2efe76276eb4b02cc3cc3ecac8479ed028a
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
doc/system_settings_doc.h
include/system_settings.h
include/system_settings_private.h
src/system_setting_platform.c
src/system_settings.c
src/system_settings_vconf.c
unit_test/src/unit_test.c

index 99b2cf8..d73c763 100644 (file)
@@ -62,7 +62,8 @@
 * <tr> <td>   #SYSTEM_SETTINGS_KEY_FONT_TYPE </td>  </tr>
 * <tr> <td>   #SYSTEM_SETTINGS_KEY_FONT_SIZE </td>  </tr>
 * <tr> <td> http://tizen.org/feature/network.wifi </td> <td>   #SYSTEM_SETTINGS_KEY_NETWORK_WIFI_NOTIFICATION </td> </tr>
-* <tr> <td rowspan=2> http://tizen.org/feature/network.telephony </td> <td>   #SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE </td> </tr>
+* <tr> <td rowspan=3> http://tizen.org/feature/network.telephony </td> <td>   #SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE </td> </tr>
 * <tr> <td>   #SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE_PKG_LIST </td>  </tr>
+* <tr> <td>   #SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE </td>  </tr>
 * </table>
 */
index 26795e6..1a56cd3 100644 (file)
@@ -90,6 +90,7 @@ typedef enum {
        SYSTEM_SETTINGS_KEY_ULTRA_DATA_SAVE_PKG_LIST, /**< (string) Indicates Ultra Data Save Package List (Since 4.0), the list is a string containing whitelisted package names separated with semicolons (;) */
        SYSTEM_SETTINGS_KEY_ACCESSIBILITY_TTS,                          /**< GET (bool) Indicates whether the accessibility TTS is enabled on the device. (Since 4.0) */
        SYSTEM_SETTINGS_KEY_VIBRATION,                          /**< (bool) Indicates whether vibration is enabled on the device. (Since 4.0) */
+       SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE,      /**< (bool) Indicates whether updating time automatically is enabled on the device. (Since 5.0) */
        SYSTEM_SETTINGS_KEY_MAX,
 } system_settings_key_e;
 
index e1283f8..0d1804d 100644 (file)
@@ -1519,6 +1519,46 @@ int system_setting_unset_changed_callback_vibration(system_settings_key_e key);
 
 /**
  * @internal
+ * @since_tizen 5.0
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #SYSTEM_SETTINGS_ERROR_NONE Successful
+ * @retval     #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
+ * @retval     #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
+ */
+int system_setting_get_automatic_time_update(system_settings_key_e key, void **value);
+
+/**
+ * @internal
+ * @since_tizen 5.0
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #SYSTEM_SETTINGS_ERROR_NONE Successful
+ * @retval     #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
+ * @retval     #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
+ */
+int system_setting_set_automatic_time_update(system_settings_key_e key, void *value);
+
+/**
+ * @internal
+ * @since_tizen 5.0
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #SYSTEM_SETTINGS_ERROR_NONE Successful
+ * @retval     #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
+ * @retval     #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
+ */
+int system_setting_set_changed_callback_automatic_time_update(system_settings_key_e key, system_settings_changed_cb callback, void *user_data);
+
+/**
+ * @internal
+ * @since_tizen 5.0
+ * @return     0 on success, otherwise a negative error value
+ * @retval     #SYSTEM_SETTINGS_ERROR_NONE Successful
+ * @retval     #SYSTEM_SETTINGS_ERROR_IO_ERROR Internal I/O error
+ * @retval     #SYSTEM_SETTINGS_ERROR_PERMISSION_DENIED Permission violation error
+ */
+int system_setting_unset_changed_callback_automatic_time_update(system_settings_key_e key);
+
+/**
+ * @internal
  * @since_tizen 3.0
  * @return     0 on success, otherwise a negative error value
  * @retval     #SYSTEM_SETTINGS_ERROR_NONE Successful
index 83ccddd..a2665a4 100644 (file)
@@ -2394,3 +2394,43 @@ int system_setting_unset_changed_callback_vibration(system_settings_key_e key)
        return system_setting_vconf_unset_changed_cb(VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL, 2);
 }
 
+/* SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE */
+int system_setting_get_automatic_time_update(system_settings_key_e key, void **value)
+{
+       SETTING_TRACE_BEGIN;
+       bool vconf_value;
+
+       if (system_setting_vconf_get_value_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, &vconf_value)) {
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+       *value = (void *)vconf_value;
+
+       return SYSTEM_SETTINGS_ERROR_NONE;
+}
+
+/*  LCOV_EXCL_START */
+int system_setting_set_automatic_time_update(system_settings_key_e key, void *value)
+{
+       SETTING_TRACE_BEGIN;
+       bool *vconf_value;
+       vconf_value = (bool *)value;
+       if (system_setting_vconf_set_value_bool(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, *vconf_value)) {
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+
+       return SYSTEM_SETTINGS_ERROR_NONE;
+}
+/*  LCOV_EXCL_STOP */
+
+int system_setting_set_changed_callback_automatic_time_update(system_settings_key_e key, system_settings_changed_cb callback, void *user_data)
+{
+       SETTING_TRACE_BEGIN;
+       return system_setting_vconf_set_changed_cb(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, 2, user_data);
+}
+
+int system_setting_unset_changed_callback_automatic_time_update(system_settings_key_e key)
+{
+       SETTING_TRACE_BEGIN;
+       return system_setting_vconf_unset_changed_cb(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, 2);
+}
+
index 661d2cc..a582dae 100644 (file)
@@ -1,5 +1,4 @@
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
+/* * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
  *
  * Licensed under the Apache License, Version 2.0 (the License);
  * you may not use this file except in compliance with the License.
@@ -537,6 +536,21 @@ system_setting_s system_setting_table[] = {
                NULL,           /* user data */
        },
        {
+               SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE,
+               SYSTEM_SETTING_DATA_TYPE_BOOL,
+               system_setting_get_automatic_time_update,
+               system_setting_set_automatic_time_update,
+               system_setting_set_changed_callback_automatic_time_update,
+               system_setting_unset_changed_callback_automatic_time_update,
+               NULL,
+               NULL,           /* ADD */
+               NULL,           /* DEL */
+               NULL,           /* LIST */
+               system_setting_feature_check_telephony,         /* feature check */
+               { NULL, 0 }, /* changed callabck list */
+               NULL,           /* user data */
+       },
+       {
                SYSTEM_SETTINGS_MAX, -1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, { NULL, 0 }, NULL
        }
 };
index 2fd4586..c9bec4a 100644 (file)
@@ -65,6 +65,7 @@ static char* _system_settings_vconf_table[38] = {
        VCONFKEY_SETAPPL_UDSM_PKGID_LIST,
        VCONFKEY_SETAPPL_ACCESSIBILITY_TTS,
        VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL,
+       VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL,
        "MAX"
 };
 
index 124cd96..c749ab5 100644 (file)
@@ -2155,6 +2155,35 @@ RETTYPE utc_system_settings_set_value_bool_p6(void)
        RETURN(0);
 }
 
+/**
+ * @testcase           utc_system_settings_set_value_bool_p7
+ * @since_tizen                5.0
+ * @description     check if SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE is able to set the property.
+ *                                     check if SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE is able to get the property.
+ */
+RETTYPE utc_system_settings_set_value_bool_p7(void)
+{
+       int ret;
+
+       /* get current state */
+       bool ret_state = false;
+       ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, &ret_state);
+       my_assert_ret(ret);
+
+
+       bool state = !ret_state;
+       ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, state);
+       my_assert_ret(ret);
+
+
+       /* roll back */
+       ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE, ret_state);
+       my_assert_ret(ret);
+
+       assert(state != ret_state);
+       RETURN(0);
+}
+
 
 /**
  * @testcase           utc_system_settings_set_value_int_p2
@@ -2626,6 +2655,40 @@ RETTYPE utc_system_settings_lock_screen_app_p1(void)
        RETURN(0);
 }
 
+/**
+ * @testcase           utc_system_settings_set_changed_cb_p35
+ * @since_tizen                5.0
+ * @description     check if SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE is able to set the callback for change-notification.
+ */
+RETTYPE utc_system_settings_set_changed_cb_p35(void)
+{
+       system_settings_changed_cb callback = get_system_settings_test_callback();
+       int retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE,
+                                                                                                callback, NULL);
+       my_assert_ret(retcode);
+
+       RETURN(0);
+}
+
+
+/**
+ * @testcase           utc_system_settings_unset_changed_cb_p34
+ * @since_tizen                5.0
+ * @description     check if SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE is able to set the callback for change-notification.
+ *                  check if SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE is able to unset the callback for change-notification.
+ */
+RETTYPE utc_system_settings_unset_changed_cb_p34(void)
+{
+       system_settings_changed_cb callback = get_system_settings_test_callback();
+       int retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE,
+                                                                                                callback, NULL);
+
+       retcode = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_AUTOMATIC_TIME_UPDATE);
+       my_assert_ret(retcode);
+
+       RETURN(0);
+}
+
 void unittest_api()
 {
        /* hook up your test functions */
@@ -2726,6 +2789,8 @@ void unittest_api()
        g_test_add_func("/utc_system_settings_unset_changed_cb_p30", utc_system_settings_unset_changed_cb_p30);
        g_test_add_func("/utc_system_settings_set_changed_cb_p33", utc_system_settings_set_changed_cb_p33);
        g_test_add_func("/utc_system_settings_unset_changed_cb_p32", utc_system_settings_unset_changed_cb_p32);
+       g_test_add_func("/utc_system_settings_set_changed_cb_p35", utc_system_settings_set_changed_cb_p35);
+       g_test_add_func("/utc_system_settings_unset_changed_cb_p34", utc_system_settings_unset_changed_cb_p34);
        g_test_add_func("/utc_system_settings_add_ringtone_list_p1", utc_system_settings_add_ringtone_list_p1);
        g_test_add_func("/utc_system_settings_delete_ringtone_list_p1", utc_system_settings_delete_ringtone_list_p1);
        add_test_func("/utc_system_settings_set_value_string_p1", utc_system_settings_set_value_string_p1);
@@ -2748,6 +2813,7 @@ void unittest_api()
        add_test_func("/utc_system_settings_set_value_bool_p4", utc_system_settings_set_value_bool_p4);
        add_test_func("/utc_system_settings_set_value_bool_p5", utc_system_settings_set_value_bool_p5);
        add_test_func("/utc_system_settings_set_value_bool_p6", utc_system_settings_set_value_bool_p6);
+       add_test_func("/utc_system_settings_set_value_bool_p7", utc_system_settings_set_value_bool_p7);
        add_test_func("/utc_system_settings_set_value_int_p2", utc_system_settings_set_value_int_p2);
        add_test_func("/utc_system_settings_set_value_string_n6", utc_system_settings_set_value_string_n6);
        g_test_add_func("/utc_system_settings_unset_changed_cb_n", utc_system_settings_unset_changed_cb_n);