Devide moments_control_xx function from moment_control_view 18/134918/2
authorjin0.kim <jin0.kim@samsung.com>
Tue, 20 Jun 2017 08:35:43 +0000 (17:05 +0830)
committerjin0.kim <jin0.kim@samsung.com>
Tue, 20 Jun 2017 08:38:55 +0000 (17:08 +0830)
Change-Id: Id7f59ed51e67dc51d100269cae4dcaeaf7a028b3

12 files changed:
CMakeLists.txt
inc/moments/moments.h
inc/moments/moments_control_view.h
inc/moments/moments_view.h
src/moments/moments_control_brightness.c [new file with mode: 0755]
src/moments/moments_control_do_not_disturb.c [new file with mode: 0755]
src/moments/moments_control_flight_mode.c [new file with mode: 0755]
src/moments/moments_control_view.c
src/moments/moments_control_volume.c [new file with mode: 0755]
src/moments/moments_view.c
test/feature_test/group_feature_moments_control_button_status_behavior.c
test/test_function.h

index 863d584e57b16b62424d3dfeaccf69768bee864c..85f9c6cd9f3c36cf62bec6723a20f5e0a19cdcc0 100755 (executable)
@@ -213,6 +213,10 @@ ADD_EXECUTABLE(${PROJECT_NAME}
        src/moments/moments_view.c
        src/moments/moments_status_view.c
        src/moments/moments_control_view.c
+       src/moments/moments_control_brightness.c
+       src/moments/moments_control_do_not_disturb.c
+       src/moments/moments_control_flight_mode.c
+       src/moments/moments_control_volume.c
        src/moments/moments_view_animator.c
        src/home_app_manager.c
 
index 5e5e0295c59c9f936d45de2d59aa567b8e0f93b6..ae52d60f161915920e772f44f84fc965fcb6153b 100755 (executable)
@@ -17,6 +17,7 @@
 #ifndef __MOMENTS_H__
 #define __MOMENTS_H__
 
+#include <app.h>
 #include <Elementary.h>
 
 #define MOMENT_STATUS_FLIGHT_MODE 5
index de2981f10172d0b58026efb5f7f1341309734a59..7e177f4997cfe31e5cd438540d237f785c729409 100755 (executable)
 
 #include "common_conf.h"
 
+#include <vconf.h>
 #include <Elementary.h>
+#include <sound_manager.h>
+
 
 typedef enum {
        MOMENTS_CONTROLS_DO_NOT_DISTURB,
@@ -58,9 +61,12 @@ typedef struct __control_info_t {
        Evas_Object *button_layout;
 } control_info_t;
 
+
+#define SETTING_PKG_NAME  "org.tizen.watch-setting"
+
 void moments_control_init(void);
 void moments_control_fini(void);
-Evas_Object *moments_control_view_create(Evas_Object* base_win, Evas_Object *base_layout);
+Evas_Object *moments_control_view_create(Evas_Object *base_layout);
 void moments_control_view_destroy(void);
 control_info_t *moments_control_create_button(Evas_Object *base_layout, int button_id);
 void moments_control_push_to_button_list(control_info_t *button_info);
@@ -68,11 +74,18 @@ void moments_control_destroy_button(control_info_t *button_info);
 position_t *moments_control_get_button_position(int total_count, int index);
 void moments_control_clear_button_list(void);
 
-Eina_List * __t__get_moments_control_button_list(void);
-bool moments_control_get_do_not_disturb_popup_visible(void);
-bool moments_control_get_flight_mode_popup_visible(void);
+void moments_control_brightness_pressed_cb(void * data, Evas * e, Evas_Object * obj, void * event_info);
+void moments_control_brightness_status_changed_cb(keynode_t *node, void *user_data);
 void moments_control_do_not_disturb_popup_close(void);
+void moments_control_do_not_disturb_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+void moments_control_do_not_disturb_status_changed_cb(keynode_t *node, void *user_data);
+bool moments_control_get_do_not_disturb_popup_visible(void);
 void moments_control_flight_mode_popup_close(void);
+void moments_control_flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+void moments_control_flight_mode_status_changed_cb(keynode_t *node, void *user_data);
+bool moments_control_get_flight_mode_popup_visible(void);
+void moments_control_volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+void moments_control_volume_status_changed_cb(sound_type_e type, unsigned int volume, void *data);
 
 #endif
 
index c65a7117cd11edd50a950ef68710c24cb920107d..d88b0de2089585fa9af7ae3fea9055161447d02b 100755 (executable)
@@ -46,6 +46,7 @@ bool moments_view_show(void);
 bool moments_view_hide(void);
 void moments_view_move(int from_y, int to_y);
 void moments_view_put_down(void);
+Evas_Object *moments_view_get_base_window(void);
 void moments_view_status_battery_update(int percent, int converted_percent, bool is_charging);
 
 #endif
diff --git a/src/moments/moments_control_brightness.c b/src/moments/moments_control_brightness.c
new file mode 100755 (executable)
index 0000000..609f590
--- /dev/null
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2013 - 2016 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app.h>
+#include <Elementary.h>
+#include <efl_extension.h>
+#include <vconf.h>
+#include <device/display.h>
+
+#include "log.h"
+#include "util.h"
+#include "app_log.h"
+
+#include "moments/moments.h"
+#include "moments/moments_view_conf.h"
+#include "moments/moments_view_edje_conf.h"
+#include "moments/moments_control_view.h"
+
+extern control_info_t control_button_list[MOMENTS_CONTROLS_MAX];
+
+void moments_control_brightness_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       moments_hide();
+       util_launch_app(SETTING_PKG_NAME, "launch-type", "brightness");
+}
+
+void moments_control_brightness_status_changed_cb(keynode_t *node, void *user_data)
+{
+       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);
+}
+
+#include "test.h"
+#if TEST_MODE
+void __t__set_moments_control_brightness_level(int level)
+{
+       int ret = device_display_set_brightness(0, level);
+       if (ret != DEVICE_ERROR_NONE) {
+               _E("Fail to set brightness");
+       }
+}
+int __t__get_moments_control_brightness_level(void)
+{
+       int level = -1;
+       if (device_display_get_brightness(0, &level) != DEVICE_ERROR_NONE) {
+               _E("Fail to get device display state");
+               return 0;
+       }
+       return level;
+}
+#endif
+
diff --git a/src/moments/moments_control_do_not_disturb.c b/src/moments/moments_control_do_not_disturb.c
new file mode 100755 (executable)
index 0000000..e4bb07f
--- /dev/null
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2013 - 2016 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <app.h>
+#include <efl_extension.h>
+#include <vconf.h>
+
+#include "log.h"
+#include "util.h"
+#include "app_log.h"
+#include "moments/moments.h"
+#include "moments/moments_view.h"
+#include "moments/moments_control_view.h"
+
+
+
+static struct __control_view_s {
+       Evas_Object *do_not_disturb_popup;
+       Evas_Object *do_not_disturb_layout;
+} s_info = {
+       .do_not_disturb_popup = NULL,
+       .do_not_disturb_layout = NULL,
+};
+
+extern control_info_t control_button_list[MOMENTS_CONTROLS_MAX];
+
+static void __do_not_disturb_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (evas_object_visible_get(s_info.do_not_disturb_popup) == false) {
+               return;
+       }
+
+       if (s_info.do_not_disturb_popup) {
+               elm_popup_dismiss(s_info.do_not_disturb_popup);
+               s_info.do_not_disturb_popup = NULL;
+       }
+}
+
+static void __do_not_disturb_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (evas_object_visible_get(s_info.do_not_disturb_popup) == false) {
+               return;
+       }
+
+       vconf_set_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, true);
+
+       elm_popup_dismiss(s_info.do_not_disturb_popup);
+       s_info.do_not_disturb_popup = NULL;
+}
+
+static Evas_Object *__do_not_disturb_popup_view_create()
+{
+       Evas_Object *base_window = moments_view_get_base_window();
+       if (base_window == NULL) {
+               _E("base window is null!!!");
+               return NULL;
+       }
+
+       Evas_Object *popup = elm_popup_add(base_window);
+       s_info.do_not_disturb_popup = popup;
+
+       elm_object_style_set(popup, "circle");
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __do_not_disturb_popup_cancel_cb, NULL);
+       evas_object_smart_callback_add(popup, "dismissed", NULL, NULL);
+
+       Evas_Object *layout = elm_layout_add(popup);
+       s_info.do_not_disturb_layout = layout;
+       elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
+       elm_object_content_set(popup, layout);
+
+       /* FIXME - string */
+       elm_object_translatable_part_text_set(layout, "elm.text.title", "Do not disturb");
+       elm_object_translatable_part_text_set(layout, "elm.text", "Sounds will be muted and screen will remain turned off for incoming calls and alerts, but not alarms.");
+
+       Evas_Object *left_btn = elm_button_add(popup);
+       elm_object_style_set(left_btn, "popup/circle/left");
+       evas_object_size_hint_weight_set(left_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(popup, "button1", left_btn);
+       evas_object_smart_callback_add(left_btn, "clicked", __do_not_disturb_popup_cancel_cb, popup);
+
+       Evas_Object *left_icon_image = elm_image_add(left_btn);
+       elm_image_file_set(left_icon_image, IMAGEDIR"/tw_ic_popup_btn_delete.png", NULL);
+       evas_object_size_hint_weight_set(left_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(left_btn, "elm.swallow.content", left_icon_image);
+       evas_object_show(left_icon_image);
+
+       Evas_Object *right_btn = elm_button_add(popup);
+       elm_object_style_set(right_btn, "popup/circle/right");
+       evas_object_size_hint_weight_set(right_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(popup, "button2", right_btn);
+       evas_object_smart_callback_add(right_btn, "clicked", __do_not_disturb_popup_ok_cb, popup);
+
+       Evas_Object *right_icon_image = elm_image_add(right_btn);
+       elm_image_file_set(right_icon_image, IMAGEDIR"/tw_ic_popup_btn_check.png", NULL);
+       evas_object_size_hint_weight_set(right_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(right_btn, "elm.swallow.content", right_icon_image);
+       evas_object_show(right_icon_image);
+
+       evas_object_move(popup, 0, 0);
+       evas_object_show(popup);
+
+       return popup;
+}
+
+void moments_control_do_not_disturb_status_changed_cb(keynode_t *node, void *user_data)
+{
+       int is_do_not_disturb = false;
+
+       vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &is_do_not_disturb);
+       if (is_do_not_disturb == false) {
+               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_DO_NOT_DISTURB].button_layout, "control_bar_off", "control_bar");
+       } else {
+               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_DO_NOT_DISTURB].button_layout, "control_bar_on", "control_bar");
+       }
+}
+
+void moments_control_do_not_disturb_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       int is_do_not_disturb = false;
+
+       vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &is_do_not_disturb);
+       if (is_do_not_disturb == false) {
+               moments_hide();
+               __do_not_disturb_popup_view_create();
+       } else {
+               int ret = vconf_set_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, false);
+               if (ret < 0) {
+                       _E("Failed to set vconfkey(%s) : %d", VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, ret);
+               }
+       }
+}
+
+void moments_control_do_not_disturb_popup_close(void)
+{
+       __do_not_disturb_popup_cancel_cb(NULL, NULL, NULL);
+}
+
+bool moments_control_get_do_not_disturb_popup_visible(void)
+{
+       if (s_info.do_not_disturb_popup != NULL && evas_object_visible_get(s_info.do_not_disturb_popup) == true)
+               return true;
+
+       return false;
+}
+
+#include "test.h"
+#if TEST_MODE
+Evas_Object *__t__get_moments_control_do_not_disturb_popup(void)
+{
+       return s_info.do_not_disturb_popup;
+}
+Evas_Object *__t__get_moments_control_do_not_disturb_popup_layout(void)
+{
+       return s_info.do_not_disturb_layout;
+}
+void __t__moments_control_do_not_disturb_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       __do_not_disturb_popup_cancel_cb(data, obj, event_info);
+}
+void __t__moments_control_do_not_disturb_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       __do_not_disturb_popup_ok_cb(data, obj, event_info);
+}
+void __t__set_moments_control_do_not_disturb_state(bool state)
+{
+       int ret = vconf_set_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, state);
+       if (ret < 0) {
+               _E("Failed to set vconfkey(%s) : %d", VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, ret);
+       }
+}
+bool __t__get_moments_control_do_not_disturb_state(void)
+{
+       int state = 0;
+       int ret = vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &state);
+       if (ret < 0) {
+               _E("Failed to get vconfkey(%s) : %d", VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, ret);
+       }
+
+       return (bool)state;
+}
+#endif
+
diff --git a/src/moments/moments_control_flight_mode.c b/src/moments/moments_control_flight_mode.c
new file mode 100755 (executable)
index 0000000..23e0452
--- /dev/null
@@ -0,0 +1,200 @@
+/*
+ * Copyright (c) 2013 - 2016 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#include <efl_extension.h>
+#include <vconf.h>
+
+#include "log.h"
+#include "util.h"
+#include "app_log.h"
+#include "moments/moments.h"
+#include "moments/moments_view.h"
+#include "moments/moments_control_view.h"
+
+static struct __control_flight_mode_s {
+       Evas_Object *flight_mode_popup;
+       Evas_Object *flight_mode_layout;
+} s_info = {
+       .flight_mode_popup = NULL,
+       .flight_mode_layout = NULL,
+};
+
+extern control_info_t control_button_list[MOMENTS_CONTROLS_MAX];
+
+static void __flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (evas_object_visible_get(s_info.flight_mode_popup) == false) {
+               return;
+       }
+
+       if (s_info.flight_mode_popup) {
+               elm_popup_dismiss(s_info.flight_mode_popup);
+               s_info.flight_mode_popup = NULL;
+       }
+}
+
+static void __flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (evas_object_visible_get(s_info.flight_mode_popup) == false) {
+               return;
+       }
+
+       int ret = vconf_set_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, true);
+       if (ret < 0) {
+               _E("Failed to set vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
+       }
+
+       elm_popup_dismiss(s_info.flight_mode_popup);
+       s_info.flight_mode_popup = NULL;
+}
+
+static Evas_Object *__flight_mode_popup_view_create()
+{
+       Evas_Object *base_window = moments_view_get_base_window();
+       if (base_window == NULL) {
+               _E("base window is null!!!");
+               return NULL;
+       }
+
+       Evas_Object *popup = elm_popup_add(base_window);
+       s_info.flight_mode_popup = popup;
+
+       elm_object_style_set(popup, "circle");
+       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __flight_mode_popup_cancel_cb, NULL);
+       evas_object_smart_callback_add(popup, "dismissed", NULL, NULL);
+
+       Evas_Object *layout = elm_layout_add(popup);
+       s_info.flight_mode_layout = layout;
+       elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
+       elm_object_content_set(popup, layout);
+
+       /* FIXME - string */
+       elm_object_translatable_part_text_set(layout, "elm.text.title", "Flight mode");
+       elm_object_translatable_part_text_set(layout, "elm.text", "disables calls, messaging and all connections. To use Wi-Fi and Bluetooth, go to Settings.");
+
+       Evas_Object *left_btn = elm_button_add(popup);
+       elm_object_style_set(left_btn, "popup/circle/left");
+       evas_object_size_hint_weight_set(left_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(popup, "button1", left_btn);
+       evas_object_smart_callback_add(left_btn, "clicked", __flight_mode_popup_cancel_cb, popup);
+
+       Evas_Object *left_icon_image = elm_image_add(left_btn);
+       elm_image_file_set(left_icon_image, IMAGEDIR"/tw_ic_popup_btn_delete.png", NULL);
+       evas_object_size_hint_weight_set(left_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(left_btn, "elm.swallow.content", left_icon_image);
+       evas_object_show(left_icon_image);
+
+       Evas_Object *right_btn = elm_button_add(popup);
+       elm_object_style_set(right_btn, "popup/circle/right");
+       evas_object_size_hint_weight_set(right_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(popup, "button2", right_btn);
+       evas_object_smart_callback_add(right_btn, "clicked", __flight_mode_popup_ok_cb, popup);
+
+       Evas_Object *right_icon_image = elm_image_add(right_btn);
+       elm_image_file_set(right_icon_image, IMAGEDIR"/tw_ic_popup_btn_check.png", NULL);
+       evas_object_size_hint_weight_set(right_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_object_part_content_set(right_btn, "elm.swallow.content", right_icon_image);
+       evas_object_show(right_icon_image);
+
+       evas_object_move(popup, 0, 0);
+       evas_object_show(popup);
+
+       return popup;
+}
+
+bool moments_control_get_flight_mode_popup_visible(void)
+{
+       if (s_info.flight_mode_popup != NULL && evas_object_visible_get(s_info.flight_mode_popup) == true)
+               return true;
+
+       return false;
+}
+
+void moments_control_flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       int is_flight_mode = false;
+
+       vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
+       if (is_flight_mode == false) {
+               moments_hide();
+               __flight_mode_popup_view_create();
+       } else {
+               int ret = vconf_set_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, false);
+               if (ret < 0) {
+                       _E("Failed to set vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
+               }
+       }
+}
+
+void moments_control_flight_mode_status_changed_cb(keynode_t *node, void *user_data)
+{
+       int is_flight_mode = false;
+
+       vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
+       if (is_flight_mode == false) {
+               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_FLIGHT_MODE].button_layout, "control_bar_off", "control_bar");
+       } else {
+               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_FLIGHT_MODE].button_layout, "control_bar_on", "control_bar");
+       }
+}
+
+void moments_control_flight_mode_popup_close(void)
+{
+       __flight_mode_popup_cancel_cb(NULL, NULL, NULL);
+}
+
+#include "test.h"
+#if TEST_MODE
+Evas_Object *__t__get_moments_control_flight_mode_popup(void)
+{
+       return s_info.flight_mode_popup;
+}
+Evas_Object *__t__get_moments_control_flight_mode_popup_layout(void)
+{
+       return s_info.flight_mode_layout;
+}
+void __t__set_moments_control_flight_mode_state(bool state)
+{
+       int ret = vconf_set_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, state);
+       if (ret < 0) {
+               _E("Failed to set vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
+       }
+}
+bool __t__get_moments_control_flight_mode_state(void)
+{
+       int is_flight_mode = 0;
+
+       int ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
+       if (ret < 0) {
+               _E("Failed to get vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
+               return 0;
+       }
+
+       return (bool)is_flight_mode;
+}
+void __t__moments_control_flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       __flight_mode_popup_cancel_cb(data, obj, event_info);
+}
+void __t__moments_control_flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       __flight_mode_popup_ok_cb(data, obj, event_info);
+}
+
+#endif
+
index 44db30cd4544193922bf2af398bd58096594eb66..4d8f3d78fc495675ecf7537c05d3ae4917b2a8d4 100755 (executable)
@@ -18,8 +18,6 @@
 #include <Elementary.h>
 #include <efl_extension.h>
 #include <vconf.h>
-#include <sound_manager.h>
-#include <device/display.h>
 
 #include "log.h"
 #include "util.h"
 #include "moments/moments_control_view.h"
 
 #define CONTROL_BUTTON_LAYOUT_EDJE EDJE_DIR"/circle/moments_control_button_layout.edj"
-#define SETTING_PKG_NAME  "org.tizen.watch-setting"
 
 static struct __control_view_s {
-       Evas_Object *base_win;
-       Evas_Object *base_layout;
        Evas_Object *control_layout;
-       Evas_Object *do_not_disturb_popup;
-       Evas_Object *do_not_disturb_layout;
-       Evas_Object *flight_mode_popup;
-       Evas_Object *flight_mode_layout;
        Eina_List *button_list;
-       bool is_btn_pressed;
 } s_info = {
-       .base_win = NULL,
-       .base_layout = NULL,
        .control_layout = NULL,
-       .do_not_disturb_popup = NULL,
-       .do_not_disturb_layout = NULL,
-       .flight_mode_popup = NULL,
-       .flight_mode_popup = NULL,
        .button_list = NULL,
-       .is_btn_pressed = 0,
 };
 
 static void __update_control_state(void);
@@ -63,14 +46,7 @@ static void __set_state_bt_with_phone_connection(void);
 static bool __is_stand_alone(void);
 static bool __is_with_phone(void);
 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,
@@ -79,15 +55,15 @@ 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, "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, "5",  0, __brightness_pressed_cb, NULL},
+       {MOMENTS_CONTROLS_DO_NOT_DISTURB,  MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_BAR,  "do not disturb",  "donotdisturb.png",    0, "",   0, moments_control_do_not_disturb_pressed_cb, NULL},
+       {MOMENTS_CONTROLS_VOLUME,          MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_TEXT, "volume",          "multimedia.png",      0, "5",  0, moments_control_volume_pressed_cb, NULL},
+       {MOMENTS_CONTROLS_FLIGHT_MODE,     MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_BAR,  "flight mode",     "flight_mode.png",     0, "",   0, moments_control_flight_mode_pressed_cb, NULL},
+       {MOMENTS_CONTROLS_BRIGHTNESS,      MOMENTS_CONTROLS_BTN_TYPE_ICON_AND_TEXT, "brightness",      "brightness.png",      0, "5",  0, moments_control_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},
 };
 
-Evas_Object *moments_control_view_create(Evas_Object *base_win, Evas_Object *base_layout)
+Evas_Object *moments_control_view_create(Evas_Object *base_layout)
 {
        Evas_Object * control_layout = elm_grid_add(base_layout);
        if (!control_layout) {
@@ -105,8 +81,6 @@ Evas_Object *moments_control_view_create(Evas_Object *base_win, Evas_Object *bas
        elm_layout_content_set(base_layout, BUTTON_LAYOUT, control_layout);
        evas_object_show(control_layout);
 
-       s_info.base_win = base_win;
-       s_info.base_layout = base_layout;
        s_info.control_layout = control_layout;
 
        return control_layout;
@@ -124,10 +98,10 @@ void moments_control_init(void)
 {
        __update_control_state();
        __update_control_view();
-       __do_not_disturb_status_changed_cb(NULL, NULL);
-       __flight_mode_status_changed_cb(NULL, NULL);
-       __volume_status_changed_cb(0, 0, NULL);
-       __brightness_status_changed_cb();
+       moments_control_brightness_status_changed_cb(NULL, NULL);
+       moments_control_do_not_disturb_status_changed_cb(NULL, NULL);
+       moments_control_flight_mode_status_changed_cb(NULL, NULL);
+       moments_control_volume_status_changed_cb(0, NULL, NULL);
 }
 
 void moments_control_fini(void)
@@ -207,73 +181,9 @@ __fail:
        return NULL;
 }
 
-static void __do_not_disturb_status_changed_cb(keynode_t *node, void *user_data)
-{
-       int is_do_not_disturb = false;
-
-       vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &is_do_not_disturb);
-       if (is_do_not_disturb == false) {
-               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_DO_NOT_DISTURB].button_layout, "control_bar_off", "control_bar");
-       } else {
-               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_DO_NOT_DISTURB].button_layout, "control_bar_on", "control_bar");
-       }
-}
-
-static void __flight_mode_status_changed_cb(keynode_t *node, void *user_data)
-{
-       int is_flight_mode = false;
-
-       vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
-       if (is_flight_mode == false) {
-               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_FLIGHT_MODE].button_layout, "control_bar_off", "control_bar");
-       } else {
-               elm_object_signal_emit(control_button_list[MOMENTS_CONTROLS_FLIGHT_MODE].button_layout, "control_bar_on", "control_bar");
-       }
-}
-
-static int __get_current_device_volume_level()
-{
-       int level = 0;
-
-       if(moments_check_is_3g_device()) {
-               sound_manager_get_volume(SOUND_TYPE_RINGTONE, &level);
-               _D("ringtone volume value: %d", level);
-       } else {
-               sound_manager_get_volume(SOUND_TYPE_MEDIA, &level);
-               _D("media volume value: %d", level);
-       }
-
-       return level;
-}
-
-static void __volume_status_changed_cb(sound_type_e type, unsigned int volume, void *data)
-{
-       Evas_Object *icon = elm_object_part_content_get(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_ICON);
-       elm_object_part_content_unset(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_ICON);
-
-       int level = __get_current_device_volume_level();
-       if (level == 0) elm_image_file_set(icon, IMAGEDIR"/multimedia_off.png", NULL);
-       else elm_image_file_set(icon, IMAGEDIR"/multimedia.png", NULL);
 
-       elm_object_part_content_set(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_ICON, icon);
 
-       char volume_text[3];
-       snprintf(volume_text, sizeof(volume_text), "%d", level);
-       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)
 {
@@ -293,22 +203,22 @@ control_info_t *moments_control_create_button(Evas_Object *base_layout, int butt
 
        switch (button_id) {
        case MOMENTS_CONTROLS_DO_NOT_DISTURB:
-               if (vconf_notify_key_changed(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, __do_not_disturb_status_changed_cb, NULL) < 0) {
+               if (vconf_notify_key_changed(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, moments_control_do_not_disturb_status_changed_cb, NULL) < 0) {
                        _E("Failed to register the __do_not_disturb_status_changed_cb callback");
                }
                break;
        case MOMENTS_CONTROLS_VOLUME:
-               if (sound_manager_set_volume_changed_cb(__volume_status_changed_cb, NULL) != SOUND_MANAGER_ERROR_NONE) {
+               if (sound_manager_set_volume_changed_cb(moments_control_volume_status_changed_cb, NULL) != SOUND_MANAGER_ERROR_NONE) {
                        _E("Failed to register the __volume_status_changed_cb callback");
                }
                break;
        case MOMENTS_CONTROLS_FLIGHT_MODE:
-               if (vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, __flight_mode_status_changed_cb, NULL) < 0) {
+               if (vconf_notify_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, moments_control_flight_mode_status_changed_cb, NULL) < 0) {
                        _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) {
+               if (vconf_notify_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, moments_control_brightness_status_changed_cb, NULL) < 0) {
                        _E("Failed to register the _brightness_status_changed_cb callback");
                }
                break;
@@ -329,16 +239,16 @@ void moments_control_destroy_button(control_info_t *button_info)
 
                switch (button_info->index) {
                case MOMENTS_CONTROLS_DO_NOT_DISTURB:
-                       vconf_ignore_key_changed(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, __do_not_disturb_status_changed_cb);
+                       vconf_ignore_key_changed(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, moments_control_do_not_disturb_status_changed_cb);
                        break;
                case MOMENTS_CONTROLS_VOLUME:
                        sound_manager_unset_volume_changed_cb();
                        break;
                case MOMENTS_CONTROLS_FLIGHT_MODE:
-                       vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, __flight_mode_status_changed_cb);
+                       vconf_ignore_key_changed(VCONFKEY_TELEPHONY_FLIGHT_MODE, moments_control_flight_mode_status_changed_cb);
                        break;
                case MOMENTS_CONTROLS_BRIGHTNESS:
-                       vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, __brightness_status_changed_cb);
+                       vconf_ignore_key_changed(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, moments_control_brightness_status_changed_cb);
                default:
                        break;
                }
@@ -489,235 +399,6 @@ static bool __is_with_bt_device(void)
        return !moments_check_is_3g_device();
 }
 
-static void __do_not_disturb_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       if (evas_object_visible_get(s_info.do_not_disturb_popup) == false) {
-               return;
-       }
-
-       if (s_info.do_not_disturb_popup) {
-               elm_popup_dismiss(s_info.do_not_disturb_popup);
-               s_info.do_not_disturb_popup = NULL;
-       }
-}
-
-static void __do_not_disturb_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       if (evas_object_visible_get(s_info.do_not_disturb_popup) == false) {
-               return;
-       }
-
-       vconf_set_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, true);
-
-       elm_popup_dismiss(s_info.do_not_disturb_popup);
-       s_info.do_not_disturb_popup = NULL;
-}
-
-static Evas_Object *__do_not_disturb_popup_view_create()
-{
-       if (s_info.base_win == NULL) {
-               _E("base window is null!!!");
-               return NULL;
-       }
-
-       Evas_Object *popup = elm_popup_add(s_info.base_win);
-       s_info.do_not_disturb_popup = popup;
-
-       elm_object_style_set(popup, "circle");
-       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __do_not_disturb_popup_cancel_cb, NULL);
-       evas_object_smart_callback_add(popup, "dismissed", NULL, NULL);
-
-       Evas_Object *layout = elm_layout_add(popup);
-       s_info.do_not_disturb_layout = layout;
-       elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
-       elm_object_content_set(popup, layout);
-
-       /* FIXME - string */
-       elm_object_translatable_part_text_set(layout, "elm.text.title", "Do not disturb");
-       elm_object_translatable_part_text_set(layout, "elm.text", "Sounds will be muted and screen will remain turned off for incoming calls and alerts, but not alarms.");
-
-       Evas_Object *left_btn = elm_button_add(popup);
-       elm_object_style_set(left_btn, "popup/circle/left");
-       evas_object_size_hint_weight_set(left_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(popup, "button1", left_btn);
-       evas_object_smart_callback_add(left_btn, "clicked", __do_not_disturb_popup_cancel_cb, popup);
-
-       Evas_Object *left_icon_image = elm_image_add(left_btn);
-       elm_image_file_set(left_icon_image, IMAGEDIR"/tw_ic_popup_btn_delete.png", NULL);
-       evas_object_size_hint_weight_set(left_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(left_btn, "elm.swallow.content", left_icon_image);
-       evas_object_show(left_icon_image);
-
-       Evas_Object *right_btn = elm_button_add(popup);
-       elm_object_style_set(right_btn, "popup/circle/right");
-       evas_object_size_hint_weight_set(right_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(popup, "button2", right_btn);
-       evas_object_smart_callback_add(right_btn, "clicked", __do_not_disturb_popup_ok_cb, popup);
-
-       Evas_Object *right_icon_image = elm_image_add(right_btn);
-       elm_image_file_set(right_icon_image, IMAGEDIR"/tw_ic_popup_btn_check.png", NULL);
-       evas_object_size_hint_weight_set(right_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(right_btn, "elm.swallow.content", right_icon_image);
-       evas_object_show(right_icon_image);
-
-       evas_object_move(popup, 0, 0);
-       evas_object_show(popup);
-
-       return popup;
-}
-
-bool moments_control_get_do_not_disturb_popup_visible(void)
-{
-       if (s_info.do_not_disturb_popup != NULL && evas_object_visible_get(s_info.do_not_disturb_popup) == true)
-               return true;
-
-       return false;
-}
-
-bool moments_control_get_flight_mode_popup_visible(void)
-{
-       if (s_info.flight_mode_popup != NULL && evas_object_visible_get(s_info.flight_mode_popup) == true)
-               return true;
-
-       return false;
-}
-
-static void __do_not_disturb_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       _D("");
-       int is_do_not_disturb = false;
-
-       vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &is_do_not_disturb);
-       if (is_do_not_disturb == false) {
-               moments_hide();
-               __do_not_disturb_popup_view_create();
-       } else {
-               int ret = vconf_set_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, false);
-               if (ret < 0) {
-                       _E("Failed to set vconfkey(%s) : %d", VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, ret);
-               }
-       }
-}
-
-static void __flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       if (evas_object_visible_get(s_info.flight_mode_popup) == false) {
-               return;
-       }
-
-       if (s_info.flight_mode_popup) {
-               elm_popup_dismiss(s_info.flight_mode_popup);
-               s_info.flight_mode_popup = NULL;
-       }
-}
-
-void moments_control_do_not_disturb_popup_close(void)
-{
-       __do_not_disturb_popup_cancel_cb(NULL, NULL, NULL);
-}
-
-void moments_control_flight_mode_popup_close(void)
-{
-       __flight_mode_popup_cancel_cb(NULL, NULL, NULL);
-}
-
-static void __flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       if (evas_object_visible_get(s_info.flight_mode_popup) == false) {
-               return;
-       }
-
-       int ret = vconf_set_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, true);
-       if (ret < 0) {
-               _E("Failed to set vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
-       }
-
-       elm_popup_dismiss(s_info.flight_mode_popup);
-       s_info.flight_mode_popup = NULL;
-}
-
-static Evas_Object *__flight_mode_popup_view_create()
-{
-       if (s_info.base_win == NULL) {
-               _E("base window is null!!!");
-               return NULL;
-       }
-
-       Evas_Object *popup = elm_popup_add(s_info.base_win);
-       s_info.flight_mode_popup = popup;
-
-       elm_object_style_set(popup, "circle");
-       evas_object_size_hint_weight_set(popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __flight_mode_popup_cancel_cb, NULL);
-       evas_object_smart_callback_add(popup, "dismissed", NULL, NULL);
-
-       Evas_Object *layout = elm_layout_add(popup);
-       s_info.flight_mode_layout = layout;
-       elm_layout_theme_set(layout, "layout", "popup", "content/circle/buttons2");
-       elm_object_content_set(popup, layout);
-
-       /* FIXME - string */
-       elm_object_translatable_part_text_set(layout, "elm.text.title", "Flight mode");
-       elm_object_translatable_part_text_set(layout, "elm.text", "disables calls, messaging and all connections. To use Wi-Fi and Bluetooth, go to Settings.");
-
-       Evas_Object *left_btn = elm_button_add(popup);
-       elm_object_style_set(left_btn, "popup/circle/left");
-       evas_object_size_hint_weight_set(left_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(popup, "button1", left_btn);
-       evas_object_smart_callback_add(left_btn, "clicked", __flight_mode_popup_cancel_cb, popup);
-
-       Evas_Object *left_icon_image = elm_image_add(left_btn);
-       elm_image_file_set(left_icon_image, IMAGEDIR"/tw_ic_popup_btn_delete.png", NULL);
-       evas_object_size_hint_weight_set(left_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(left_btn, "elm.swallow.content", left_icon_image);
-       evas_object_show(left_icon_image);
-
-       Evas_Object *right_btn = elm_button_add(popup);
-       elm_object_style_set(right_btn, "popup/circle/right");
-       evas_object_size_hint_weight_set(right_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(popup, "button2", right_btn);
-       evas_object_smart_callback_add(right_btn, "clicked", __flight_mode_popup_ok_cb, popup);
-
-       Evas_Object *right_icon_image = elm_image_add(right_btn);
-       elm_image_file_set(right_icon_image, IMAGEDIR"/tw_ic_popup_btn_check.png", NULL);
-       evas_object_size_hint_weight_set(right_icon_image, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-       elm_object_part_content_set(right_btn, "elm.swallow.content", right_icon_image);
-       evas_object_show(right_icon_image);
-
-       evas_object_move(popup, 0, 0);
-       evas_object_show(popup);
-
-       return popup;
-}
-
-static void __flight_mode_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       int is_flight_mode = false;
-
-       vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
-       if (is_flight_mode == false) {
-               moments_hide();
-               __flight_mode_popup_view_create();
-       } else {
-               int ret = vconf_set_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, false);
-               if (ret < 0) {
-                       _E("Failed to set vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
-               }
-       }
-}
-
-static void __volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
-{
-       moments_hide();
-       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
@@ -745,107 +426,5 @@ void __t__set_state_bt_with_phone_connection(void)
 {
        __set_state_bt_with_phone_connection();
 }
-Evas_Object *__t__get_moments_do_not_disturb_popup(void)
-{
-       return s_info.do_not_disturb_popup;
-}
-Evas_Object *__t__get_moments_do_not_disturb_popup_layout(void)
-{
-       return s_info.do_not_disturb_layout;
-}
-void __t__do_not_disturb_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       __do_not_disturb_popup_cancel_cb(data, obj, event_info);
-}
-void __t__do_not_disturb_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       __do_not_disturb_popup_ok_cb(data, obj, event_info);
-}
-void __t__set_do_not_disturb_state(bool state)
-{
-       int ret = vconf_set_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, state);
-       if (ret < 0) {
-               _E("Failed to set vconfkey(%s) : %d", VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, ret);
-       }
-}
-bool __t__get_do_not_disturb_state(void)
-{
-       int state = 0;
-       int ret = vconf_get_bool(VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, &state);
-       if (ret < 0) {
-               _E("Failed to get vconfkey(%s) : %d", VCONFKEY_SETAPPL_BLOCKMODE_WEARABLE_BOOL, ret);
-       }
-
-       return (bool)state;
-}
-Evas_Object *__t__get_moments_flight_mode_popup(void)
-{
-       return s_info.flight_mode_popup;
-}
-Evas_Object *__t__get_moments_flight_mode_popup_layout(void)
-{
-       return s_info.flight_mode_layout;
-}
-void __t__set_flight_mode_state(bool state)
-{
-       int ret = vconf_set_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, state);
-       if (ret < 0) {
-               _E("Failed to set vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
-       }
-}
-bool __t__get_flight_mode_state(void)
-{
-       int is_flight_mode = 0;
-
-       int ret = vconf_get_bool(VCONFKEY_TELEPHONY_FLIGHT_MODE, &is_flight_mode);
-       if (ret < 0) {
-               _E("Failed to get vconfkey(%s) : %d", VCONFKEY_TELEPHONY_FLIGHT_MODE, ret);
-               return 0;
-       }
-
-       return (bool)is_flight_mode;
-}
-void __t__flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       __flight_mode_popup_cancel_cb(data, obj, event_info);
-}
-void __t__flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info)
-{
-       __flight_mode_popup_ok_cb(data, obj, event_info);
-}
-void __t__set_volume_level(int level)
-{
-       int ret = -1;
-       if(moments_check_is_3g_device()) {
-               ret = sound_manager_set_volume(SOUND_TYPE_RINGTONE, level);
-       } else {
-               ret = sound_manager_set_volume(SOUND_TYPE_MEDIA, level);
-       }
-
-       if (ret != SOUND_MANAGER_ERROR_NONE) {
-               _E("Fail to set volume");
-       }
-}
-int __t__get_volume_level()
-{
-       return __get_current_device_volume_level();
-}
-
-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");
-       }
-}
-int __t__get_brightness_level(void)
-{
-       int level = -1;
-       if (device_display_get_brightness(0, &level) != DEVICE_ERROR_NONE) {
-               _E("Fail to get device display state");
-               return 0;
-       }
-       return level;
-}
 #endif
 
diff --git a/src/moments/moments_control_volume.c b/src/moments/moments_control_volume.c
new file mode 100755 (executable)
index 0000000..d8e99bf
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2013 - 2016 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Flora License, Version 1.1 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+
+#include <efl_extension.h>
+#include <vconf.h>
+
+
+#include "log.h"
+#include "util.h"
+#include "app_log.h"
+#include "moments/moments.h"
+#include "moments/moments_view.h"
+#include "moments/moments_control_view.h"
+#include "moments/moments_view_edje_conf.h"
+
+
+extern control_info_t control_button_list[MOMENTS_CONTROLS_MAX];
+
+static int __get_current_device_volume_level()
+{
+       int level = 0;
+
+       if(moments_check_is_3g_device()) {
+               sound_manager_get_volume(SOUND_TYPE_RINGTONE, &level);
+               _D("ringtone volume value: %d", level);
+       } else {
+               sound_manager_get_volume(SOUND_TYPE_MEDIA, &level);
+               _D("media volume value: %d", level);
+       }
+
+       return level;
+}
+
+void moments_control_volume_status_changed_cb(sound_type_e type, unsigned int volume, void *data)
+{
+       Evas_Object *icon = elm_object_part_content_get(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_ICON);
+       elm_object_part_content_unset(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_ICON);
+
+       int level = __get_current_device_volume_level();
+       if (level == 0) elm_image_file_set(icon, IMAGEDIR"/multimedia_off.png", NULL);
+       else elm_image_file_set(icon, IMAGEDIR"/multimedia.png", NULL);
+
+       elm_object_part_content_set(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_ICON, icon);
+
+       char volume_text[3];
+       snprintf(volume_text, sizeof(volume_text), "%d", level);
+       elm_object_part_text_set(control_button_list[MOMENTS_CONTROLS_VOLUME].button_layout, CONTROLS_TEXT, volume_text);
+}
+
+void moments_control_volume_pressed_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       moments_hide();
+       util_launch_app(SETTING_PKG_NAME, "launch-type", "volume");
+}
+
+#include "test.h"
+#if TEST_MODE
+void __t__set_moments_control_volume_level(int level)
+{
+       int ret = -1;
+       if(moments_check_is_3g_device()) {
+               ret = sound_manager_set_volume(SOUND_TYPE_RINGTONE, level);
+       } else {
+               ret = sound_manager_set_volume(SOUND_TYPE_MEDIA, level);
+       }
+
+       if (ret != SOUND_MANAGER_ERROR_NONE) {
+               _E("Fail to set volume");
+       }
+}
+int __t__get_moments_control_volume_level()
+{
+       return __get_current_device_volume_level();
+}
+
+#endif
index cde60d9f65f64cd7ec2dcec60eb14f26520cd990..ff74f3c1c6de663e86785df5174d34647496064d 100755 (executable)
@@ -18,6 +18,7 @@
 #include <Elementary.h>
 #include <widget_errno.h>
 #include <widget_viewer_evas.h>
+#include <vconf.h>
 
 #include "log.h"
 #include "util.h"
@@ -109,7 +110,7 @@ Evas_Object *moments_create_ui(Evas_Object *base_win)
 
        s_info.center_layout = __create_center_layout(s_info.background_layout);
 
-       s_info.control_layout = moments_control_view_create(s_info.win, s_info.background_layout);
+       s_info.control_layout = moments_control_view_create(s_info.background_layout);
 
        s_info.status_layout = moments_status_view_create(base_win);
        if (s_info.status_layout == NULL) goto __fail;
@@ -243,6 +244,11 @@ void moments_view_put_down(void)
        __put_down();
 }
 
+Evas_Object *moments_view_get_base_window(void)
+{
+       return s_info.win;
+}
+
 static Evas_Object *__create_base_layout(Evas_Object *parent)
 {
        Evas_Object *layout = NULL;
index 5729f304f7d23703f2bb1be44bd508cbfe3b411f..16ebde30a7a68d6359e45aaae3cc8e17e2011fa5 100755 (executable)
@@ -55,17 +55,17 @@ static void __group_set_up(void)
        __t__set_state_stand_alone();
        __t__update_control_view();
 
-       s_info.is_do_not_disturb = __t__get_do_not_disturb_state();
-       __t__set_do_not_disturb_state(false);
+       s_info.is_do_not_disturb = __t__get_moments_control_do_not_disturb_state();
+       __t__set_moments_control_do_not_disturb_state(false);
 
-       s_info.is_flight_mode = __t__get_flight_mode_state();
-       __t__set_flight_mode_state(false);
+       s_info.is_flight_mode = __t__get_moments_control_flight_mode_state();
+       __t__set_moments_control_flight_mode_state(false);
 
-       s_info.volume_level = __t__get_volume_level();
-       __t__set_volume_level(7);
+       s_info.volume_level = __t__get_moments_control_volume_level();
+       __t__set_moments_control_volume_level(7);
 
-       s_info.brightness_level = __t__get_brightness_level();
-       __t__set_brightness_level(70);
+       s_info.brightness_level = __t__get_moments_control_brightness_level();
+       __t__set_moments_control_brightness_level(70);
 
        TEST_GROUP_SET_UP_DONE(0.5, s_info.group);
 }
@@ -80,10 +80,10 @@ static void __group_tear_down(void)
 
        __t__update_control_state();
        __t__update_control_view();
-       __t__set_do_not_disturb_state(s_info.is_do_not_disturb);
-       __t__set_flight_mode_state(s_info.is_flight_mode);
-       __t__set_volume_level(s_info.volume_level);
-       __t__set_brightness_level(s_info.brightness_level);
+       __t__set_moments_control_do_not_disturb_state(s_info.is_do_not_disturb);
+       __t__set_moments_control_flight_mode_state(s_info.is_flight_mode);
+       __t__set_moments_control_volume_level(s_info.volume_level);
+       __t__set_moments_control_brightness_level(s_info.brightness_level);
 
        TEST_GROUP_TEAR_DOWN_DONE(0.0, s_info.group);
 }
@@ -141,11 +141,11 @@ unit_case_func_t __continue_check_do_not_disturb(void * data)
 {
        TEST_ASSERT_TRUE(moments_get_visible() == false);
 
-       Evas_Object *popup = __t__get_moments_do_not_disturb_popup();
+       Evas_Object *popup = __t__get_moments_control_do_not_disturb_popup();
        TEST_ASSERT_TRUE(popup != NULL);
        TEST_ASSERT_TRUE(evas_object_visible_get(popup));
 
-       Evas_Object *layout = __t__get_moments_do_not_disturb_popup_layout();
+       Evas_Object *layout = __t__get_moments_control_do_not_disturb_popup_layout();
        const char *title_text = elm_object_part_text_get(layout, "elm.text.title");
        TEST_ASSERT_TRUE(title_text != NULL);
        TEST_ASSERT_EQUAL_STRING("Do not disturb", title_text);
@@ -176,7 +176,7 @@ unit_case_func_t __continue_check_do_not_disturb(void * data)
        TEST_ASSERT_TRUE(right_icon_image  != NULL);
        TEST_ASSERT_EQUAL_STRING(IMAGEDIR"/tw_ic_popup_btn_check.png", right_icon_image);
 
-       __t__do_not_disturb_popup_cancel_cb((void*)popup, NULL, NULL);
+       __t__moments_control_do_not_disturb_popup_cancel_cb((void*)popup, NULL, NULL);
 
        TEST_CASE_DONE(s_info.group);
 }
@@ -184,7 +184,7 @@ unit_case_func_t __continue_check_do_not_disturb(void * data)
 unit_case_func_t __continue_check_cancel_button_clicked_on_do_not_disturb_popup(void * data);
 unit_case_func_t __case_check_cancel_button_clicked_on_do_not_disturb_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_do_not_disturb_popup();
+       Evas_Object *popup = __t__get_moments_control_do_not_disturb_popup();
        if (popup == NULL) {
                TEST_ASSERT_TRUE(s_info.current_button != NULL);
 
@@ -195,14 +195,14 @@ unit_case_func_t __case_check_cancel_button_clicked_on_do_not_disturb_popup(void
        TEST_ASSERT_TRUE(popup != NULL);
        TEST_ASSERT_TRUE(evas_object_visible_get(popup));
 
-       __t__do_not_disturb_popup_cancel_cb((void*)popup, NULL, NULL);
+       __t__moments_control_do_not_disturb_popup_cancel_cb((void*)popup, NULL, NULL);
 
        TEST_CASE_CONTINUE(0.5, __continue_check_cancel_button_clicked_on_do_not_disturb_popup, NULL);
 }
 
 unit_case_func_t __continue_check_cancel_button_clicked_on_do_not_disturb_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_do_not_disturb_popup();
+       Evas_Object *popup = __t__get_moments_control_do_not_disturb_popup();
        TEST_ASSERT_TRUE(popup == NULL);
 
        double val = 0.0;
@@ -216,7 +216,7 @@ unit_case_func_t __continue_check_cancel_button_clicked_on_do_not_disturb_popup(
 unit_case_func_t __continue_check_ok_button_clicked_on_do_not_disturb_popup(void * data);
 unit_case_func_t __case_check_ok_button_clicked_on_do_not_disturb_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_do_not_disturb_popup();
+       Evas_Object *popup = __t__get_moments_control_do_not_disturb_popup();
 
        if (popup == NULL) {
                TEST_ASSERT_TRUE(s_info.current_button != NULL);
@@ -231,14 +231,14 @@ unit_case_func_t __case_check_ok_button_clicked_on_do_not_disturb_popup(void * d
        double val = 0.0;
        TEST_ASSERT_EQUAL_STRING("default", edje_object_part_state_get(elm_layout_edje_get(s_info.current_button->button_layout), CONTROLS_BAR, &val));
 
-       __t__do_not_disturb_popup_ok_cb((void*)popup, NULL, NULL);
+       __t__moments_control_do_not_disturb_popup_ok_cb((void*)popup, NULL, NULL);
 
        TEST_CASE_CONTINUE(0.6, __continue_check_ok_button_clicked_on_do_not_disturb_popup, NULL);
 }
 
 unit_case_func_t __continue_check_ok_button_clicked_on_do_not_disturb_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_do_not_disturb_popup();
+       Evas_Object *popup = __t__get_moments_control_do_not_disturb_popup();
        TEST_ASSERT_TRUE(popup == NULL);
 
        TEST_ASSERT_TRUE(moments_get_visible() == false);
@@ -281,11 +281,11 @@ unit_case_func_t __continue_check_flight_mode(void * data)
 {
        TEST_ASSERT_TRUE(moments_get_visible() == false);
 
-       Evas_Object *popup = __t__get_moments_flight_mode_popup();
+       Evas_Object *popup = __t__get_moments_control_flight_mode_popup();
        TEST_ASSERT_TRUE(popup != NULL);
        TEST_ASSERT_TRUE(evas_object_visible_get(popup));
 
-       Evas_Object *layout = __t__get_moments_flight_mode_popup_layout();
+       Evas_Object *layout = __t__get_moments_control_flight_mode_popup_layout();
        const char *title_text = elm_object_part_text_get(layout, "elm.text.title");
        TEST_ASSERT_TRUE(title_text != NULL);
        TEST_ASSERT_EQUAL_STRING("Flight mode", title_text);
@@ -316,7 +316,7 @@ unit_case_func_t __continue_check_flight_mode(void * data)
        TEST_ASSERT_TRUE(right_icon_image  != NULL);
        TEST_ASSERT_EQUAL_STRING(IMAGEDIR"/tw_ic_popup_btn_check.png", right_icon_image);
 
-       __t__flight_mode_popup_cancel_cb((void*)popup, NULL, NULL);
+       __t__moments_control_flight_mode_popup_cancel_cb((void*)popup, NULL, NULL);
 
        TEST_CASE_DONE(s_info.group);
 
@@ -325,7 +325,7 @@ unit_case_func_t __continue_check_flight_mode(void * data)
 unit_case_func_t __continue_check_cancel_button_clicked_on_flight_mode_popup(void * data);
 unit_case_func_t __case_check_cancel_button_clicked_on_flight_mode_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_flight_mode_popup();
+       Evas_Object *popup = __t__get_moments_control_flight_mode_popup();
        if (popup == NULL) {
                TEST_ASSERT_TRUE(s_info.current_button != NULL);
 
@@ -336,14 +336,14 @@ unit_case_func_t __case_check_cancel_button_clicked_on_flight_mode_popup(void *
        TEST_ASSERT_TRUE(popup != NULL);
        TEST_ASSERT_TRUE(evas_object_visible_get(popup));
 
-       __t__flight_mode_popup_cancel_cb((void*)popup, NULL, NULL);
+       __t__moments_control_flight_mode_popup_cancel_cb((void*)popup, NULL, NULL);
 
        TEST_CASE_CONTINUE(0.6, __continue_check_cancel_button_clicked_on_flight_mode_popup, NULL);
 }
 
 unit_case_func_t __continue_check_cancel_button_clicked_on_flight_mode_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_flight_mode_popup();
+       Evas_Object *popup = __t__get_moments_control_flight_mode_popup();
        TEST_ASSERT_TRUE(popup == NULL);
 
        double val = 0.0;
@@ -357,7 +357,7 @@ unit_case_func_t __continue_check_cancel_button_clicked_on_flight_mode_popup(voi
 unit_case_func_t __continue_check_ok_button_clicked_on_flight_mode_popup(void * data);
 unit_case_func_t __case_check_ok_button_clicked_on_flight_mode_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_flight_mode_popup();
+       Evas_Object *popup = __t__get_moments_control_flight_mode_popup();
 
        if (popup == NULL) {
                TEST_ASSERT_TRUE(s_info.current_button != NULL);
@@ -372,14 +372,14 @@ unit_case_func_t __case_check_ok_button_clicked_on_flight_mode_popup(void * data
        double val = 0.0;
        TEST_ASSERT_EQUAL_STRING("default", edje_object_part_state_get(elm_layout_edje_get(s_info.current_button->button_layout), CONTROLS_BAR, &val));
 
-       __t__flight_mode_popup_ok_cb((void*)popup, NULL, NULL);
+       __t__moments_control_flight_mode_popup_ok_cb((void*)popup, NULL, NULL);
 
        TEST_CASE_CONTINUE(0.6, __continue_check_ok_button_clicked_on_flight_mode_popup, NULL);
 }
 
 unit_case_func_t __continue_check_ok_button_clicked_on_flight_mode_popup(void * data)
 {
-       Evas_Object *popup = __t__get_moments_flight_mode_popup();
+       Evas_Object *popup = __t__get_moments_control_flight_mode_popup();
        TEST_ASSERT_TRUE(popup == NULL);
 
        TEST_ASSERT_TRUE(moments_get_visible() == false);
@@ -471,7 +471,7 @@ unit_case_func_t __case_check_volume_sound(void * data)
        const char *volume_text = elm_object_part_text_get(s_info.current_button->button_layout, CONTROLS_TEXT);
 
        if (strcmp(volume_text, "2") != 0) {
-               __t__set_volume_level(2);
+               __t__set_moments_control_volume_level(2);
                TEST_CASE_CONTINUE(0.6, __case_check_volume_sound, NULL);
        }
 
@@ -492,7 +492,7 @@ unit_case_func_t __case_check_volume_mute(void * data)
        const char *volume_text = elm_object_part_text_get(s_info.current_button->button_layout, CONTROLS_TEXT);
 
        if (strcmp(volume_text, "0") != 0) {
-               __t__set_volume_level(0);
+               __t__set_moments_control_volume_level(0);
                TEST_CASE_CONTINUE(0.6, __case_check_volume_mute, NULL);
        }
 
index 88e62f82533d8b96cfd0a940a2418e0e01d43354..bce2d8dcb4fda8dfdb5a5b4052939079d4329100 100755 (executable)
@@ -71,22 +71,23 @@ extern int __t__get_moments_status_icon_index(int type);
 extern int __t__moments_restore_status_view(void);
 extern void __t__remove_all_icons(void);
 
-extern Evas_Object *__t__get_moments_do_not_disturb_popup(void);
-extern Evas_Object *__t__get_moments_do_not_disturb_popup_layout(void);
-extern void __t__do_not_disturb_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info);
-extern void __t__do_not_disturb_popup_ok_cb(void *data, Evas_Object *obj, void *event_info);
-extern void __t__set_do_not_disturb_state(bool state);
-extern bool __t__get_do_not_disturb_state(void);
-extern Evas_Object *__t__get_moments_flight_mode_popup(void);
-extern Evas_Object *__t__get_moments_flight_mode_popup_layout(void);
-extern void __t__set_flight_mode_state(bool state);
-extern bool __t__get_flight_mode_state(void);
-extern void __t__flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info);
-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 int __t__get_volume_level();
-extern void __t__set_brightness_level(int level);
-extern int __t__get_brightness_level(void);
+Eina_List * __t__get_moments_control_button_list(void);
+extern Evas_Object *__t__get_moments_control_do_not_disturb_popup(void);
+extern Evas_Object *__t__get_moments_control_do_not_disturb_popup_layout(void);
+extern void __t__moments_control_do_not_disturb_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info);
+extern void __t__moments_control_do_not_disturb_popup_ok_cb(void *data, Evas_Object *obj, void *event_info);
+extern void __t__set_moments_control_do_not_disturb_state(bool state);
+extern bool __t__get_moments_control_do_not_disturb_state(void);
+extern Evas_Object *__t__get_moments_control_flight_mode_popup(void);
+extern Evas_Object *__t__get_moments_control_flight_mode_popup_layout(void);
+extern void __t__set_moments_control_flight_mode_state(bool state);
+extern bool __t__get_moments_control_flight_mode_state(void);
+extern void __t__moments_control_flight_mode_popup_cancel_cb(void *data, Evas_Object *obj, void *event_info);
+extern void __t__moments_control_flight_mode_popup_ok_cb(void *data, Evas_Object *obj, void *event_info);
+extern void __t__set_moments_control_volume_level(int level);
+extern int __t__get_moments_control_volume_level();
+extern void __t__set_moments_control_brightness_level(int level);
+extern int __t__get_moments_control_brightness_level(void);
 #endif
 
 #endif