Add TEST_CODE for brightness 44/132744/1
authorjin0.kim <jin0.kim@samsung.com>
Wed, 7 Jun 2017 10:20:14 +0000 (18:50 +0830)
committerjin0.kim <jin0.kim@samsung.com>
Wed, 7 Jun 2017 10:20:14 +0000 (18:50 +0830)
Change-Id: I17d9aeba8b090544f2876c8d7609b7bb948e6eb8

data/org.tizen.w-home.xml.in
src/moments/moments_control_view.c
test/feature_test/group_feature_moments_control_button_status_behavior.c
test/test_function.h

index 2ddc4c89f75fee99e0329d92c008982d2cd4c111..738a7d9292155e60d3d6c3914b75a3f17e49a9d1 100755 (executable)
@@ -28,5 +28,7 @@
                <privilege>http://tizen.org/privilege/network.get</privilege>
                <privilege>http://tizen.org/privilege/systemsettings.admin</privilege>
                <privilege>http://tizen.org/privilege/volume.set</privilege>
+               <privilege>http://tizen.org/privilege/display</privilege>
+               <privilege>http://tizen.org/privilege/haptic</privilege>
        </privileges>
 </manifest>
index 2ed4b43e61ac65cc475b38cc6ff661e38481aedc..314063d616273c546e7bf81cde2a5ff5980e2315 100755 (executable)
@@ -19,6 +19,7 @@
 #include <efl_extension.h>
 #include <vconf.h>
 #include <sound_manager.h>
+#include <device/display.h>
 
 #include "log.h"
 #include "util.h"
@@ -63,9 +64,11 @@ static bool __is_with_bt_device(void);
 static void __do_not_disturb_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
 static void __flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
 static void __volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static void __brightness_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
 static void __do_not_disturb_status_changed_cb(keynode_t *node, void *user_data);
 static void __flight_mode_status_changed_cb(keynode_t *node, void *user_data);
 static void __volume_status_changed_cb(sound_type_e type, unsigned int volume, void *data);
+static void __brightness_status_changed_cb();
 
 const char *controls_btn_group_name[MOMENTS_CONTROLS_BTN_TYPE_MAX] = {
                                                                                                                                                CONTROLS_GROUP_ICON_ONLY,
@@ -75,9 +78,9 @@ const char *controls_btn_group_name[MOMENTS_CONTROLS_BTN_TYPE_MAX] = {
 
 control_info_t control_button_list[MOMENTS_CONTROLS_MAX] = {
        {MOMENTS_CONTROLS_DO_NOT_DISTURB,  MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_BAR,  "do not disturb",  "donotdisturb.png",    0, "",   0, __do_not_disturb_pressed_cb, NULL},
-       {MOMENTS_CONTROLS_VOLUME,          MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_TEXT, "volume",          "multimedia.png",      0, "10", 0, __volume_pressed_cb, NULL},
+       {MOMENTS_CONTROLS_VOLUME,          MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_TEXT, "volume",          "multimedia.png",      0, "5", 0, __volume_pressed_cb, NULL},
        {MOMENTS_CONTROLS_FLIGHT_MODE,      MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_BAR, "flight mode",     "flight_mode.png",     0, "",   0, __flight_mode_pressed_cb, NULL},
-       {MOMENTS_CONTROLS_BRIGHTNESS,      MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_TEXT, "brightness",      "brightness.png",      0, "7",  0, NULL, NULL},
+       {MOMENTS_CONTROLS_BRIGHTNESS,      MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_TEXT, "brightness",      "brightness.png",      0, "5",  0, __brightness_pressed_cb, NULL},
        {MOMENTS_CONTROLS_MUSIC_PLAYER,    MOMENTS_CONTROLS_BTN_TYPE_ICON_ONLY,     "music player",    "music.png",           0, "7",  0, NULL, NULL},
        {MOMENTS_CONTROLS_CALL_FORWARDING, MOMENTS_CONTROLS_BTN_TYPE_ICON_ONLY,     "call forwarding", "call_forwarding.png", 0, "7",  0, NULL, NULL},
 };
@@ -122,6 +125,7 @@ void moments_control_init(void)
        __do_not_disturb_status_changed_cb(NULL, NULL);
        __flight_mode_status_changed_cb(NULL, NULL);
        __volume_status_changed_cb(0, NULL, NULL);
+       __brightness_status_changed_cb();
 }
 
 void moments_control_fini(void)
@@ -231,6 +235,19 @@ static void __volume_status_changed_cb(sound_type_e type, unsigned int volume, v
        elm_object_part_text_set(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_TEXT, volume_text);
 }
 
+static void __brightness_status_changed_cb()
+{
+       int level = -1;
+       if (device_display_get_brightness(0, &level) != DEVICE_ERROR_NONE) {
+               _E("Fail to get device display state");
+               return;
+       }
+
+       char brightness_text[3];
+       snprintf(brightness_text, sizeof(brightness_text), "%d", level/10);
+       elm_object_part_text_set(control_button_list[MOMENTS_CONTROLS_BRIGHTNESS].button_layout, CONTROLS_TEXT, brightness_text);
+}
+
 control_info_t *moments_control_create_button(Evas_Object *base_layout, int button_id)
 {
        control_info_t *button = (control_info_t *)malloc(sizeof(control_info_t));
@@ -263,6 +280,11 @@ control_info_t *moments_control_create_button(Evas_Object *base_layout, int butt
                        _E("Failed to register the __flight_mode_status_changed_cb callback");
                }
                break;
+       case MOMENTS_CONTROLS_BRIGHTNESS:
+               if (vconf_notify_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, __brightness_status_changed_cb, NULL) < 0) {
+                       _E("Failed to register the _brightness_status_changed_cb callback");
+               }
+               break;
        default:
                break;
        }
@@ -288,6 +310,8 @@ void moments_control_destroy_button(control_info_t *button_info)
                case MOMENTS_CONTROLS_FLIGHT_MODE:
                        vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, __flight_mode_status_changed_cb);
                        break;
+               case MOMENTS_CONTROLS_BRIGHTNESS:
+                       vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, __brightness_status_changed_cb);
                default:
                        break;
                }
@@ -636,6 +660,12 @@ static void __volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *eve
        util_launch_app(SETTING_PKG_NAME, "launch-type", "volume");
 }
 
+static void __brightness_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       moments_hide();
+       util_launch_app(SETTING_PKG_NAME, "launch-type", "brightness");
+}
+
 #include "test.h"
 #if TEST_MODE
 Eina_List *__t__get_moments_control_button_list(void)
@@ -706,10 +736,22 @@ void __t__flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info
 }
 void __t__set_volume_level(int level)
 {
+       int ret = -1;
        if(moments_check_is_3g_device()) {
-               sound_manager_set_volume(SOUND_TYPE_RINGTONE, level);
+               ret = sound_manager_set_volume(SOUND_TYPE_RINGTONE, level);
        } else {
-               sound_manager_set_volume(SOUND_TYPE_MEDIA, level);
+               ret = sound_manager_set_volume(SOUND_TYPE_MEDIA, level);
+       }
+
+       if (ret != SOUND_MANAGER_ERROR_NONE) {
+               _E("Fail to set volume");
+       }
+}
+void __t__set_brightness_level(int level)
+{
+       int ret = device_display_set_brightness(0, level);
+       if (ret != DEVICE_ERROR_NONE) {
+               _E("Fail to set brightness");
        }
 }
 #endif
index 608ee897637014efd1844e7380f60c571f2fe939..01f7cab8c5dbc40d80b457ca46d97fe6cb8ac7cc 100755 (executable)
@@ -26,11 +26,12 @@ extern control_info_t control_button_list[MOMENTS_CONTROLS_MAX];
 
 static void __group_set_up(void)
 {
-       __t__set_state_3g_with_phone_connection();
+       __t__set_state_stand_alone();
        __t__update_control_view();
        __t__set_do_not_disturb_state(false);
        __t__set_flight_mode_state(false);
        __t__set_volume_level(5);
+       __t__set_brightness_level(50);
 
        TEST_GROUP_SET_UP_DONE(0.0, s_info.group);
 }
@@ -73,7 +74,7 @@ unit_case_func_t __case_check_do_not_disturb(void * data)
        Eina_List *button_list = __t__get_moments_control_button_list();
        TEST_ASSERT_TRUE_UPGRADE(button_list != NULL);
 
-       Eina_List *l;
+       Eina_List *l = NULL;
        control_info_t *button = NULL;
 
        EINA_LIST_FOREACH(button_list, l, button) {
@@ -213,7 +214,7 @@ unit_case_func_t __case_check_flight_mode(void * data)
        Eina_List *button_list = __t__get_moments_control_button_list();
        TEST_ASSERT_TRUE_UPGRADE(button_list != NULL);
 
-       Eina_List *l;
+       Eina_List *l = NULL;
        control_info_t *button = NULL;
 
        EINA_LIST_FOREACH(button_list, l, button) {
@@ -354,7 +355,7 @@ unit_case_func_t __case_check_volume(void * data)
        Eina_List *button_list = __t__get_moments_control_button_list();
        TEST_ASSERT_TRUE_UPGRADE(button_list != NULL);
 
-       Eina_List *l;
+       Eina_List *l = NULL;
        control_info_t *button = NULL;
 
        EINA_LIST_FOREACH(button_list, l, button) {
@@ -460,6 +461,77 @@ unit_case_func_t __case_check_volume_mute(void * data)
        TEST_CASE_DONE(s_info.group);
 }
 
+unit_case_func_t __continue_check_brightness(void * data);
+unit_case_func_t __case_check_brightness(void * data)
+{
+       Eina_List *button_list = __t__get_moments_control_button_list();
+       TEST_ASSERT_TRUE_UPGRADE(button_list != NULL);
+
+       Eina_List *l = NULL;
+       control_info_t *button = NULL;
+
+       EINA_LIST_FOREACH(button_list, l, button) {
+               if (button->index == MOMENTS_CONTROLS_BRIGHTNESS) {
+                       break;
+               }
+       }
+
+       TEST_ASSERT_TRUE_UPGRADE(button != NULL);
+       s_info.current_button = button;
+
+       const char *brightness_text = elm_object_part_text_get(button->button_layout, CONTROLS_TEXT);
+       TEST_ASSERT_EQUAL_STRING_UPGRADE("5", brightness_text);
+
+       Evas_Object *icon = elm_object_part_content_get(button->button_layout, CONTROLS_ICON);
+       const char *icon_image = NULL;
+       elm_image_file_get(icon, &icon_image, NULL);
+
+       TEST_ASSERT_TRUE_UPGRADE(icon_image != NULL);
+       TEST_ASSERT_EQUAL_STRING_UPGRADE(IMAGEDIR"/brightness.png", icon_image);
+
+       TEST_ASSERT_TRUE_UPGRADE(button->pressed != NULL);
+
+       button->pressed(NULL, NULL, NULL, NULL);
+
+       TEST_CASE_CONTINUE(0.3, __continue_check_brightness, NULL);
+}
+
+unit_case_func_t __continue_check_brightness(void * data)
+{
+       TEST_ASSERT_TRUE_UPGRADE(moments_get_visible() == false);
+
+       app_context_h setting_app_context = NULL;
+       int ret = APP_MANAGER_ERROR_NONE;
+
+       ret = app_manager_get_app_context("org.tizen.watch-setting", &setting_app_context);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       app_state_e setting_app_state = APP_STATE_UNDEFINED;
+       ret = app_context_get_app_state(setting_app_context , &setting_app_state);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_STATE_FOREGROUND, setting_app_state);
+
+       app_context_h home_app_context = NULL;
+       ret = app_manager_get_app_context(PACKAGE, &home_app_context);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       ret = app_manager_resume_app(home_app_context);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       ret = app_manager_request_terminate_bg_app(setting_app_context);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       ret = app_context_destroy(home_app_context);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       ret = app_context_destroy(setting_app_context);
+       TEST_ASSERT_EQUAL_INT_UPGRADE(APP_MANAGER_ERROR_NONE, ret);
+
+       TEST_CASE_DONE(s_info.group);
+}
+
+
 void group_feature_moments_control_button_status_behavior(unit_group_t * group)
 {
        s_info.group = group;
@@ -471,14 +543,13 @@ void group_feature_moments_control_button_status_behavior(unit_group_t * group)
        TEST_CASE_ADD(s_info.group, __case_check_do_not_disturb, NULL);
        TEST_CASE_ADD(s_info.group, __case_check_cancel_button_clicked_on_do_not_disturb_popup, NULL);
        TEST_CASE_ADD(s_info.group, __case_check_ok_button_clicked_on_do_not_disturb_popup, NULL);
-
        TEST_CASE_ADD(s_info.group, __case_check_flight_mode, NULL);
        TEST_CASE_ADD(s_info.group, __case_check_cancel_button_clicked_on_flight_mode_popup, NULL);
        TEST_CASE_ADD(s_info.group, __case_check_ok_button_clicked_on_flight_mode_popup, NULL);
-
        TEST_CASE_ADD(s_info.group, __case_check_volume, NULL);
        TEST_CASE_ADD(s_info.group, __case_check_volume_sound, NULL);
        TEST_CASE_ADD(s_info.group, __case_check_volume_mute, NULL);
+       TEST_CASE_ADD(s_info.group, __case_check_brightness, NULL);
 
        TEST_GROUP_TEAR_DOWN(s_info.group, __group_tear_down);
 
index 05a40bf4f1eb5b587da6a82b8326a9be28c22ffd..a1fee2c785c5006eb034219e807de42a3c3b2fb6 100755 (executable)
@@ -70,6 +70,7 @@ extern void __t__flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void
 extern void __t__flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info);
 
 extern void __t__set_volume_level(int level);
+extern void __t__set_brightness_level(int level);
 #endif
 #endif