From: DongHun Kwak Date: Mon, 5 Mar 2018 09:38:06 +0000 (+0900) Subject: Added SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE X-Git-Tag: submit/tizen/20180305.235537^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5cf35aca6a18bacfececd671a6c457fbc1042b1b;p=platform%2Fcore%2Fapi%2Fsystem-settings.git Added SYSTEM_SETTINGS_KEY_DEVELOPER_OPTION_STATE Change-Id: Ifb930f25843aa29a20cb3b14eb26e5bce471875b Signed-off-by: jinwang.an Signed-off-by: DongHun Kwak Signed-off-by: jinwang.an --- diff --git a/include/system_settings.h b/include/system_settings.h index 020f2d7..51c9a95 100644 --- a/include/system_settings.h +++ b/include/system_settings.h @@ -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; diff --git a/include/system_settings_private.h b/include/system_settings_private.h index 0d1804d..2568db6 100644 --- a/include/system_settings_private.h +++ b/include/system_settings_private.h @@ -1557,6 +1557,46 @@ int system_setting_set_changed_callback_automatic_time_update(system_settings_ke */ int system_setting_unset_changed_callback_automatic_time_update(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_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 @@ -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 } diff --git a/src/system_setting_platform.c b/src/system_setting_platform.c index a2665a4..b03fd57 100644 --- a/src/system_setting_platform.c +++ b/src/system_setting_platform.c @@ -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); +} + diff --git a/src/system_settings.c b/src/system_settings.c index a582dae..2602fb2 100644 --- a/src/system_settings.c +++ b/src/system_settings.c @@ -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. @@ -550,6 +551,21 @@ system_setting_s system_setting_table[] = { { NULL, 0 }, /* changed callabck list */ 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 } diff --git a/src/system_settings_vconf.c b/src/system_settings_vconf.c index c9bec4a..b633f07 100644 --- a/src/system_settings_vconf.c +++ b/src/system_settings_vconf.c @@ -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" }; diff --git a/unit_test/src/unit_test.c b/unit_test/src/unit_test.c index c749ab5..5fc363a 100644 --- a/unit_test/src/unit_test.c +++ b/unit_test/src/unit_test.c @@ -2185,6 +2185,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 @@ -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);