Fixed N_SE-9169
authorJungmin Kim <jm15.kim@samsung.com>
Wed, 5 Sep 2012 12:26:00 +0000 (21:26 +0900)
committerJungmin Kim <jm15.kim@samsung.com>
Wed, 5 Sep 2012 12:27:44 +0000 (21:27 +0900)
Patch set 2:
Remove trash value

Change-Id: Ib9d20055dbf236355cee9ca2e9f603f4f6cae965

ui/src/vcui-view-elements.c
ui/src/vcui-view-quickpanel.c

index 95dd812..73ba74a 100755 (executable)
@@ -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();
        }
 }
 
index e68bdcf..5dd66a2 100755 (executable)
@@ -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)