From 901a4a51a62f8a88c0b2f49c5586e04ecf78be1f Mon Sep 17 00:00:00 2001 From: Jungmin Kim Date: Wed, 5 Sep 2012 21:26:00 +0900 Subject: [PATCH] Fixed N_SE-9169 Patch set 2: Remove trash value Change-Id: Ib9d20055dbf236355cee9ca2e9f603f4f6cae965 --- ui/src/vcui-view-elements.c | 37 ++++++--------- ui/src/vcui-view-quickpanel.c | 88 +++++++++++++++++------------------ 2 files changed, 57 insertions(+), 68 deletions(-) diff --git a/ui/src/vcui-view-elements.c b/ui/src/vcui-view-elements.c index 95dd812..73ba74a 100755 --- a/ui/src/vcui-view-elements.c +++ b/ui/src/vcui-view-elements.c @@ -1200,39 +1200,30 @@ Evas_Object *_vcui_create_view_contact_button(void *data, int ct_id) static void __qp_end_btn_cb(void *data, Evas_Object *obj, void *event_info) { CALL_UI_DEBUG(".."); + voice_call_view_data_t *vd = (voice_call_view_data_t *)data; vcui_app_call_data_t *ad = vd->app_data; - int grp_count = 0; - - vcall_engine_get_group_count(&grp_count); - CALL_UI_DEBUG("No. of groups - %d", grp_count); - - if (grp_count > 1) { - CALL_UI_DEBUG("multi-party call"); - vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS); - } else if (grp_count == 1) { - CALL_UI_DEBUG("single-party call"); - int all_calls = 0, call_status = 0; - all_calls = _vcui_doc_get_all_call_data_count(); - call_status = _vcui_doc_get_group_call_status(); - CALL_UI_DEBUG("all_calls[%d], call_status[%d]", all_calls, call_status); - - if (all_calls > 1) { + + if (_vcui_doc_get_no_status_call_data_count() == 1) { + CALL_UI_DEBUG("dialing/connecting screen end"); + vcall_engine_cancel_call(); + } else if (_vcui_doc_get_all_call_data_count() > 1) { + if (_vcui_doc_get_unhold_call_data_count() == 0 || _vcui_doc_get_hold_call_data_count() == 0) { CALL_UI_DEBUG("End active conference call"); + + int call_status = _vcui_doc_get_group_call_status(); if (call_status == CALL_HOLD) vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_HELD_CALLS); else vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS); - ad->call_end_type = CALL_END_TYPE_CONF_CALL; /*conf call end screen SHOW */ - } else if (all_calls == 1) { - CALL_UI_DEBUG("End single active call"); - vcall_engine_release_call(); + ad->call_end_type = CALL_END_TYPE_CONF_CALL; /* conf call end screen SHOW */ } else { - CALL_UI_DEBUG("invalid case"); + CALL_UI_DEBUG("End multi split active call"); + vcall_engine_release_call_by_type(VCALL_ENGINE_RELEASE_ALL_ACTIVE_CALLS); } } else { - CALL_UI_DEBUG("dialing/connecting screen end"); - vcall_engine_cancel_call(); + CALL_UI_DEBUG("End single active call"); + vcall_engine_release_call(); } } diff --git a/ui/src/vcui-view-quickpanel.c b/ui/src/vcui-view-quickpanel.c index e68bdcf..5dd66a2 100755 --- a/ui/src/vcui-view-quickpanel.c +++ b/ui/src/vcui-view-quickpanel.c @@ -139,48 +139,59 @@ static void __vcui_view_qp_draw_screen(Evas_Object *eo, void *data) vcall_engine_get_group_count(&grp_count); CALL_UI_DEBUG("No. of groups - %d", grp_count); - if (grp_count > 1) { - CALL_UI_DEBUG("multi-party call - show active call"); - int active_calls = 0; - active_calls = _vcui_doc_get_unhold_call_data_count(); - CALL_UI_DEBUG("active_calls[%d]", active_calls); - if (active_calls > 1) { - char *temp = _("IDS_QP_BODY_GROUP_CALL_HPD_ABB"); - call_data = _vcui_doc_get_first_call_data_by_unhold_status(); - snprintf(buf, DEF_BUF_LEN, temp, active_calls); - edje_object_part_text_set(_EDJ(eo), "txt_call_name", buf); - priv->caller_id = _vcui_show_default_image(eo, ad->win_quickpanel, QP_CONF_ICON); - } else if (active_calls == 1) { - call_data = _vcui_doc_get_first_call_data_by_unhold_status(); - __vcui_view_qp_update_caller(eo, call_data); - __vcui_view_qp_draw_contact_image(eo, call_data); - } else { - CALL_UI_DEBUG("invalid case"); - } - _vcui_create_quickpanel_mute_button(vd); - _vcui_create_quickpanel_end_button(vd); - } else if (grp_count == 1) { - CALL_UI_DEBUG("single-party call"); - int all_calls = 0; + if (_vcui_doc_get_no_status_call_data_count() == 1) { + CALL_UI_DEBUG("dialing/connecting view"); + call_data = _vcui_doc_get_call_data_mo_type(); + __vcui_view_qp_update_caller(eo, call_data); + __vcui_view_qp_draw_contact_image(eo, call_data); - all_calls = _vcui_doc_get_all_call_data_count(); - CALL_UI_DEBUG("all_calls[%d]", all_calls); + _vcui_view_qp_update_text_status(vd, _("IDS_CALL_POP_CALLING")); + } else if (_vcui_doc_get_all_call_data_count() > 1) { + if (_vcui_doc_get_unhold_call_data_count() == 0 || _vcui_doc_get_hold_call_data_count() == 0) { + CALL_UI_DEBUG("multi conf call"); - if (all_calls > 1) { + int all_calls = _vcui_doc_get_all_call_data_count(); char *temp = _("IDS_QP_BODY_GROUP_CALL_HPD_ABB"); call_data = _vcui_doc_get_first_call_data_from_list(); snprintf(buf, DEF_BUF_LEN, temp, all_calls); edje_object_part_text_set(_EDJ(eo), "txt_call_name", buf); priv->caller_id = _vcui_show_default_image(eo, ad->win_quickpanel, QP_CONF_ICON); - } else if (all_calls == 1) { - call_data = _vcui_doc_get_first_call_data_from_list(); - __vcui_view_qp_update_caller(eo, call_data); - __vcui_view_qp_draw_contact_image(eo, call_data); + + int caller_status = _vcui_doc_get_call_status(call_data); + if (caller_status == CALL_HOLD) { + CALL_UI_DEBUG("Hold call status"); + _vcui_create_quickpanel_unhold_button(vd); + } else { + _vcui_create_quickpanel_mute_button(vd); + } } else { - CALL_UI_DEBUG("invalid case"); + CALL_UI_DEBUG("multi split call"); + int active_calls = _vcui_doc_get_unhold_call_data_count(); + CALL_UI_DEBUG("active_calls[%d]", active_calls); + if (active_calls > 1) { + char *temp = _("IDS_QP_BODY_GROUP_CALL_HPD_ABB"); + call_data = _vcui_doc_get_first_call_data_by_unhold_status(); + snprintf(buf, DEF_BUF_LEN, temp, active_calls); + edje_object_part_text_set(_EDJ(eo), "txt_call_name", buf); + priv->caller_id = _vcui_show_default_image(eo, ad->win_quickpanel, QP_CONF_ICON); + } else if (active_calls == 1) { + call_data = _vcui_doc_get_first_call_data_by_unhold_status(); + __vcui_view_qp_update_caller(eo, call_data); + __vcui_view_qp_draw_contact_image(eo, call_data); + } else { + CALL_UI_DEBUG("invalid case"); + } + _vcui_create_quickpanel_mute_button(vd); } + _vcui_view_common_set_each_time(_vcui_doc_get_call_start_time(call_data)); + } else { + CALL_UI_DEBUG("single call"); + call_data = _vcui_doc_get_first_call_data_from_list(); + __vcui_view_qp_update_caller(eo, call_data); + __vcui_view_qp_draw_contact_image(eo, call_data); + int caller_status = _vcui_doc_get_call_status(call_data); if (caller_status == CALL_HOLD) { CALL_UI_DEBUG("Hold call status"); @@ -189,23 +200,10 @@ static void __vcui_view_qp_draw_screen(Evas_Object *eo, void *data) _vcui_create_quickpanel_mute_button(vd); } - } else { - CALL_UI_DEBUG("dialing/connecting view"); - call_data = _vcui_doc_get_call_data_mo_type(); - __vcui_view_qp_update_caller(eo, call_data); - __vcui_view_qp_draw_contact_image(eo, call_data); + _vcui_view_common_set_each_time(_vcui_doc_get_call_start_time(call_data)); } _vcui_create_quickpanel_end_button(vd); - evas_object_smart_callback_add(priv->caller_id, "clicked", __vcui_view_qp_caller_id_cb, vd); - - if (!_vcui_doc_get_no_status_call_data_count()) { - CALL_UI_DEBUG("no calls with NO_STATUS - update the timer"); - if (call_data != NULL) - _vcui_view_common_set_each_time(_vcui_doc_get_call_start_time(call_data)); - } else { - _vcui_view_qp_update_text_status(vd, _("IDS_CALL_POP_CALLING")); - } } static Evas_Object *__vcui_view_qp_create_window(void) -- 2.34.1