X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ui%2Fsrc%2Fvcui-view-dialing.c;fp=ui%2Fvcui-view-dialing.c;h=4d8c1b38b901b2f9e3e7bd226960d8b13f013a94;hb=61d887669565c965aa743e90cf921c65d59f1d52;hp=b18a144e6ca32cdf19e24f8c96f76cc9835331e2;hpb=0f23bdb275a64f22aa639497a044b79b65ef6332;p=apps%2Fhome%2Fcall.git diff --git a/ui/vcui-view-dialing.c b/ui/src/vcui-view-dialing.c similarity index 60% rename from ui/vcui-view-dialing.c rename to ui/src/vcui-view-dialing.c index b18a144..4d8c1b3 100755 --- a/ui/vcui-view-dialing.c +++ b/ui/src/vcui-view-dialing.c @@ -18,6 +18,17 @@ #include "vcui-application.h" #include "vcui-view-dialing.h" #include "vcui-view-elements.h" +#include "vcui-view-common.h" +#include "vcui-app-window.h" +#include "vcui-view-keypad.h" + +#define VIEW_DIALING_LAYOUT_ID "DIALVIEW" +typedef struct { + Evas_Object *contents; + Evas_Object *caller_info; + Evas_Object *btn_ly; + Evas_Object *ic; +} vcui_view_dialing_priv_t; static int __vcui_view_dialing_oncreate(voice_call_view_data_t *view_data, int param1, void *param2, void *param3); static int __vcui_view_dialing_onupdate(voice_call_view_data_t *view_data, void *update_data1, void *update_data2); @@ -59,111 +70,20 @@ void _vcui_view_dialing_draw_txt_ended(voice_call_view_data_t *vd, int end_type) } vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)vd->priv; + vcui_app_call_data_t *ad = _vcui_get_app_data(); int valid = 0; - valid = _vcui_check_valid_eo(priv->contents, "DIALVIEW"); + valid = _vcui_check_valid_eo(priv->contents, VIEW_DIALING_LAYOUT_ID); if (valid == -1) { CALL_UI_DEBUG("[========== DIALVIEW : Invalid Evas Object, priv->contents : %p ==========]", priv->contents); } else { char data[VC_DATA_LENGTH_MAX] = { 0, }; - edje_object_part_text_set(_EDJ(priv->contents), "txt_mo_status", _(_vcui_get_endcause_string(end_type, data))); + edje_object_part_text_set(_EDJ(priv->caller_info), "txt_status", _(_vcui_get_endcause_string(end_type, data))); + ad->quickpanel_text = data; } /* ============ Check valid Evas Object ============= */ } -void _vcui_view_dialing_draw_txt_connecting(voice_call_view_data_t *vd) -{ - /* ============ Check valid Evas Object ============= */ - if (vd == NULL) { - CALL_UI_DEBUG("View Data is NULL"); - return; - } - - vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)vd->priv; - - int valid = 0; - valid = _vcui_check_valid_eo(priv->contents, "DIALVIEW"); - if (valid == -1) { - CALL_UI_DEBUG("[========== DIALVIEW : Invalid Evas Object, priv->contents : %p ==========]", priv->contents); - } else { - edje_object_part_text_set(_EDJ(priv->contents), "txt_mo_status", _("IDS_CALL_POP_CONNECTING")); - } - /* ============ Check valid Evas Object ============= */ -} - -void _vcui_view_dialing_draw_txt_dialing(voice_call_view_data_t *vd) -{ - /* ============ Check valid Evas Object ============= */ - if (vd == NULL) { - CALL_UI_DEBUG("View Data is NULL"); - return; - } - - vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)vd->priv; - - int valid = 0; - valid = _vcui_check_valid_eo(priv->contents, "DIALVIEW"); - if (valid == -1) { - CALL_UI_DEBUG("[========== DIALVIEW : Invalid Evas Object, priv->contents : %p ==========]", priv->contents); - } else { - edje_object_part_text_set(_EDJ(priv->contents), "txt_mo_status", _("IDS_CALL_POP_DIALLING")); - } - /* ============ Check valid Evas Object ============= */ -} - -static void __vcui_view_dialing_update_screen(Evas_Object *eo, void *data) -{ - CALL_UI_DEBUG(".."); - - voice_call_view_data_t *vd = (voice_call_view_data_t *)data; - vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)vd->priv; - - call_data_t *now_call_data = _vcui_doc_get_recent_mo(); - - /* ============ Check valid Evas Object ============= */ - int valid = 0; - valid = _vcui_check_valid_eo(priv->contents, "DIALVIEW"); - if (valid == -1) { - CALL_UI_DEBUG("[========== DIALVIEW : Invalid Evas Object, priv->contents : %p ==========]", priv->contents); - return; - } - /* ============ Check valid Evas Object ============= */ - - if (now_call_data == NULL) { - CALL_UI_DEBUG("Now Data is NULL"); - return; - } - - /* call image */ - if (strcmp((char *)priv->now_data->call_file_path, NOIMG_ICON) == 0) { - _vcui_show_wallpaper_image(priv->contents); - } else { - CALL_UI_DEBUG("there is caller image."); - - _vcui_show_wallpaper_image(priv->contents); - priv->ic = _vcui_show_contact_image(priv->contents, vd->app_data->win_main, priv->now_data->call_file_path); - } - - /* call name (if nothing, call number) */ - if (strlen((char *)priv->now_data->call_display) == 0) { - edje_object_part_text_set(_EDJ(eo), "txt_call_name", (char *)priv->now_data->call_num); - } else { - edje_object_part_text_set(_EDJ(eo), "txt_call_name", (char *)priv->now_data->call_display); - edje_object_part_text_set(_EDJ(eo), "txt_contact_phone_type", (char *)priv->now_data->call_num); - } - - _vcui_create_top_left_button_disabled(vd); - _vcui_create_top_middle_button_disabled(vd); - _vcui_create_top_right_button_disabled(vd); - _vcui_create_bottom_left_button(vd); - _vcui_create_bottom_middle_button_disabled(vd); - _vcui_create_bottom_right_button_disabled(vd); - - _vcui_create_button_bigend(vd); - - evas_object_show(eo); -} - static void __vcui_view_dialing_draw_screen(Evas_Object *eo, void *data) { CALL_UI_DEBUG(".."); @@ -171,11 +91,12 @@ static void __vcui_view_dialing_draw_screen(Evas_Object *eo, void *data) voice_call_view_data_t *vd = (voice_call_view_data_t *)data; vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)vd->priv; - call_data_t *now_call_data = _vcui_doc_get_recent_mo(); + call_data_t *now_call_data = _vcui_doc_get_recent_mo_call_data(); + Eina_Bool bshift_alert = EINA_FALSE; /* ============ Check valid Evas Object ============= */ int valid = 0; - valid = _vcui_check_valid_eo(priv->contents, "DIALVIEW"); + valid = _vcui_check_valid_eo(priv->contents, VIEW_DIALING_LAYOUT_ID); if (valid == -1) { CALL_UI_DEBUG("[========== DIALVIEW : Invalid Evas Object, priv->contents : %p ==========]", priv->contents); return; @@ -187,46 +108,57 @@ static void __vcui_view_dialing_draw_screen(Evas_Object *eo, void *data) return; } + char *file_path = _vcui_doc_get_caller_id_file_path(now_call_data); + CALL_UI_DEBUG("file_path: %s", file_path); + /* call image */ - if (strcmp((char *)priv->now_data->call_file_path, NOIMG_ICON) == 0) { - _vcui_show_wallpaper_image(priv->contents); + _vcui_delete_contact_image(priv->contents); + if (strcmp(file_path, NOIMG_ICON) == 0) { + _vcui_view_common_show_noid_image(priv->contents); + bshift_alert = EINA_TRUE; } else { - CALL_UI_DEBUG("there is caller image."); - - _vcui_show_wallpaper_image(priv->contents); - priv->ic = _vcui_show_contact_image(priv->contents, vd->app_data->win_main, priv->now_data->call_file_path); + { + _vcui_show_wallpaper_image(priv->contents); + priv->ic = _vcui_show_contact_image(priv->contents, vd->app_data->win_main, file_path); + } } + _vcui_show_call_bg_img(priv->contents); + + char *call_number = _vcui_doc_get_call_number(now_call_data); + char *call_name = _vcui_doc_get_call_display_name(now_call_data); /* call name (if nothing, call number) */ - if (strlen((char *)priv->now_data->call_display) == 0) { - edje_object_part_text_set(_EDJ(eo), "txt_call_name", (char *)priv->now_data->call_num); + if (strlen(call_name) == 0) { + _vcui_show_caller_info_name(vd, call_number, EINA_FALSE); } else { - edje_object_part_text_set(_EDJ(eo), "txt_call_name", (char *)priv->now_data->call_display); - edje_object_part_text_set(_EDJ(eo), "txt_contact_phone_type", (char *)priv->now_data->call_num); + _vcui_show_caller_info_name(vd, call_name, EINA_FALSE); + _vcui_show_caller_info_number(vd, call_number, EINA_FALSE); } - edje_object_part_text_set(_EDJ(priv->contents), "txt_mo_status", _("IDS_CALL_POP_DIALLING")); + _vcui_show_caller_info_icon(vd, EINA_FALSE); + _vcui_show_caller_info_status(vd, _("IDS_CALL_POP_CALLING"), EINA_FALSE); _vcui_create_top_left_button_disabled(vd); - _vcui_create_top_middle_button_disabled(vd); - _vcui_create_top_right_button_disabled(vd); + _vcui_create_top_middle_button(vd); + _vcui_create_top_right_button(vd); _vcui_create_bottom_left_button(vd); _vcui_create_bottom_middle_button_disabled(vd); - _vcui_create_bottom_right_button_disabled(vd); - _vcui_create_button_bigend(vd); + _vcui_create_bottom_right_button(vd); + + _vcui_elements_check_keypad_n_hide(vd); evas_object_show(eo); } -static Evas_Object *__vcui_view_dialing_create_contents(void *data) +static Evas_Object *__vcui_view_dialing_create_contents(void *data, char *grpname) { CALL_UI_KPI("__vcui_view_dialing_create_contents start"); voice_call_view_data_t *vd = (voice_call_view_data_t *)data; Evas_Object *eo = NULL; /* load edje */ - eo = _vcui_load_edj(vd->app_data->win_main, EDJ_NAME, GRP_MOVIEW); + eo = _vcui_load_edj(vd->app_data->win_main, EDJ_NAME, grpname); if (eo == NULL) return NULL; CALL_UI_KPI("__vcui_view_dialing_create_contents done"); @@ -262,6 +194,7 @@ static int __vcui_view_dialing_oncreate(voice_call_view_data_t *view_data, int p vcui_app_call_data_t *ad = view_data->app_data; vcui_view_dialing_priv_t *priv = view_data->priv; + Evas_Object *sep_ly = NULL; if (!view_data->layout) { @@ -273,10 +206,19 @@ static int __vcui_view_dialing_oncreate(voice_call_view_data_t *view_data, int p return VC_ERROR; } /* Create Contents */ - priv->contents = __vcui_view_dialing_create_contents(view_data); + priv->contents = __vcui_view_dialing_create_contents(view_data, GRP_MOVIEW); elm_object_part_content_set(view_data->layout, "elm.swallow.content", priv->contents); - evas_object_name_set(priv->contents, "DIALVIEW"); + priv->caller_info = __vcui_view_dialing_create_contents(view_data, GRP_CALLER_INFO); + elm_object_part_content_set(priv->contents, "caller_info", priv->caller_info); + + sep_ly = __vcui_view_dialing_create_contents(view_data, GRP_SEPARATOR_LAYOUT); + elm_object_part_content_set(priv->contents, "btn_bg", sep_ly); + + priv->btn_ly = __vcui_view_dialing_create_contents(view_data, GRP_BUTTON_LAYOUT); + elm_object_part_content_set(priv->contents, "btn_region", priv->btn_ly); + + evas_object_name_set(priv->contents, VIEW_DIALING_LAYOUT_ID); CALL_UI_DEBUG("[========== DIALVIEW: priv->contents Addr : [%p] ==========]", priv->contents); } @@ -289,7 +231,7 @@ static int __vcui_view_dialing_onupdate(voice_call_view_data_t *view_data, void CALL_UI_DEBUG("dialling view update"); vcui_view_dialing_priv_t *priv = view_data->priv; - __vcui_view_dialing_update_screen(priv->contents, view_data); + __vcui_view_dialing_draw_screen(priv->contents, view_data); return VC_NO_ERROR; } @@ -299,7 +241,7 @@ static int __vcui_view_dialing_onhide(voice_call_view_data_t *view_data) int valid = 0; vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)view_data->priv; - valid = _vcui_check_valid_eo(priv->contents, "DIALVIEW"); + valid = _vcui_check_valid_eo(priv->contents, VIEW_DIALING_LAYOUT_ID); if (valid == -1) { CALL_UI_DEBUG("[========== DIALVIEW : Invalid Evas Object, priv->contents : %p ==========]", priv->contents); @@ -315,11 +257,6 @@ static int __vcui_view_dialing_onshow(voice_call_view_data_t *view_data) CALL_UI_DEBUG("dialling view show"); vcui_view_dialing_priv_t *priv = view_data->priv; - priv->now_data = _vcui_doc_get_recent_mo(); - if (priv->now_data == NULL) { - CALL_UI_DEBUG("call data is null"); - return VC_ERROR; - } __vcui_view_dialing_draw_screen(priv->contents, view_data); @@ -346,6 +283,19 @@ static int __vcui_view_dialing_ondestroy(voice_call_view_data_t *view_data) vcui_view_dialing_priv_t *priv = (vcui_view_dialing_priv_t *)vd->priv; if (priv != NULL) { + if (priv->btn_ly) { + evas_object_del(priv->btn_ly); + priv->btn_ly = NULL; + } + + if (priv->caller_info) { + evas_object_del(priv->caller_info); + priv->caller_info = NULL; + } + + /*Delete keypad layout*/ + _vcui_keypad_delete_layout(priv->contents); + if (priv->contents) { evas_object_del(priv->contents); priv->contents = NULL; @@ -366,3 +316,55 @@ static int __vcui_view_dialing_ondestroy(voice_call_view_data_t *view_data) _vcui_cache_flush(); return VC_NO_ERROR; } + +int _vc_ui_view_dialing_check_valid_eo(voice_call_view_data_t *vd) +{ + CALL_UI_DEBUG(".."); + + vcui_view_dialing_priv_t *priv = NULL; + int valid = -1; + + VCUI_RETURN_VALUE_IF_FAIL(vd , -1); + priv = (vcui_view_dialing_priv_t *) vd->priv; + + valid = _vcui_check_valid_eo(priv->contents, VIEW_DIALING_LAYOUT_ID); + + return valid; +} + +Evas_Object *_vc_ui_view_dialing_get_layout(voice_call_view_data_t *vd) +{ + CALL_UI_DEBUG(".."); + vcui_view_dialing_priv_t *priv = NULL; + + VCUI_RETURN_NULL_IF_FAIL(vd); + priv = (vcui_view_dialing_priv_t *) vd->priv; + + VCUI_RETURN_NULL_IF_FAIL(priv); + return priv->contents; +} + +Evas_Object *_vc_ui_view_dialing_get_button_layout(voice_call_view_data_t *vd) +{ + CALL_UI_DEBUG(".."); + vcui_view_dialing_priv_t *priv = NULL; + + VCUI_RETURN_NULL_IF_FAIL(vd); + priv = (vcui_view_dialing_priv_t *) vd->priv; + + VCUI_RETURN_NULL_IF_FAIL(priv); + return priv->btn_ly; +} + +Evas_Object *_vc_ui_view_dialing_get_caller_info(voice_call_view_data_t *vd) +{ + CALL_UI_DEBUG(".."); + vcui_view_dialing_priv_t *priv = NULL; + + VCUI_RETURN_NULL_IF_FAIL(vd); + priv = (vcui_view_dialing_priv_t *) vd->priv; + + VCUI_RETURN_NULL_IF_FAIL(priv); + return priv->caller_info; +} +