2 * Copyright 2012 Samsung Electronics Co., Ltd
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
8 * http://www.tizenopensource.org/license
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.
18 #include "vcui-application.h"
19 #include "vcui-view-elements.h"
20 #include "vcui-view-dialing.h"
21 #include "vcui-view-single-call.h"
22 #include "vcui-view-multi-call-conf.h"
23 #include "vcui-view-multi-call-split.h"
24 #include "vcui-view-multi-call-list.h"
25 #include "vcui-view-keypad.h"
26 #include "vcui-view-incoming-lock.h"
27 #include "vcui-view-callend.h"
28 #include "vcui-view-quickpanel.h"
29 #include "vcui-view-popup.h"
31 static void __vcui_hold_btn_cb(void *data, Evas_Object *obj, void *event_info);
32 static void __vcui_unhold_btn_cb(void *data, Evas_Object *obj, void *event_info);
33 static void __vcui_join_btn_cb(void *data, Evas_Object *obj, void *event_info);
34 static void __vcui_keypad_btn_cb(void *data, Evas_Object *obj, void *event_info);
35 static void __vcui_contacts_btn_cb(void *data, Evas_Object *obj, void *event_info);
36 static void __vcui_addcall_btn_cb(void *data, Evas_Object *obj, void *event_info);
37 static void __vcui_sound_path_btn_cb(void *data, Evas_Object *obj, void *event_info);
38 static void __vcui_spk_btn_cb(void *data, Evas_Object *obj, void *event_info);
39 static void __vcui_spk_press_btn_cb(void *data, Evas_Object *obj, void *event_info);
40 static void __vcui_mute_btn_cb(void *data, Evas_Object *obj, void *event_info);
41 static void __vcui_bigend_btn_cb(void *data, Evas_Object *obj, void *event_info);
42 static void __vcui_videocall_btn_cb(void *data, Evas_Object *obj, void *event_info);
43 static void __vcui_voicecall_btn_cb(void *data, Evas_Object *obj, void *event_info);
44 static void __vcui_msg_btn_cb(void *data, Evas_Object *obj, void *event_info);
45 static void __vcui_hold_btn_cb(void *data, Evas_Object *obj, void *event_info)
48 vcall_engine_process_hold_call();
51 static void __vcui_unhold_btn_cb(void *data, Evas_Object *obj, void *event_info)
54 vcall_engine_process_hold_call();
57 void _vcui_swap_btn_cb(void *data, Evas_Object *obj, void *event_info)
60 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
61 vcui_app_call_data_t *ad = vd->app_data;
63 ad->bholdisleft = ad->bswapped;
64 _vcui_view_popup_load(_("IDS_CALL_POP_SWAPPED"), POPUP_TIMEOUT_LONG, EINA_FALSE);
65 vcall_engine_process_hold_call();
68 static void __vcui_join_btn_cb(void *data, Evas_Object *obj, void *event_info)
71 _vcui_create_top_left_button_disabled(data);
72 vcall_engine_join_call();
75 void _vcui_conf_img_cb(void *data, Evas_Object *obj, void *event_info)
76 { /* for multicall list view */
78 _vcui_view_change(VIEW_INCALL_MULTICALL_LIST_VIEW, 0, 0, 0);
81 static void __vcui_keypad_btn_cb(void *data, Evas_Object *obj, void *event_info)
84 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
85 Evas_Object *view_ly = NULL;
88 case VIEW_DIALLING_VIEW:
90 view_ly = _vc_ui_view_dialing_get_layout(vd);
93 case VIEW_INCALL_ONECALL_VIEW:
95 view_ly = _vc_ui_view_single_call_get_layout(vd);
98 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
100 view_ly = _vcui_view_multi_call_split_get_layout(vd);
103 case VIEW_INCALL_MULTICALL_CONF_VIEW:
105 view_ly = _vcui_view_multi_call_conf_get_main_layout(vd);
109 CALL_UI_DEBUG("code should never reach here");
113 if (_vcui_keypad_get_show_status() == EINA_FALSE) { /*show keypad region*/
116 /*Hide caller info area*/
117 edje_object_signal_emit(_EDJ(view_ly), "HIDE", "CALL_AREA");
118 edje_object_signal_emit(_EDJ(view_ly), "HIDE_NOISE_REDUCTIION", "NOISE_REDUCTIION");
119 edje_object_signal_emit(_EDJ(view_ly), "HIDE_SOUND_EQ", "SOUND_EQ");
121 /*Show keypad layout - ON view*/
122 edje_object_signal_emit(_EDJ(view_ly), "SHOW", "KEYPAD_BTN");
124 /*Actual show with animation*/
125 _vcui_keypad_show_layout(vd);
127 elm_object_text_set(obj, dgettext("sys_string", "IDS_COM_SK_HIDE"));
129 _vcui_keypad_set_show_status(EINA_TRUE);
133 /*Hide animation on keypad*/
134 _vcui_keypad_show_hide_effect(vd, view_ly);
137 elm_object_text_set(obj, _("IDS_CALL_SK3_KEYPAD"));
139 /*Set keypad status flag*/
140 _vcui_keypad_set_show_status(EINA_FALSE);
144 static void __vcui_contacts_btn_cb(void *data, Evas_Object *obj, void *event_info)
147 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
148 vcui_app_call_data_t *ad = vd->app_data;
150 if (ad->beffect_show == EINA_TRUE) {
151 ad->bcontact_clicked = EINA_TRUE;
153 _vcui_doc_launch_contact_list_ug(NULL, NULL, vd->layout, NULL, NULL, NULL, &(vd->app_data->ugs_array_data));
157 static void __vcui_addcall_btn_cb(void *data, Evas_Object *obj, void *event_info)
160 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
161 vcui_app_call_data_t *ad = vd->app_data;
163 if (ad->beffect_show == EINA_TRUE) {
164 ad->badd_call_clicked = EINA_TRUE;
166 _vcui_doc_launch_phoneui_ug(NULL, NULL, vd->layout, NULL, NULL, NULL, &(vd->app_data->ugs_array_data));
170 static void __vcui_sound_path_btn_cb(void *data, Evas_Object *obj, void *event_info)
173 _vcui_view_popup_load_snd_path(data);
176 /* #define RCS_TEST */
178 static void __vcui_spk_btn_cb(void *data, Evas_Object *obj, void *event_info)
181 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
182 vcui_app_call_data_t *ad = vd->app_data;
184 CALL_UI_DEBUG("vd->type:[%d]", vd->type);
186 vcall_engine_process_loudspeaker(EINA_TRUE);
188 ad->speaker_status = EINA_TRUE;
189 _vcui_create_bottom_left_button(vd);
193 static void __vcui_spk_press_btn_cb(void *data, Evas_Object *obj, void *event_info)
196 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
197 vcui_app_call_data_t *ad = vd->app_data;
199 CALL_UI_DEBUG("vd->type:[%d]", vd->type);
201 vcall_engine_process_loudspeaker(EINA_FALSE);
203 ad->speaker_status = EINA_FALSE;
204 _vcui_create_bottom_left_button(vd);
208 static void __vcui_mute_btn_cb(void *data, Evas_Object *obj, void *event_info)
212 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
213 vcui_app_call_data_t *ad = vd->app_data;
215 CALL_UI_DEBUG("vd->type:[%d]", vd->type);
217 vcall_engine_process_voice_mute(EINA_TRUE);
219 ad->mute_status = EINA_TRUE;
220 if (vd->type == VIEW_QUICKPANEL_VIEW) {
221 _vcui_view_common_update_mute_btn();
223 _vcui_create_bottom_middle_button(vd);
225 _vcui_create_quickpanel_mute_button(vd);
229 static void __vcui_mute_press_btn_cb(void *data, Evas_Object *obj, void *event_info)
232 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
233 vcui_app_call_data_t *ad = vd->app_data;
235 CALL_UI_DEBUG("vd->type:[%d]", vd->type);
237 vcall_engine_process_voice_mute(EINA_FALSE);
239 ad->mute_status = EINA_FALSE;
241 if (vd->type == VIEW_QUICKPANEL_VIEW) {
242 _vcui_view_common_update_mute_btn();
244 _vcui_create_bottom_middle_button(vd);
246 _vcui_create_quickpanel_mute_button(vd);
250 static void __vcui_bigend_btn_cb(void *data, Evas_Object *obj, void *event_info)
254 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
255 vcui_app_call_data_t *ad = vd->app_data;
256 CALL_UI_DEBUG("vd->type:[%d]", vd->type);
259 case VIEW_DIALLING_VIEW:
261 vcall_engine_cancel_call();
264 case VIEW_INCALL_ONECALL_VIEW:
266 vcall_engine_release_call();
269 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
271 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS);
274 case VIEW_INCALL_MULTICALL_CONF_VIEW:
276 int call_status = -1;
277 call_status = _vcui_view_multi_call_conf_get_call_status(vd);
278 if (call_status == CALL_HOLD)
279 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_HELD_CALLS);
280 else if (call_status == CALL_UNHOLD)
281 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS);
282 ad->call_end_type = CALL_END_TYPE_CONF_CALL;
285 case VIEW_INCALL_MULTICALL_LIST_VIEW:
287 int call_status = -1;
288 call_status = _vcui_view_multi_call_list_get_call_status(vd);
289 if (call_status == CALL_HOLD)
290 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_HELD_CALLS);
291 else if (call_status == CALL_UNHOLD)
292 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS);
294 vcall_engine_get_group_count(&grp_count);
295 CALL_UI_DEBUG("No. of groups - %d", grp_count);
297 ad->call_end_type = CALL_END_TYPE_CONF_CALL;
299 ad->call_end_type = CALL_END_TYPE_NONE;
303 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
310 Evas_Object *__vcui_create_button_style(void *data, Evas_Object **p_button, char *part_name)
314 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
317 case VIEW_DIALLING_VIEW:
319 layout = _vc_ui_view_dialing_get_button_layout(vd);
322 case VIEW_INCALL_ONECALL_VIEW:
324 layout = _vc_ui_view_single_call_get_button_layout(vd);
327 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
329 layout = _vcui_view_multi_call_split_get_button_layout(vd);
332 case VIEW_INCALL_MULTICALL_CONF_VIEW:
334 layout = _vcui_view_multi_call_conf_get_button_layout(vd);
337 case VIEW_ENDCALL_VIEW:
339 layout = _vc_ui_view_callend_get_button_layout(vd);
343 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
349 sw = edje_object_part_swallow_get(_EDJ(layout), part_name);
351 edje_object_part_unswallow(_EDJ(layout), sw);
355 *p_button = elm_button_add(layout);
356 elm_object_part_content_set(layout, part_name, *p_button);
361 /* Add-Call/Join button ENABLED*/
362 Evas_Object *_vcui_create_top_left_button(void *data)
364 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
365 vcui_app_call_data_t *ad = vd->app_data;
368 Eina_Bool bjoin = EINA_FALSE;
370 if (vd->type == VIEW_INCALL_MULTICALL_SPLIT_VIEW)
373 layout = __vcui_create_button_style(data, &btn, "top_left_button");
376 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_join");
377 elm_object_style_set(btn, "style_call_sixbtn_join");
378 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_join");
379 elm_object_text_set(btn, _("IDS_CALL_BUTTON_JOIN"));
380 evas_object_smart_callback_add(btn, "clicked", __vcui_join_btn_cb, vd);
382 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_add");
383 elm_object_style_set(btn, "style_call_sixbtn_add");
384 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_add");
385 elm_object_text_set(btn, _("IDS_CALL_BUTTON_ADD_CALL"));
386 evas_object_smart_callback_add(btn, "clicked", __vcui_addcall_btn_cb, data);
392 /* Add-Call/Join Button DISABLED */
393 Evas_Object *_vcui_create_top_left_button_disabled(void *data)
395 CALL_UI_KPI("_vcui_create_top_left_button_disabled start");
396 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
399 Eina_Bool bjoin = EINA_FALSE;
401 if (vd->type == VIEW_INCALL_MULTICALL_SPLIT_VIEW)
404 layout = __vcui_create_button_style(data, &btn, "top_left_button");
407 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled_join");
408 elm_object_style_set(btn, "style_call_sixbtn_disabled_join");
409 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled_join");
410 elm_object_text_set(btn, _("IDS_CALL_BUTTON_JOIN"));
412 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled_add");
413 elm_object_style_set(btn, "style_call_sixbtn_disabled_add");
414 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled_add");
415 elm_object_text_set(btn, _("IDS_CALL_BUTTON_ADD_CALL"));
419 CALL_UI_KPI("_vcui_create_top_left_button_disabled done");
424 /* Keypad Button ENABLED */
425 Evas_Object *_vcui_create_top_middle_button(void *data)
429 Evas_Object *view_ly = NULL;
430 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
432 layout = __vcui_create_button_style(data, &btn, "top_middle_button");
433 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_keypad");
434 elm_object_style_set(btn, "style_call_sixbtn_keypad");
435 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_keypad");
438 case VIEW_DIALLING_VIEW:
440 view_ly = _vc_ui_view_dialing_get_layout(vd);
443 case VIEW_INCALL_ONECALL_VIEW:
445 view_ly = _vc_ui_view_single_call_get_layout(vd);
448 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
450 view_ly = _vcui_view_multi_call_split_get_layout(vd);
453 case VIEW_INCALL_MULTICALL_CONF_VIEW:
455 view_ly = _vcui_view_multi_call_conf_get_main_layout(vd);
459 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
464 /*Create keypad layout*/
465 _vcui_keypad_create_layout(vd, view_ly);
466 if (_vcui_keypad_get_show_status() == EINA_FALSE) {
467 elm_object_text_set(btn, _("IDS_CALL_SK3_KEYPAD"));
469 elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_SK_HIDE"));
471 evas_object_smart_callback_add(btn, "clicked", __vcui_keypad_btn_cb, data);
476 /* Keypad Button DISABLED */
477 Evas_Object *_vcui_create_top_middle_button_disabled(void *data)
479 CALL_UI_KPI("_vcui_create_top_middle_button_disabled start");
483 layout = __vcui_create_button_style(data, &btn, "top_middle_button");
484 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled_keypad");
485 elm_object_style_set(btn, "style_call_sixbtn_disabled_keypad");
486 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled_keypad");
487 elm_object_text_set(btn, _("IDS_CALL_SK3_KEYPAD"));
488 CALL_UI_KPI("_vcui_create_top_middle_button_disabled done");
493 /* End Call Button ENABLED */
494 Evas_Object *_vcui_create_top_right_button(void *data)
499 layout = __vcui_create_button_style(data, &btn, "top_right_button");
500 elm_object_style_set(btn, "style_call_sixbtn_end");
501 elm_object_text_set(btn, _("IDS_CALL_SK3_END_CALL"));
502 evas_object_smart_callback_add(btn, "clicked", __vcui_bigend_btn_cb, data);
507 /* End Call Button DISABLED */
508 Evas_Object *_vcui_create_top_right_button_disabled(void *data)
513 layout = __vcui_create_button_style(data, &btn, "top_right_button");
514 elm_object_style_set(btn, "style_call_sixbtn_disabled_end");
515 elm_object_text_set(btn, _("IDS_CALL_SK3_END_CALL"));
520 /* Speaker Button ENABLED */
521 Evas_Object *_vcui_create_bottom_left_button(void *data)
523 CALL_UI_KPI("_vcui_create_bottom_left_button start");
526 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
527 vcui_app_call_data_t *ad = vd->app_data;
529 layout = __vcui_create_button_style(data, &btn, "bottom_left_button");
530 if (EINA_TRUE == _vcui_is_headset_conected()) {
531 elm_object_style_set(btn, "style_call_sixbtn_speaker");
532 elm_object_text_set(btn, _("IDS_CALL_BUTTON_SOUND_ABB"));
533 evas_object_smart_callback_add(btn, "clicked", __vcui_sound_path_btn_cb, vd);
535 elm_object_text_set(btn, _("IDS_CALL_BUTTON_SPEAKER"));
536 if (ad->speaker_status == EINA_FALSE) {
537 elm_object_style_set(btn, "style_call_sixbtn_speaker");
538 evas_object_smart_callback_add(btn, "clicked", __vcui_spk_btn_cb, vd);
540 elm_object_style_set(btn, "style_call_sixbtn_speaker_on");
541 evas_object_smart_callback_add(btn, "clicked", __vcui_spk_press_btn_cb, vd);
544 CALL_UI_KPI("_vcui_create_bottom_left_button done");
549 /* Speaker Button DISABLED */
550 Evas_Object *_vcui_create_bottom_left_button_disabled(void *data)
552 CALL_UI_KPI("_vcui_create_bottom_left_button_disabled start");
556 layout = __vcui_create_button_style(data, &btn, "bottom_left_button");
557 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled_speaker");
558 elm_object_style_set(btn, "style_call_sixbtn_disabled_speaker");
559 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled_speaker");
560 elm_object_text_set(btn, _("IDS_CALL_BUTTON_SPEAKER"));
561 CALL_UI_KPI("_vcui_create_bottom_left_button_disabled done");
566 /* Mute Button ENABLED */
567 Evas_Object *_vcui_create_bottom_middle_button(void *data)
571 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
572 vcui_app_call_data_t *ad = vd->app_data;
574 layout = __vcui_create_button_style(data, &btn, "bottom_middle_button");
575 elm_object_text_set(btn, _("IDS_CALL_BUTTON_MUTE_ABB"));
576 if (ad->mute_status == EINA_FALSE) {
577 elm_object_style_set(btn, "style_call_sixbtn_mute");
578 evas_object_smart_callback_add(btn, "clicked", __vcui_mute_btn_cb, vd);
580 elm_object_style_set(btn, "style_call_sixbtn_mute_on");
581 evas_object_smart_callback_add(btn, "clicked", __vcui_mute_press_btn_cb, vd);
587 /* Mute Button DISABLED */
588 Evas_Object *_vcui_create_bottom_middle_button_disabled(void *data)
590 CALL_UI_KPI("_vcui_create_bottom_middle_button_disabled start");
594 layout = __vcui_create_button_style(data, &btn, "bottom_middle_button");
595 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled_mute");
596 elm_object_style_set(btn, "style_call_sixbtn_disabled_mute");
597 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled_mute");
598 elm_object_text_set(btn, _("IDS_CALL_BUTTON_MUTE_ABB"));
599 CALL_UI_KPI("_vcui_create_bottom_middle_button_disabled done");
604 /* Share/Contacts Button ENABLED */
605 Evas_Object *_vcui_create_bottom_right_button(void *data)
608 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
609 vcui_app_call_data_t *ad = vd->app_data;
611 __vcui_create_button_style(data, &btn, "bottom_right_button");
614 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_contacts");
615 elm_object_style_set(btn, "style_call_sixbtn_contacts");
616 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_contacts");
617 elm_object_text_set(btn, _("IDS_CALL_BUTTON_CONTACTS"));
618 evas_object_smart_callback_add(btn, "clicked", __vcui_contacts_btn_cb, vd);
624 /* Share/Contacts Button DISABLED */
625 Evas_Object *_vcui_create_bottom_right_button_disabled(void *data)
627 CALL_UI_KPI("_vcui_create_bottom_right_button_disabled start");
630 __vcui_create_button_style(data, &btn, "bottom_right_button");
631 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled");
632 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled");
635 CALL_UI_KPI("elm_object_style_set start :: style_call_sixbtn_disabled_contacts");
636 elm_object_style_set(btn, "style_call_sixbtn_disabled_contacts");
637 CALL_UI_KPI("elm_object_style_set done :: style_call_sixbtn_disabled_contacts");
638 elm_object_text_set(btn, _("IDS_CALL_BUTTON_CONTACTS"));
641 CALL_UI_KPI("_vcui_create_bottom_right_button_disabled done");
646 Evas_Object *_vcui_create_hold_swap_button(void *data)
652 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
654 Eina_Bool bswap_button = EINA_FALSE;
655 Eina_Bool bhold_button = EINA_FALSE;
658 case VIEW_INCALL_ONECALL_VIEW:
660 layout = _vc_ui_view_single_call_get_layout(vd);
661 call_status = _vc_ui_view_single_call_get_call_status(vd);
662 bhold_button = EINA_TRUE;
665 case VIEW_INCALL_MULTICALL_CONF_VIEW:
667 layout = _vcui_view_multi_call_conf_get_main_layout(vd);
668 call_status = _vcui_view_multi_call_conf_get_call_status(vd);
669 bhold_button = EINA_TRUE;
672 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
674 layout = _vcui_view_multi_call_split_get_layout(vd);
675 bswap_button = EINA_TRUE;
679 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
683 CALL_UI_DEBUG("vd type:[%d], call_status:[%d]", vd->type, call_status);
685 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_hold_swap");
687 edje_object_part_unswallow(_EDJ(layout), sw);
691 btn = elm_button_add(layout);
692 elm_object_part_content_set(layout, "btn_hold_swap", btn);
693 ic = elm_image_add(layout);
694 evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
695 elm_icon_resizable_set(ic, 1, 1);
696 elm_object_content_set(btn, ic);
699 elm_object_style_set(btn, "style_normal_holdbtn");
700 if (call_status == CALL_UNHOLD) {
701 elm_image_file_set(ic, HOLD_ICON, NULL);
702 edje_object_part_text_set(_EDJ(layout), "txt_hold_swap", _("IDS_CALL_BUTTON_HOLD"));
703 evas_object_smart_callback_add(btn, "clicked", __vcui_hold_btn_cb, vd);
704 } else { /* CALL_HOLD */
705 elm_image_file_set(ic, UNHOLD_ICON, NULL);
706 edje_object_part_text_set(_EDJ(layout), "txt_hold_swap", _("IDS_CALL_BUTTON_UNHOLD"));
707 evas_object_smart_callback_add(btn, "clicked", __vcui_unhold_btn_cb, vd);
709 } else if (bswap_button) {
710 elm_object_style_set(btn, "style_normal_swapbtn");
711 elm_image_file_set(ic, SWAP_ICON, NULL);
712 edje_object_part_text_set(_EDJ(layout), "txt_hold_swap", _("Swap"));
713 evas_object_smart_callback_add(btn, "clicked", _vcui_swap_btn_cb, vd);
719 Evas_Object *_vcui_create_button_bigend(void *data)
721 CALL_UI_KPI("_vcui_create_button_bigend start");
726 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
728 case VIEW_DIALLING_VIEW:
730 layout = _vc_ui_view_dialing_get_layout(vd);
733 case VIEW_INCALL_ONECALL_VIEW:
735 layout = _vc_ui_view_single_call_get_layout(vd);
738 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
740 layout = _vcui_view_multi_call_split_get_layout(vd);
743 case VIEW_INCALL_MULTICALL_CONF_VIEW:
745 layout = _vcui_view_multi_call_conf_get_main_layout(vd);
748 case VIEW_INCALL_MULTICALL_LIST_VIEW:
750 layout = _vcui_view_multi_call_list_get_main_layout(vd);
754 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
760 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_bigend");
762 edje_object_part_unswallow(_EDJ(layout), sw);
766 btn = elm_button_add(layout);
767 elm_object_part_content_set(layout, "btn_bigend", btn);
768 CALL_UI_KPI("elm_object_style_set start :: style_call_text_only_red");
769 elm_object_style_set(btn, "style_call_text_only_red");
770 CALL_UI_KPI("elm_object_style_set done :: style_call_text_only_red");
771 elm_object_text_set(btn, _("IDS_CALL_OPT_END_ALL_CALLS"));
772 evas_object_smart_callback_add(btn, "clicked", __vcui_bigend_btn_cb, vd);
773 CALL_UI_KPI("_vcui_create_button_bigend done");
777 Evas_Object *_vcui_create_button_bigend_disabled(void *data)
779 CALL_UI_KPI("_vcui_create_button_bigend_disabled start");
784 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
786 case VIEW_DIALLING_VIEW:
788 layout = _vc_ui_view_dialing_get_layout(vd);
791 case VIEW_INCALL_ONECALL_VIEW:
793 layout = _vc_ui_view_single_call_get_layout(vd);
796 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
798 layout = _vcui_view_multi_call_split_get_layout(vd);
801 case VIEW_INCALL_MULTICALL_CONF_VIEW:
803 layout = _vcui_view_multi_call_conf_get_main_layout(vd);
806 case VIEW_ENDCALL_VIEW:
808 layout = _vc_ui_view_callend_get_layout(vd);
812 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
818 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_bigend");
820 edje_object_part_unswallow(_EDJ(layout), sw);
824 btn = elm_button_add(layout);
825 elm_object_part_content_set(layout, "btn_bigend", btn);
826 CALL_UI_KPI("elm_object_style_set start :: style_call_text_only_red_disabled");
827 elm_object_style_set(btn, "style_call_text_only_red_disabled");
828 CALL_UI_KPI("elm_object_style_set done :: style_call_text_only_red_disabled");
829 elm_object_text_set(btn, _("IDS_CALL_SK3_END_CALL"));
830 CALL_UI_KPI("_vcui_create_button_bigend_disabled done");
834 Evas_Object *_vcui_create_conf_list_button_hold(void *data)
840 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
844 case VIEW_INCALL_MULTICALL_CONF_VIEW:
846 layout = _vcui_view_multi_call_conf_get_main_layout(vd);
847 call_status = _vcui_doc_get_group_call_status();
850 case VIEW_INCALL_MULTICALL_LIST_VIEW:
852 layout = _vcui_view_multi_call_list_get_main_layout(vd);
853 call_status = _vcui_doc_get_group_call_status();
857 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
862 CALL_UI_DEBUG("vd type:[%d], call_status:[%d]", vd->type, call_status);
864 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_hold");
866 edje_object_part_unswallow(_EDJ(layout), sw);
870 btn = elm_button_add(layout);
871 CALL_UI_KPI("elm_object_style_set start :: style_list_holdbtn");
872 elm_object_style_set(btn, "style_list_holdbtn");
873 CALL_UI_KPI("elm_object_style_set done :: style_list_holdbtn");
874 elm_object_part_content_set(layout, "btn_hold", btn);
875 ic = elm_image_add(layout);
876 evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
877 elm_icon_resizable_set(ic, 1, 1);
878 elm_object_content_set(btn, ic);
880 if (call_status == CALL_UNHOLD) {
881 elm_image_file_set(ic, HOLD_ICON, NULL);
882 elm_object_text_set(btn, _("IDS_CALL_BUTTON_HOLD"));
884 evas_object_smart_callback_add(btn, "clicked", __vcui_hold_btn_cb, vd);
885 } else { /* CALL_HOLD */
886 elm_image_file_set(ic, UNHOLD_ICON, NULL);
887 elm_object_text_set(btn, _("IDS_CALL_BUTTON_UNHOLD"));
889 evas_object_smart_callback_add(btn, "clicked", __vcui_unhold_btn_cb, vd);
895 Evas_Object *_vcui_show_wallpaper_image(Evas_Object *contents)
897 Evas_Object *d_image = NULL;
901 void _vcui_delete_contact_image(Evas_Object *contents)
905 sw = edje_object_part_swallow_get(_EDJ(contents), "swl_cid");
907 edje_object_part_unswallow(_EDJ(contents), sw);
912 Evas_Object *_vcui_show_contact_image(Evas_Object *contents, Evas_Object *win_main, char *path)
917 sw = edje_object_part_swallow_get(_EDJ(contents), "swl_cid");
919 edje_object_part_unswallow(_EDJ(contents), sw);
923 ic = elm_image_add(win_main);
924 elm_object_part_content_set(contents, "swl_cid", ic);
925 elm_image_file_set(ic, path, NULL);
930 Evas_Object *_vcui_show_default_image(Evas_Object *contents, Evas_Object *win_main, char *path)
935 sw = edje_object_part_swallow_get(_EDJ(contents), "swl_cid");
937 edje_object_part_unswallow(_EDJ(contents), sw);
941 ic = elm_image_add(win_main);
942 elm_object_part_content_set(contents, "swl_cid", ic);
943 elm_image_file_set(ic, path, NULL);
948 static void __vcui_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
950 CALL_UI_DEBUG("__vcui_more_btn_cb..");
951 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
952 vcui_app_call_data_t *ad = vd->app_data;
954 _vcui_view_popup_load_more_option(data);
957 static void __vcui_videocall_btn_cb(void *data, Evas_Object *obj, void *event_info)
959 CALL_UI_DEBUG("__vcui_videocall_btn_cb..");
960 char *tel_num = (char *)data;
963 kb = bundle_create();
964 bundle_add(kb, "KEY_CALL_TYPE", "MO");
965 bundle_add(kb, "number", tel_num);
966 aul_launch_app("org.tizen.vtmain", kb);
972 _vcui_view_common_call_end_timer_reset();
973 evas_object_smart_callback_del(obj, "clicked", __vcui_videocall_btn_cb);
976 static void __vcui_voicecall_btn_cb(void *data, Evas_Object *obj, void *event_info)
978 CALL_UI_DEBUG("__vcui_voicecall_btn_cb..");
979 vcui_app_call_data_t *ad = _vcui_get_app_data();
980 char *tel_num = (char *)data;
981 vcui_call_mo_data_t call_data;
983 _vcui_view_common_timer_redial_reset();
984 ad->speaker_status = EINA_FALSE;
985 ad->mute_status = EINA_FALSE;
986 ad->wbamr_status = EINA_FALSE;
988 memset(&call_data, 0, sizeof(call_data));
990 snprintf(call_data.call_number, sizeof(call_data.call_number), "%s", tel_num);
991 call_data.ct_index = -1;
993 vcall_engine_process_normal_call(call_data.call_number, call_data.ct_index, EINA_FALSE);
998 evas_object_smart_callback_del(obj, "clicked", __vcui_voicecall_btn_cb);
1001 static void __vcui_msg_btn_cb(void *data, Evas_Object *obj, void *event_info)
1003 CALL_UI_DEBUG("__vcui_msg_btn_cb..");
1004 char *tel_num = (char *)data;
1006 _vcui_doc_launch_msg_composer(NULL, tel_num);
1011 _vcui_view_common_call_end_timer_reset();
1012 evas_object_smart_callback_del(obj, "clicked", __vcui_msg_btn_cb);
1015 static void __vcui_add_to_contacts_btn_cb(void *data, Evas_Object *obj, void *event_info)
1017 vcui_app_call_data_t *ad = _vcui_get_app_data();
1018 voice_call_view_data_t *vd = ad->view_st[VIEW_ENDCALL_VIEW];
1019 char *tel_num = (char *)data;
1021 _vcui_doc_launch_add_to_contacts_ug(NULL, NULL, vd->layout, NULL, NULL, NULL, &(vd->app_data->ugs_array_data), tel_num);
1026 evas_object_smart_callback_del(obj, "clicked", __vcui_add_to_contacts_btn_cb);
1029 static void __vcui_view_contact_btn_cb(void *data, Evas_Object *obj, void *event_info)
1031 vcui_app_call_data_t *ad = _vcui_get_app_data();
1032 voice_call_view_data_t *vd = ad->view_st[VIEW_ENDCALL_VIEW];
1034 _vcui_doc_launch_view_contact_ug(NULL, NULL, vd->layout, NULL, NULL, NULL, &(vd->app_data->ugs_array_data), data);
1036 evas_object_smart_callback_del(obj, "clicked", __vcui_view_contact_btn_cb);
1039 Evas_Object *_vcui_create_videocall_button(void *data, char *number)
1042 Evas_Object *layout;
1044 voice_call_view_data_t *vd = NULL;
1045 char *tel_number = NULL;
1047 VCUI_RETURN_NULL_IF_FAIL((vd = (voice_call_view_data_t *)data) != NULL);
1048 layout = _vc_ui_view_callend_get_layout(vd);
1050 tel_number = strdup(number);
1052 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_videocall");
1054 edje_object_part_unswallow(_EDJ(layout), sw);
1055 evas_object_del(sw);
1058 btn = elm_button_add(layout);
1059 elm_object_part_content_set(layout, "btn_videocall", btn);
1060 elm_object_style_set(btn, "style_call_end_video_call_button");
1062 elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_BODY_VIDEO_CALL"));
1063 evas_object_smart_callback_add(btn, "clicked", __vcui_videocall_btn_cb, tel_number);
1068 Evas_Object *_vcui_create_voicecall_button(void *data, char *number)
1071 Evas_Object *layout;
1073 voice_call_view_data_t *vd = NULL;
1074 char *tel_number = NULL;
1076 VCUI_RETURN_NULL_IF_FAIL((vd = (voice_call_view_data_t *)data) != NULL);
1077 layout = _vc_ui_view_callend_get_layout(vd);
1079 tel_number = strdup(number);
1081 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_voicecall");
1083 edje_object_part_unswallow(_EDJ(layout), sw);
1084 evas_object_del(sw);
1087 btn = elm_button_add(layout);
1088 elm_object_part_content_set(layout, "btn_voicecall", btn);
1089 elm_object_style_set(btn, "style_call_end_voice_call_button");
1091 elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_BODY_VOICE_CALL"));
1092 evas_object_smart_callback_add(btn, "clicked", __vcui_voicecall_btn_cb, tel_number);
1097 Evas_Object *_vcui_create_message_button(void *data, char *number)
1100 Evas_Object *layout;
1102 voice_call_view_data_t *vd = NULL;
1103 char *tel_number = NULL;
1105 VCUI_RETURN_NULL_IF_FAIL((vd = (voice_call_view_data_t *)data) != NULL);
1106 layout = _vc_ui_view_callend_get_layout(vd);
1108 tel_number = strdup(number);
1110 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_message");
1112 edje_object_part_unswallow(_EDJ(layout), sw);
1113 evas_object_del(sw);
1116 btn = elm_button_add(layout);
1117 elm_object_part_content_set(layout, "btn_message", btn);
1118 elm_object_style_set(btn, "style_call_end_message_button");
1120 elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_BODY_MESSAGE"));
1121 evas_object_smart_callback_add(btn, "clicked", __vcui_msg_btn_cb, tel_number);
1126 Evas_Object *_vcui_create_add_to_contacts_button(void *data, char *number)
1129 Evas_Object *layout;
1131 char *tel_number = strdup(number);
1133 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1135 case VIEW_ENDCALL_VIEW:
1137 layout = _vc_ui_view_callend_get_layout(vd);
1141 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
1142 if (tel_number != NULL) {
1151 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_contacts");
1153 edje_object_part_unswallow(_EDJ(layout), sw);
1154 evas_object_del(sw);
1157 btn = elm_button_add(layout);
1158 elm_object_part_content_set(layout, "btn_contacts", btn);
1159 elm_object_style_set(btn, "style_call_text_only_grey");
1160 elm_object_text_set(btn, dgettext("sys_string", "IDS_COM_OPT_ADD_TO_CONTACTS"));
1161 evas_object_smart_callback_add(btn, "clicked", __vcui_add_to_contacts_btn_cb, tel_number);
1166 Evas_Object *_vcui_create_view_contact_button(void *data, int ct_id)
1169 Evas_Object *layout;
1172 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1174 case VIEW_ENDCALL_VIEW:
1176 layout = _vc_ui_view_callend_get_layout(vd);
1180 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
1186 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_contacts");
1188 edje_object_part_unswallow(_EDJ(layout), sw);
1189 evas_object_del(sw);
1192 btn = elm_button_add(layout);
1193 elm_object_part_content_set(layout, "btn_contacts", btn);
1194 elm_object_style_set(btn, "style_call_text_only_grey");
1195 elm_object_text_set(btn, _("IDS_CALL_BUTTON_VIEW_CONTACT"));
1196 evas_object_smart_callback_add(btn, "clicked", __vcui_view_contact_btn_cb, (void *)ct_id);
1201 static void __qp_end_btn_cb(void *data, Evas_Object *obj, void *event_info)
1203 CALL_UI_DEBUG("..");
1204 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1205 vcui_app_call_data_t *ad = vd->app_data;
1208 vcall_engine_get_group_count(&grp_count);
1209 CALL_UI_DEBUG("No. of groups - %d", grp_count);
1211 if (grp_count > 1) {
1212 CALL_UI_DEBUG("multi-party call");
1213 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS);
1214 } else if (grp_count == 1) {
1215 CALL_UI_DEBUG("single-party call");
1216 int all_calls = 0, call_status = 0;
1217 all_calls = _vcui_doc_get_all_call_data_count();
1218 call_status = _vcui_doc_get_group_call_status();
1219 CALL_UI_DEBUG("all_calls[%d], call_status[%d]", all_calls, call_status);
1221 if (all_calls > 1) {
1222 CALL_UI_DEBUG("End active conference call");
1223 if (call_status == CALL_HOLD)
1224 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_HELD_CALLS);
1226 vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS);
1227 ad->call_end_type = CALL_END_TYPE_CONF_CALL; /*conf call end screen SHOW */
1228 } else if (all_calls == 1) {
1229 CALL_UI_DEBUG("End single active call");
1230 vcall_engine_release_call();
1232 CALL_UI_DEBUG("invalid case");
1235 CALL_UI_DEBUG("dialing/connecting screen end");
1236 vcall_engine_cancel_call();
1240 Evas_Object *_vcui_create_quickpanel_mute_button(void *data)
1242 CALL_UI_DEBUG("..");
1243 Evas_Object *btn, *layout, *sw;
1244 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1245 vcui_app_call_data_t *ad = vd->app_data;
1246 CALL_UI_DEBUG("vd->type: %d", vd->type);
1248 layout = ad->quickpanel_layout;
1249 VCUI_RETURN_NULL_IF_FAIL(layout);
1251 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_left");
1253 edje_object_part_unswallow(_EDJ(layout), sw);
1254 evas_object_del(sw);
1257 btn = elm_button_add(layout);
1259 elm_object_part_content_set(layout, "btn_left", btn);
1260 elm_object_text_set(btn, _("IDS_CALL_BUTTON_MUTE_ABB"));
1262 if (ad->mute_status == EINA_FALSE) {
1263 elm_object_style_set(btn, "style_call_qp_text_only_normal");
1264 evas_object_smart_callback_add(btn, "clicked", __vcui_mute_btn_cb, vd);
1266 Evas_Object *ic = elm_image_add(layout);
1267 elm_image_file_set(ic, QP_MUTE_ICON, NULL);
1268 elm_object_content_set(btn, ic);
1270 elm_object_style_set(btn, "style_call_small_text_with_icon");
1271 evas_object_smart_callback_add(btn, "clicked", __vcui_mute_press_btn_cb, vd);
1277 Evas_Object *_vcui_create_quickpanel_unhold_button(void *data)
1279 CALL_UI_DEBUG("..");
1280 Evas_Object *btn, *layout, *sw;
1281 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1282 vcui_app_call_data_t *ad = vd->app_data;
1283 CALL_UI_DEBUG("vd->type: %d", vd->type);
1285 layout = ad->quickpanel_layout;
1286 VCUI_RETURN_NULL_IF_FAIL(layout);
1288 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_left");
1290 edje_object_part_unswallow(_EDJ(layout), sw);
1291 evas_object_del(sw);
1294 btn = elm_button_add(layout);
1295 elm_object_part_content_set(layout, "btn_left", btn);
1296 elm_object_style_set(btn, "style_call_qp_text_only_normal");
1298 elm_object_text_set(btn, _("IDS_CALL_BUTTON_UNHOLD"));
1299 evas_object_smart_callback_add(btn, "clicked", __vcui_hold_btn_cb, vd);
1304 Evas_Object *_vcui_create_quickpanel_end_button(void *data)
1306 CALL_UI_DEBUG("..");
1307 Evas_Object *btn, *layout, *sw;
1308 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1309 vcui_app_call_data_t *ad = vd->app_data;
1310 CALL_UI_DEBUG("vd->type: %d", vd->type);
1313 case VIEW_QUICKPANEL_VIEW:
1315 layout = ad->quickpanel_layout;
1320 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
1326 sw = edje_object_part_swallow_get(_EDJ(layout), "btn_right");
1328 edje_object_part_unswallow(_EDJ(layout), sw);
1329 evas_object_del(sw);
1332 btn = elm_button_add(layout);
1333 elm_object_part_content_set(layout, "btn_right", btn);
1334 elm_object_style_set(btn, "style_call_qp_text_only_end");
1335 elm_object_text_set(btn, _("IDS_CALL_SK3_END_CALL"));
1336 evas_object_smart_callback_add(btn, "clicked", __qp_end_btn_cb, vd);
1341 static Evas_Object *__vcui_create_caller_info(void *data, Eina_Bool bhold)
1343 Evas_Object *caller_info = NULL;
1344 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1347 case VIEW_DIALLING_VIEW:
1349 caller_info = _vc_ui_view_dialing_get_caller_info(vd);
1352 case VIEW_INCOMING_LOCK_VIEW:
1354 caller_info = _vc_ui_view_incoming_lock_get_caller_info(vd);
1357 case VIEW_INCALL_ONECALL_VIEW:
1359 caller_info = _vc_ui_view_single_call_get_caller_info(vd);
1362 case VIEW_INCALL_MULTICALL_CONF_VIEW:
1364 caller_info = _vc_ui_view_multi_call_conf_get_caller_info(vd);
1367 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
1369 if (bhold == EINA_TRUE) {
1370 caller_info = _vc_ui_view_multi_call_split_get_caller_info_hold(vd);
1372 caller_info = _vc_ui_view_multi_call_split_get_caller_info_unhold(vd);
1376 case VIEW_ENDCALL_VIEW:
1378 caller_info = _vc_ui_view_callend_get_caller_info(vd);
1382 CALL_UI_DEBUG("ERROR - wrong vd type:[%d]", vd->type);
1390 /* Caller info name or number*/
1391 void _vcui_show_caller_info_name(void *data, const char *name, Eina_Bool bhold)
1393 Evas_Object *layout = NULL;
1395 layout = __vcui_create_caller_info(data, bhold);
1396 edje_object_part_text_set(_EDJ(layout), "txt_call_name", name);
1399 /* Caller info number */
1400 void _vcui_show_caller_info_number(void *data, const char *number, Eina_Bool bhold)
1402 Evas_Object *layout = NULL;
1404 layout = __vcui_create_caller_info(data, bhold);
1405 edje_object_part_text_set(_EDJ(layout), "txt_phone_num", number);
1408 /* Caller info icon*/
1409 Evas_Object *_vcui_show_caller_info_icon(void *data, Eina_Bool bhold)
1411 Evas_Object *sw = NULL;
1412 Evas_Object *ic = NULL;
1413 Evas_Object *btn = NULL;
1414 Evas_Object *layout = NULL;
1416 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1418 layout = __vcui_create_caller_info(data, bhold);
1420 sw = edje_object_part_swallow_get(_EDJ(layout), "caller_info_icon");
1422 edje_object_part_unswallow(_EDJ(layout), sw);
1423 evas_object_del(sw);
1426 if (vd->type == VIEW_DIALLING_VIEW ||
1427 vd->type == VIEW_INCOMING_LOCK_VIEW) {
1428 CALL_UI_DEBUG("Call status icon");
1429 ic = elm_image_add(layout);
1430 elm_image_file_set(ic, CALLER_INFO_ICON, NULL);
1431 elm_object_part_content_set(layout, "caller_info_icon", ic);
1435 CALL_UI_DEBUG("More button");
1437 edje_object_signal_emit(_EDJ(layout), "show_vert_separtor", "call-screen");
1439 btn = elm_button_add(layout);
1440 CALL_UI_KPI("elm_object_style_set start :: style_caller_info_morebtn");
1441 elm_object_style_set(btn, "style_caller_info_morebtn");
1442 CALL_UI_KPI("elm_object_style_set done :: style_caller_info_morebtn");
1443 elm_object_part_content_set(layout, "caller_info_icon", btn);
1445 evas_object_smart_callback_add(btn, "clicked", __vcui_more_btn_cb, vd);
1451 /* Caller info status*/
1452 Evas_Object *_vcui_show_caller_info_status(void *data, const char *status, Eina_Bool bhold)
1454 Evas_Object *layout = NULL;
1456 layout = __vcui_create_caller_info(data, bhold);
1457 edje_object_part_text_set(_EDJ(layout), "txt_status", status);
1462 Evas_Object *_vcui_show_contact_image_split(Evas_Object *contents, const char *path, const char *full_path, Eina_Bool bhold)
1464 Evas_Object *sw = NULL;
1465 Evas_Object *img = NULL;
1469 part = "swl_cid_hold";
1471 part = "swl_cid_unhold";
1474 sw = edje_object_part_swallow_get(_EDJ(contents), part);
1476 edje_object_part_unswallow(_EDJ(contents), sw);
1477 evas_object_del(sw);
1480 if (strcmp(full_path, CONF_SPLIT_ICON) == 0) {
1481 CALL_UI_DEBUG("Conf Image");
1482 img = elm_image_add(contents);
1483 elm_image_file_set(img, CONF_SPLIT_ICON, NULL);
1484 } else if ((strncmp(full_path, IMGDIR, strlen(IMGDIR)) == 0) || (strlen(full_path) == 0)) {
1485 CALL_UI_DEBUG("No caller image");
1486 img = elm_image_add(contents);
1487 elm_image_file_set(img, NOIMG_SPLIT_ICON, NULL);
1489 CALL_UI_DEBUG("Display : %s", full_path);
1490 img = elm_bg_add(contents);
1491 elm_bg_load_size_set(img, MAIN_WIN_HD_W, 445);
1492 elm_bg_file_set(img, full_path, NULL);
1493 evas_object_size_hint_weight_set(img, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
1494 evas_object_size_hint_align_set(img, 0.5, 0.5);
1495 evas_object_show(img);
1498 elm_object_part_content_set(contents, part, img);
1502 Evas_Object *_vcui_show_call_bg_img(Evas_Object *contents)
1504 Evas_Object *d_image;
1507 sw = edje_object_part_swallow_get(_EDJ(contents), "call_bg_img");
1509 edje_object_part_unswallow(_EDJ(contents), sw);
1510 evas_object_del(sw);
1513 d_image = elm_image_add(contents);
1514 elm_image_file_set(d_image, CALL_BG_IMG, NULL);
1515 elm_object_part_content_set(contents, "call_bg_img", d_image);
1520 Evas_Object *_vcui_show_call_not_saved_bg_img(Evas_Object *contents)
1522 Evas_Object *d_image;
1525 sw = edje_object_part_swallow_get(_EDJ(contents), "call_bg_img");
1527 edje_object_part_unswallow(_EDJ(contents), sw);
1528 evas_object_del(sw);
1531 d_image = elm_image_add(contents);
1532 elm_image_file_set(d_image, CALL_NOT_SAVED_BG_IMG, NULL);
1533 elm_object_part_content_set(contents, "call_bg_img", d_image);
1538 void _vcui_elements_check_keypad_n_hide(void *data)
1540 CALL_UI_DEBUG("..");
1541 voice_call_view_data_t *vd = (voice_call_view_data_t *)data;
1542 Evas_Object *view_ly = NULL;
1545 case VIEW_DIALLING_VIEW:
1547 view_ly = _vc_ui_view_dialing_get_layout(vd);
1550 case VIEW_INCALL_ONECALL_VIEW:
1552 view_ly = _vc_ui_view_single_call_get_layout(vd);
1555 case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
1557 view_ly = _vcui_view_multi_call_split_get_layout(vd);
1560 case VIEW_INCALL_MULTICALL_CONF_VIEW:
1562 view_ly = _vcui_view_multi_call_conf_get_main_layout(vd);
1566 CALL_UI_DEBUG("code should never reach here");
1570 if (_vcui_keypad_get_show_status() == EINA_TRUE) {
1571 /*Hide caller info area*/
1572 edje_object_signal_emit(_EDJ(view_ly), "HIDE", "CALL_AREA");