Added SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE 53/170353/4 accepted/tizen/unified/20180306.061337 submit/tizen/20180305.235537
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 5 Mar 2018 09:38:06 +0000 (18:38 +0900)
committerjinwang.an <jinwang.an@samsung.com>
Mon, 5 Mar 2018 10:12:09 +0000 (19:12 +0900)
Change-Id: Ifb930f25843aa29a20cb3b14eb26e5bce471875b
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
Signed-off-by: jinwang.an <jinwang.an@samsung.com>
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 020f2d7..51c9a95 100644 (file)
@@ -90,6 +90,7 @@ typedef enum {
        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_DEVELOPER_OPTION_STATE,     /**< (bool) Indicates whether developer option state is enabled on the device. (Since 5.0) */
        SYSTEM_SETTINGS_KEY_MAX,
 } system_settings_key_e;
 
index 0d1804d..2568db6 100644 (file)
@@ -1559,6 +1559,46 @@ int system_setting_unset_changed_callback_automatic_time_update(system_settings_
 
 /**
  * @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_developer_option_state(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_developer_option_state(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_developer_option_state(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_developer_option_state(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
@@ -1637,8 +1677,8 @@ int system_setting_feature_check_telephony(void *value);
  * @retval     #SYSTEM_SETTINGS_ERROR_NOT_SUPPORTED Not support system-settings API
  */
 int system_setting_feature_check_font(void *value);
-/*// */
 
+/*// */
 
 #ifdef __cplusplus
 }
index a2665a4..b03fd57 100644 (file)
@@ -2249,6 +2249,7 @@ int system_setting_feature_check_font(void * value)
 
        return ret;
 }
+
 /*  LCOV_EXCL_START */
 int system_setting_get_uds_state(system_settings_key_e key, void **value)
 {
@@ -2434,3 +2435,43 @@ int system_setting_unset_changed_callback_automatic_time_update(system_settings_
        return system_setting_vconf_unset_changed_cb(VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL, 2);
 }
 
+/* SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE */
+int system_setting_get_developer_option_state(system_settings_key_e key, void **value)
+{
+       SETTING_TRACE_BEGIN;
+       bool vconf_value;
+
+       if (system_setting_vconf_get_value_bool(VCONFKEY_SETAPPL_DEVELOPER_OPTION_STATE, &vconf_value)) {
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+       *value = (void *)vconf_value;
+
+       return SYSTEM_SETTINGS_ERROR_NONE;
+}
+
+/*  LCOV_EXCL_START */
+int system_setting_set_developer_option_state(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_DEVELOPER_OPTION_STATE, *vconf_value)) {
+               return SYSTEM_SETTINGS_ERROR_IO_ERROR;
+       }
+
+       return SYSTEM_SETTINGS_ERROR_NONE;
+}
+/*  LCOV_EXCL_STOP */
+
+int system_setting_set_changed_callback_developer_option_state(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_DEVELOPER_OPTION_STATE, SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE, 2, user_data);
+}
+
+int system_setting_unset_changed_callback_developer_option_state(system_settings_key_e key)
+{
+       SETTING_TRACE_BEGIN;
+       return system_setting_vconf_unset_changed_cb(VCONFKEY_SETAPPL_DEVELOPER_OPTION_STATE, 2);
+}
+
index a582dae..2602fb2 100644 (file)
@@ -1,4 +1,5 @@
-/* * 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.
@@ -551,6 +552,21 @@ system_setting_s system_setting_table[] = {
                NULL,           /* user data */
        },
        {
+               SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE,
+               SYSTEM_SETTING_DATA_TYPE_BOOL,
+               system_setting_get_developer_option_state,
+               system_setting_set_developer_option_state,
+               system_setting_set_changed_callback_developer_option_state,
+               system_setting_unset_changed_callback_developer_option_state,
+               NULL,
+               NULL,           /* ADD */
+               NULL,           /* DEL */
+               NULL,           /* LIST */
+               NULL,           /* 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 c9bec4a..b633f07 100644 (file)
@@ -66,6 +66,8 @@ static char* _system_settings_vconf_table[38] = {
        VCONFKEY_SETAPPL_ACCESSIBILITY_TTS,
        VCONFKEY_SETAPPL_VIBRATION_STATUS_BOOL,
        VCONFKEY_SETAPPL_STATE_AUTOMATIC_TIME_UPDATE_BOOL,
+       VCONFKEY_SETAPPL_LCD_TIMEOUT_NORMAL,
+       VCONFKEY_SETAPPL_DEVELOPER_OPTION_STATE,
        "MAX"
 };
 
index c749ab5..5fc363a 100644 (file)
@@ -2186,6 +2186,34 @@ RETTYPE utc_system_settings_set_value_bool_p7(void)
 
 
 /**
+ * @testcase           utc_system_settings_set_value_bool_p8
+ * @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_p8(void)
+{
+       int ret;
+
+       /* get current state */
+       bool ret_state = false;
+       ret = system_settings_get_value_bool(SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE, &ret_state);
+       my_assert_ret(ret);
+
+
+       bool state = !ret_state;
+       ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE, state);
+       my_assert_ret(ret);
+
+
+       /* roll back */
+       ret = system_settings_set_value_bool(SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE, ret_state);
+       my_assert_ret(ret);
+
+       assert(state != ret_state);
+       RETURN(0);
+}
+/**
  * @testcase           utc_system_settings_set_value_int_p2
  * @since_tizen                2.3
  * @description     check if SYSTEM_SETTINGS_KEY_FONT_SIZE is able to set the property.
@@ -2689,6 +2717,40 @@ RETTYPE utc_system_settings_unset_changed_cb_p34(void)
        RETURN(0);
 }
 
+
+/**
+ * @testcase           utc_system_settings_set_changed_cb_p37
+ * @since_tizen                5.0
+ * @description     check if SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE is able to set the callback for change-notification.
+ */
+RETTYPE utc_system_settings_set_changed_cb_p37(void)
+{
+       system_settings_changed_cb callback = get_system_settings_test_callback();
+       int retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE,
+                                                                                                callback, NULL);
+       my_assert_ret(retcode);
+
+       RETURN(0);
+}
+
+
+/**
+ * @testcase           utc_system_settings_unset_changed_cb_p36
+ * @since_tizen                5.0
+ * @description     check if SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE is able to set the callback for change-notification.
+ *                  check if SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE is able to unset the callback for change-notification.
+ */
+RETTYPE utc_system_settings_unset_changed_cb_p36(void)
+{
+       system_settings_changed_cb callback = get_system_settings_test_callback();
+       int retcode = system_settings_set_changed_cb(SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE,
+                                                                                                callback, NULL);
+
+       retcode = system_settings_unset_changed_cb(SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE);
+       my_assert_ret(retcode);
+
+       RETURN(0);
+}
 void unittest_api()
 {
        /* hook up your test functions */
@@ -2791,6 +2853,8 @@ void unittest_api()
        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_set_changed_cb_p37", utc_system_settings_set_changed_cb_p37);
+       g_test_add_func("/utc_system_settings_unset_changed_cb_p36", utc_system_settings_unset_changed_cb_p36);
        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);
@@ -2814,6 +2878,7 @@ void unittest_api()
        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_bool_p8", utc_system_settings_set_value_bool_p8);
        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);