N_SE-24098 : Tapping volumebar is not working
[apps/home/message-app.git] / viewer / src / msg-ui-viewer-callback.c
1 /*
2  * Copyright 2012  Samsung Electronics Co., Ltd
3  *
4  * Licensed under the Flora License, Version 1.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *    http://floralicense.org/license
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 /*==================================================================================================
18  *                                                                              INCLUDE HEADERS
19 *==================================================================================================*/
20 #include "msg-ui-viewer-main.h"
21 #include "msg-ui-common-utility.h"
22
23 /*==================================================================================================
24  *                                                                      FUNCTION IMPLEMENTATIONS
25  *================================================================================================*/
26 void msg_ui_viewer_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv)
27 {
28         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
29         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, ug == NULL);
30         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, priv == NULL);
31         Evas_Object *base = NULL;
32         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)priv;
33
34         base = ug_get_layout(ug);
35         if (!base) {
36                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "base is NULL");
37                 ug_destroy(ug);
38                 return;
39         }
40
41         switch (mode) {
42         case UG_MODE_FULLVIEW:
43                 evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
44                 evas_object_show(base);
45
46                 break;
47         case UG_MODE_FRAMEVIEW:
48                 elm_object_part_content_set(viewer_main_data->layout_main, "content", base);
49                 break;
50     default:
51                 break;
52         }
53
54         MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
55 }
56
57
58 void msg_ui_viewer_result_cb(ui_gadget_h ug, service_h service, void *priv)
59 {
60         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
61 }
62
63
64 Eina_Bool msg_ui_viewer_ug_quit(void *data)
65 {
66         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
67         MSG_UI_RETV_IF(MSG_UI_LEVEL_ERR, data == NULL, ECORE_CALLBACK_CANCEL);
68         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)data;
69
70         if (viewer_main_data != NULL) {
71                 /*destroy captured image and resource.*/
72                 if (viewer_main_data->SmilHandle) {
73                         msg_smil_destroy_smil_player(viewer_main_data->SmilHandle);
74                         msg_ui_viewer_set_smilhandle(viewer_main_data, NULL);
75
76                         if (viewer_main_data->player_view)
77                                 viewer_main_data->player_view->SmilHandle = NULL;
78                 }
79
80                 if (viewer_main_data->viewer_ug) {
81                         msg_common_reset_font_size("entry");
82                         ug_destroy_me(viewer_main_data->viewer_ug);
83                 }
84         } else {
85                 MSG_UI_DEBUG(MSG_UI_LEVEL_ERR, "viewer_main_data is NULL");
86         }
87
88         return ECORE_CALLBACK_CANCEL;
89 }
90
91
92 void msg_ui_viewer_destroy_cb(ui_gadget_h ug, void *priv)
93 {
94         MSG_UI_ENTER(MSG_UI_LEVEL_DEBUG);
95         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, ug == NULL);
96         MSG_UI_RET_IF(MSG_UI_LEVEL_ERR, priv == NULL);
97         MSG_VIEWER_MAIN_DATA_S *viewer_main_data = (MSG_VIEWER_MAIN_DATA_S *)priv;
98
99         if (viewer_main_data->loaded_ug) {
100                 ug_destroy(viewer_main_data->loaded_ug);
101                 viewer_main_data->loaded_ug = NULL;
102         }
103
104         MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "viewer_main_data->view_mode : %d", viewer_main_data->view_mode);
105         if (viewer_main_data->view_mode == MSG_VIEWER_PLAYER_VIEW) {
106                 if (viewer_main_data->player_view) {
107                         MSG_UI_DEBUG(MSG_UI_LEVEL_DEBUG, "PLAYER launch_cmd : %d, cmd_type : %d", viewer_main_data->player_view->launch_cmd, viewer_main_data->player_view->cmd_type);
108                         if (viewer_main_data->player_view->launch_cmd == MSG_VIEWER_LOAD_OTHER_UG_MODE &&
109                                         (viewer_main_data->player_view->cmd_type == MSG_VIEWER_CMD_LOAD_CONTACT)) {
110
111                                 /*update title button text after contact sync */
112                                 msg_ui_viewer_title_update(viewer_main_data->player_view, MSG_VIEWER_OPTION_CONTACT);
113                         }
114
115                         bool isHelpText = (!viewer_main_data->player_view->smil_eventStatus) ? false : ((viewer_main_data->player_view->smil_eventStatus->isHelpSlide) ? true : false);
116                         MSG_VIEWER_ENTRY_TYPE_E entry_type = (isHelpText) ? MSG_VIEWER_ENTRY_HELP_TEXT : MSG_VIEWER_ENTRY_NORMAL_TEXT;
117                         msg_ui_viewer_set_font_size(viewer_main_data->player_view, entry_type, MSG_VIEWER_FONT_CHANGE_LATEST_UPDATE);
118
119                         /*connect handler again*/
120                         msg_ui_viewer_connect_handler(viewer_main_data->player_view);
121
122                         viewer_main_data->player_view->launch_cmd = MSG_VIEWER_DEFAULT_MODE;
123                         viewer_main_data->player_view->cmd_type = MSG_VIEWER_CMD_NONE;
124                 }
125         }
126
127         MSG_UI_LEAVE(MSG_UI_LEVEL_DEBUG);
128 }
129