${INC_DIR}/callui-view-caller-info-defines.h
${INC_DIR}/callui-view-elements-defines.h
${EDC_SRC_DIR}/callui-color-classes.edc
+ ${EDC_SRC_DIR}/callui-parts.edc
${EDC_SRC_DIR}/call_edc/edc_image_macro.edc
${EDC_SRC_DIR}/call_edc/callui-view-button-layout.edc
${EDC_SRC_DIR}/call_edc/callui-view-caller-info.edc
${EDC_SRC_DIR}/call_edc/callui-view-one-hold-in-conference.edc
${EDC_SRC_DIR}/call_edc/callui-view-elements.edc
)
+
ADD_CUSTOM_TARGET(call.edje ALL DEPENDS ${CMAKE_BINARY_DIR}/call.edj)
ADD_CUSTOM_COMMAND(
*
*/
+#define CI_LAYOUT_PAD_LEFT 32
+#define CI_LAYOUT_PAD_RIGHT 32
+
+#define CI_LAYOUT_W_MANAGE_CALLS_PAD_LEFT 104
+#define CI_LAYOUT_W_MANAGE_CALLS_PAD_RIGHT 104
+
+#define CI_STATUS_TEXT_PAD_CONT_ICON 33
+#define CI_CONT_ICON_PAD_TOP (CALL_STATUS_TXT_PAD_TOP + CALL_STATUS_TXT_HEIGHT + CI_STATUS_TEXT_PAD_CONT_ICON)
+
+#define CI_CONT_NAME_SIZE_MIN 0 86
+#define CI_CONT_NAME_PAD_TOP_1LINE 71
+#define CI_CONT_NAME_PAD_TOP_2LINE 42
+#define CI_CONT_NAME_PAD_BOTTOM_1LINE 96
+
+#define CI_PHONE_NUMB_SIZE_MIN 0 54
+#define CI_PHONE_NUMB_PAD_BOTTOM 63
+#define CI_PHONE_NUMB_PAD_TOP 8
+
+#define CI_MANAGE_CALLS_PAD_BOTTOM 98
+#define CI_MANAGE_CALLS_PAD_RIGHT 22
+#define CI_MANAGE_CALLS_BTN_SIZE 50 50
+
+#define CI_CONT_NAME_SIZE_MIN 0 86
+#define CI_PHONE_NUMB_SIZE_MIN 0 54
+
styles {
style {
- name: "caller_info_name";
- base: "text_class="ATO002" wrap=mixed ellipsis=1.0";
- tag: "br" "\n";
- tag: "tab" "\t";
- }
- style {
- name: "call_name_light";
+ name: "ci_contact_info_first_line";
base: "font=Tizen:style=Light text_class="ATO002" font_size=64 color=#FFFFFFFF color_class: "ATO002" align=center color=#FFFFFF ellipsis=1.0";
}
style {
- name: "call_2line_light";
+ name: "ci_contact_info_second_line";
base: "font=Tizen:style=Light text_class="ATO002" font_size=24 color=#FFFFFFFF color_class: "ATO002" align=center color=#FFFFFF ellipsis=1.0";
}
}
group{
- name: "manage-calls";
+ name: "manage_calls";
parts {
- part {
- name: "background";
- type: RECT;
- description {
- state: "default" 0.0;
- color: COLOR_BG_ALPHA;
- }
- }
- part {
- name: "btn";
- type: IMAGE;
- scale: 1;
+ CU_PART_SPACER( "bg",
+ description { state: "default" 0.0; }
+ )
+ CU_PART_IMAGE( "btn",
mouse_events: 1;
- description {
- state: "default" 0.0;
- rel1 {relative: 0.0 0.0; to: "background";}
- rel2 {relative: 1.0 1.0; to: "background";}
- image {
- normal: IMG_SRC_DIR/"call_multi_ic_arrow.png";
- }
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 1.0; to: "bg"; }
+ image.normal: IMG_SRC_DIR/"call_multi_ic_arrow.png";
color_class: "AO026";
- align: 0.5 0.5;
}
- }
+ )
}
}
group{
- name: "caller-info";
- parts{
- part { name: "background";
- type: RECT;
- description {
- state: "default" 0.0;
- color: COLOR_BG_ALPHA;
- }
- }
+ name: "caller_info";
+ parts {
+ CU_PART_SPACER( "bg",
+ description { state: "default" 0.0; }
+ )
+ CU_PART_PADDING_LEFT_NAME("padding.left", CI_LAYOUT_PAD_LEFT)
+ CU_PART_PADDING_RIGHT_NAME("padding.right", CI_LAYOUT_PAD_RIGHT)
+ CU_PART_PADDING_LEFT_NAME("extend.padding.left", CI_LAYOUT_W_MANAGE_CALLS_PAD_LEFT)
+ CU_PART_PADDING_RIGHT_NAME("extend.padding.right", CI_LAYOUT_W_MANAGE_CALLS_PAD_RIGHT)
+ CU_PART_PADDING_RIGHT_NAME("manage_calls_btn.padding.right", CI_MANAGE_CALLS_PAD_RIGHT)
+ CU_PART_PADDING_BOTTOM_NAME("manage_calls_btn.padding.bottom", CI_MANAGE_CALLS_PAD_BOTTOM)
+ CU_PART_PADDING_TOP_NAME("contact_icon.padding.top", CI_CONT_ICON_PAD_TOP)
+ CU_PART_PADDING_BOTTOM_TO("phone_number.padding.top", "phone_number", CI_PHONE_NUMB_PAD_TOP)
+ CU_PART_PADDING_BOTTOM_NAME("phone_number.padding.bottom", CI_PHONE_NUMB_PAD_BOTTOM)
+ CU_PART_PADDING_BOTTOM_NAME("contact_name.1line.padding.bottom", CI_CONT_NAME_PAD_BOTTOM_1LINE)
- /*CALLER NAME*/
- part { name: "txt_call_name"; /* call name or number */
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- fixed: 1 1;
- rel1 { relative: CALLER_INFO_NAME_L CALLER_INFO_NAME_T; to: "background";}
- rel2 { relative: CALLER_INFO_NAME_R CALLER_INFO_NAME_B; to: "background";}
- text {
- style: "call_name_light";
- }
- }
- description {
- state: "1line" 0.0;
+ CU_PART_SPACER( "contact_name.padding.top",
+ description { state: "default" 0.0;
+ min: 0 CI_CONT_NAME_PAD_TOP_2LINE;
+ fixed: 0 1;
+ rel1 { relative: 0.0 0.0; to_y: "contact_name"; }
+ rel2 { relative: 1.0 0.0; to_y: "contact_name"; }
+ align: 0.5 1.0;
+ }
+ description { state: "1line" 0.0;
inherit: "default" 0.0;
- rel1 { relative: CALLER_INFO_NAME_L CALLER_INFO_NAME_1LINE_T; to: "background";}
- rel2 { relative: CALLER_INFO_NAME_R CALLER_INFO_NAME_1LINE_B; to: "background";}
- }
- description {
- state: "hide" 0.0;
+ min: 0 CI_CONT_NAME_PAD_TOP_1LINE;
+ }
+ )
+ CU_PART_TEXTBLOCK( "contact_name",
+ description { state: "default" 0.0;
+ min: CI_CONT_NAME_SIZE_MIN;
+ fixed: 0 1;
+ rel1 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "phone_number.padding.top"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "phone_number.padding.top"; }
+ align: 0.5 1.0;
+ text.style: "ci_contact_info_first_line";
+ }
+ description { state: "1line" 0.0;
+ min: CI_CONT_NAME_SIZE_MIN;
+ fixed: 0 1;
+ rel1 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "contact_name.1line.padding.bottom"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "contact_name.1line.padding.bottom"; }
+ align: 0.5 1.0;
+ text.style: "ci_contact_info_first_line";
+ }
+ description { state: "manage_call_btn_enable" 0.0;
inherit: "default" 0.0;
- visible: 0;
+ rel1 { relative: 1.0 0.0; to_x: "extend.padding.left"; to_y: "phone_number.padding.top"; }
+ rel2 { relative: 0.0 0.0; to_x: "extend.padding.right"; to_y: "phone_number.padding.top"; }
}
- description {
- state: "ending_2line" 0.0;
- inherit: "default" 0.0;
- text {
- text_class: "ATO030";
- }
- color_class: "ATO030";
- }
- description {
- state: "ending_1line" 0.0;
+ description { state: "show_1line" 0.0;
inherit: "1line" 0.0;
- text {
- text_class: "ATO030";
- }
- color_class: "ATO030";
- }
- description {
- state: "emergency" 0.0;
- rel1 { relative: CALLER_INFO_NAME_L CALLER_INFO_NAME_T; to: "background";}
- rel2 { relative: CALLER_INFO_NAME_R CALLER_INFO_NAME_EMERGENCY_B; to: "background";}
- text.size: 64;
- text.text_class: "AO008";
}
- }
-
- part { name: "txt_2nd_area";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: CALLER_INFO_NUMBER_L CALLER_INFO_NUMBER_T; to: "background";}
- rel2 { relative: CALLER_INFO_NUMBER_R CALLER_INFO_NUMBER_B; to: "background";}
+ description { state: "show_2line" 0.0;
+ inherit: "default" 0.0;
}
- }
-
- /*CALL NUMBER*/
- part { name: "txt_phone_num"; /* Phone number*/
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0 0; to: "txt_2nd_area";}
- rel2 { relative: 1 1; to: "txt_2nd_area";}
- align: 0 0;
+ description { state: "hide_1line" 0.0;
+ inherit: "show_1line" 0.0;
+ color: COLOR_WHITE_TRANSP;
+ }
+ description { state: "hide_2line" 0.0;
+ inherit: "show_2line" 0.0;
+ color: COLOR_WHITE_TRANSP;
+ }
+ )
+ CU_PART_TEXTBLOCK( "phone_number",
+ description { state: "default" 0.0;
+ min: CI_PHONE_NUMB_SIZE_MIN;
+ fixed: 0 1;
+ rel1 { relative: 1.0 0.0; to_x: "padding.left"; to_y: "phone_number.padding.bottom"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "phone_number.padding.bottom"; }
+ align: 0.5 1.0;
text {
fit: 1 1;
- style: "call_2line_light";
+ style: "ci_contact_info_second_line";
}
}
- description {
- state: "hide" 0.0;
+ description { state: "manage_call_btn_enable" 0.0;
inherit: "default" 0.0;
- visible: 0;
+ rel1 { relative: 1.0 0.0; to_x: "extend.padding.left"; to_y: "phone_number.padding.bottom"; }
+ rel2 { relative: 0.0 0.0; to_x: "extend.padding.right"; to_y: "phone_number.padding.bottom"; }
}
- description {
- state: "ending_2line" 0.0;
+ description { state: "show_2line" 0.0;
inherit: "default" 0.0;
- text {
- text_class: "ATO031";
- }
- color_class: "ATO031";
}
- description {
- state: "ending_1line" 0.0;
- inherit: "hide" 0.0;
+ description { state: "hide_2line" 0.0;
+ inherit: "default" 0.0;
+ color: COLOR_WHITE_TRANSP;
}
- }
-
- part { name: "caller_id_rect";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: VC_CALLER_ID_LAYOUT_L VC_CALLER_ID_LAYOUT_T; to: "background";}
- rel2 { relative: VC_CALLER_ID_LAYOUT_R VC_CALLER_ID_LAYOUT_B; to: "background";}
- color: COLOR_BG_ALPHA;
- visible: 1;
+ description { state: "show_1line" 0.0;
+ inherit: "hide_2line" 0.0;
}
- description {
- state: "hide" 0.0;
+ )
+ CU_PART_SPACER( "contact_icon_base",
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to_y: "contact_icon.padding.top"; }
+ rel2 { relative: 1.0 0.0; to_y: "contact_name.padding.top"; }
+ }
+ description { state: "maximize" 0.0;
inherit: "default" 0.0;
- visible: 0;
}
- }
-
- part { name: "caller_id";
- type: SWALLOW;
- scale: 1;
+ description { state: "minimize" 0.0;
+ min: EC_CONT_ICON_SIZE_MIN;
+ max: EC_CONT_ICON_SIZE_MIN;
+ fixed: 1 1;
+ rel1 { relative: 1.0 1.0; to_x: "ec_contact_icon.padding.left"; to_y: "ec_contact_icon.padding.top"; }
+ align: 0.0 0.0;
+ }
+ )
+ CU_PART_SWALLOW( "contact_icon",
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "contact_icon_base"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon_base"; }
+ aspect: 1 1;
+ aspect_preference: VERTICAL;
+ }
+ )
+ CU_PART_IMAGE( "contact_icon_bg",
description {
state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "caller_id_rect";}
- rel2 { relative: 1.0 1.0; to: "caller_id_rect";}
- fixed: 1 1;
+ rel1 { relative: 0.0 0.0; to: "contact_icon_base"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon_base"; }
+ image.normal: IMG_SRC_DIR/"call_photo_id_bg.png";
+ aspect_preference: SOURCE;
}
- description {
- state: "hide" 0.0;
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
visible: 0;
}
- description {
- state: "show" 0.0;
+ description { state: "emergency" 0.0;
inherit: "default" 0.0;
- visible: 1;
+ color_class: "AO036";
}
- }
-
- part { name: "caller_id_bg";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "caller_id_rect";}
- rel2 { relative: 1.0 1.0; to: "caller_id_rect";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id_bg.png";
- }
+ )
+ CU_PART_IMAGE( "contact_icon_def",
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "contact_icon_base"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon_base"; }
+ image.normal: IMG_SRC_DIR/"call_photo_id.png";
aspect_preference: SOURCE;
+ color_class: "AO003L2";
}
- description {
- state: "hide" 0.0;
+ description { state: "emergency" 0.0;
+ rel1 { relative: 0.0 0.0; to: "contact_icon_base"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon_base"; }
+ image.normal: IMG_SRC_DIR/"call_photo_id_emergency.png";
+ aspect_preference: SOURCE;
+ //color: 255 255 255 255;
+ }
+ description { state: "conference" 0.0;
+ rel1 { relative: 0.0 0.0; to: "contact_icon_base"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon_base"; }
+ image.normal: IMG_SRC_DIR/"call_photo_id_conference.png";
+ aspect_preference: SOURCE;
+ color_class: "AO003L2";
+ }
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
visible: 0;
}
- description {
- state: "emergency" 0.0;
- inherit: "default" 0.0;
- color_class: "AO036";
+ )
+ CU_PART_SWALLOW( "manage_calls_btn",
+ description { state: "default" 0.0;
+ rel1 {
+ relative: 0.0 0.0;
+ to_x: "manage_calls_btn.padding.right";
+ to_y: "manage_calls_btn.padding.bottom";
+ }
+ rel2 {
+ relative: 0.0 0.0;
+ to_x: "manage_calls_btn.padding.right";
+ to_y: "manage_calls_btn.padding.bottom";
+ }
+ min: CI_MANAGE_CALLS_BTN_SIZE;
+ max: CI_MANAGE_CALLS_BTN_SIZE;
+ align: 1 1;
}
- description {
- state: "dim" 0.0;
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
- color_class: "AO151";
+ visible: 0;
}
- }
+ )
- part { name: "caller_id_img";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 0.0; to: "caller_id_rect";}
- rel2 { relative: 1.0 1.0; to: "caller_id_rect";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id.png";
+ // PARTS FOR END CALL AND ITS ANIMATION
+
+ CU_PART_PADDING_LEFT_NAME("ec_contact_info.padding.left", EC_CONT_INFO_PAD_LEFT)
+ CU_PART_PADDING_TOP_NAME("ec_contact_name.padding.top", EC_CONT_NAME_PAD_TOP)
+ CU_PART_PADDING_TOP_NAME("ec_phone_number.padding.top", EC_PHONE_NUMB_PAD_TOP)
+ CU_PART_PADDING_TOP_NAME("ec_add_cont.padding.top", EC_ADD_CONT_BTN_PAD_TOP)
+ CU_PART_PADDING_RIGHT_NAME("ec_add_cont.padding.left", EC_ADD_CONT_BTN_PAD_RIGHT)
+ CU_PART_PADDING_TOP_NAME("ec_contact_icon.padding.top", EC_CONT_ICON_PAD_TOP)
+ CU_PART_PADDING_LEFT_NAME("ec_contact_icon.padding.left", EC_CONT_ICON_PAD_LEFT)
+
+ CU_PART_SPACER( "ec_contact_info.padding.right",
+ description { state: "default" 0.0;
+ min: EC_BG_PAD_RIGHT_MIN 0;
+ fixed: 1 0;
+ rel1.relative: 1.0 0.0;
+ align: 1.0 0.0;
+ }
+ description { state: "add_contact_btn_enabled" 0.0;
+ inherit: "default" 0.0;
+ min: EC_BG_PAD_RIGHT_MIN_W_ADD_CONT_BTN 0;
+ }
+ )
+ CU_PART_TEXTBLOCK ("ec_contact_name",
+ insert_before: "contact_icon_base";
+ description { state: "default" 0.0;
+ min: EC_CONT_NAME_SIZE_MIN;
+ fixed: 0 1;
+ rel1 { relative: 1.0 1.0; to_x: "ec_contact_info.padding.left"; to_y: "ec_contact_name.padding.top"; }
+ rel2 { relative: 0.0 1.0; to_x: "ec_contact_info.padding.right"; to_y: "ec_contact_name.padding.top"; }
+ text {
+ ellipsis: 0.0;
+ style:"ec_contact_name";
}
- aspect_preference: SOURCE;
- color_class: "AO003L2";
- fixed: 1 1;
- align: 0.5 0.5;
- visible: 1;
+ align: 0.0 0.0;
+ color: COLOR_WHITE_TRANSP;
}
- description {
- state: "emergency" 0.0;
- rel1 { relative: 0.0 0.0; to: "caller_id_rect";}
- rel2 { relative: 1.0 1.0; to: "caller_id_rect";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id_emergency.png";
- }
- aspect_preference: SOURCE;
- fixed: 1 1;
- align: 0.5 0.5;
- visible: 1;
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ color: COLOR_WHITE;
}
- description {
- state: "conference" 0.0;
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
- image {
- normal: IMG_SRC_DIR/"call_photo_id_conference.png";
+ }
+ )
+ CU_PART_TEXTBLOCK( "ec_phone_number",
+ insert_before: "ec_contact_name";
+ description { state: "default" 0.0;
+ min: EC_PHONE_NUMB_SIZE_MIN;
+ fixed: 0 1;
+ rel1 { relative: 1.0 1.0; to_x: "ec_contact_info.padding.left"; to_y: "ec_phone_number.padding.top"; }
+ rel2 { relative: 0.0 1.0; to_x: "ec_contact_info.padding.right"; to_y: "ec_phone_number.padding.top"; }
+ text {
+ ellipsis: 0.0;
+ style:"ec_phone_number";
}
- color_class: "AO003L2";
+ align: 0.0 0.0;
+ color: COLOR_WHITE_TRANSP;
}
- description {
- state: "hide" 0.0;
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
+ color: COLOR_WHITE;
+ }
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
+ }
+ )
+ CU_PART_SWALLOW( "ec_add_contact_btn",
+ description { state: "default" 0.0;
+ min: EC_ADD_CONT_BTN_SIZE;
+ max: EC_ADD_CONT_BTN_SIZE;
+ fixed: 1 1;
+ rel1 { relative: 0.0 1.0; to_x: "ec_add_cont.padding.left"; to_y: "ec_add_cont.padding.top"; }
+ rel2 { relative: 0.0 1.0; to_x: "ec_add_cont.padding.left"; }
+ align: 1.0 0.0;
visible: 0;
}
- }
-
- part { name: "manage_calls_icon_swallow";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
+ description { state: "show" 0.0;
+ inherit: "default" 0.0;
visible: 1;
- rel1 { relative: MANAGE_BTN_L MANAGE_BTN_T; to: "background";}
- rel2 { relative: MANAGE_BTN_R MANAGE_BTN_B; to: "background";}
}
- description {
- state: "hide" 0.0;
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
- visible: 0;
}
- }
-
+ )
programs {
- program { name: "portrait_mode_caller_info";
- signal: "set_portrait_mode";
- source: "hold-caller-info";
- action: STATE_SET "default" 0.0;
- target: "txt_2nd_area";
- target: "txt_call_name";
- target: "txt_phone_num";
+ script {
+ public show_ec_add_cont_btn;
+ public cont_info_2line;
}
- program {
- name: "set_portrait_with_bg";
- signal: "set_portrait";
- source: "caller_info_layout";
- in: 0.0 0.0;
- action: STATE_SET "default" 0.0;
- target: "txt_call_name";
- target: "txt_2nd_area";
- }
- program {
- name: "set_portrait_without_bg";
- signal: "set_portrait";
- source: "caller_info_layout_without_bg";
- in: 0.0 0.0;
- action: STATE_SET "default" 0.0;
- target: "txt_call_name";
- target: "txt_2nd_area";
- }
- program {
- name: "show_emergency_icon";
+ program { name: "show_emergency_icon";
signal: "set_emergency_mode";
source: "";
action: STATE_SET "emergency" 0.0;
- target: "caller_id_img";
- target: "caller_id_bg";
- target: "txt_call_name";
+ target: "contact_icon_bg";
+ target: "contact_icon_def";
}
-
- program {
- name: "show_conference_icon";
+ program { name: "show_conference_icon";
signal: "set_conference_mode";
source: "";
action: STATE_SET "conference" 0.0;
- target: "caller_id_img";
+ target: "contact_icon_def";
after: "caller_name_2line";
}
- program {
- name: "hide_default_cid";
+ program { name: "hide_default_cid";
signal: "hide_default_cid";
source: "";
action: STATE_SET "hide" 0.0;
- target: "caller_id_img";
- target: "caller_id_bg";
- }
- program {
- name: "show_cid_thumb";
- action: STATE_SET "show" 0.0;
- target: "caller_id";
+ target: "contact_icon_bg";
+ target: "contact_icon_def";
}
-
- program {
- name: "show_default_cid";
+ program { name: "show_default_cid";
signal: "show_default_cid";
source: "";
action: STATE_SET "default" 0.0;
- target: "caller_id_img";
- target: "caller_id_bg";
- }
- program {
- name: "hide_cid_thumb";
- action: STATE_SET "hide" 0.0;
- target: "caller_id";
- }
- program {
- name: "hide_cid_all";
- signal: "hide_cid_all";
- source: "";
- action: STATE_SET "hide" 0.0;
- target: "caller_id_img";
- target: "caller_id_bg";
- target: "caller_id";
- }
- program {
- name: "show_cid_all";
- signal: "show_cid_all";
- source: "";
- action: STATE_SET "default" 0.0;
- target: "caller_id_img";
- target: "caller_id_bg";
- target: "caller_id";
+ target: "contact_icon_bg";
+ target: "contact_icon_def";
}
- program {
- name: "caller_name_1line";
+ program { name: "caller_name_1line";
signal: "1line";
source: "caller_name";
action: STATE_SET "1line" 0.0;
- target: "txt_call_name";
+ target: "contact_name";
+ target: "contact_name.padding.top";
+ after: "deinit_cont_info_two_line";
}
- program {
- name: "caller_name_2line";
+ program { name: "caller_name_2line";
signal: "2line";
source: "caller_name";
action: STATE_SET "default" 0.0;
- target: "txt_call_name";
+ target: "contact_name";
+ target: "contact_name.padding.top";
+ after: "init_cont_info_two_line";
}
- program {
- name: "ending_1line";
- signal: "ending_1line";
+ program { name: "show_arrow";
+ signal: "show_manage_calls_btn";
+ source: "";
+ action: STATE_SET "default" 0.0;
+ target: "manage_calls_btn";
+ after: "set_txt_bounds_on_arrow_show";
+ }
+ program { name: "hide_arrow";
+ signal: "hide_manage_calls_btn";
+ source: "";
+ action: STATE_SET "hide" 0.0;
+ target: "manage_calls_btn";
+ after: "set_txt_bounds_on_arrow_hide";
+
+ }
+ program { name: "set_txt_bounds_on_arrow_hide";
+ action: STATE_SET "default" 0.0;
+ target: "contact_name";
+ target: "phone_number";
+ }
+ program { name: "set_txt_bounds_on_arrow_show";
+ action: STATE_SET "manage_call_btn_enable" 0.0;
+ target: "contact_name";
+ target: "phone_number";
+ }
+
+ // END CALL ANIMATION
+
+ // CALLER INFO ANIMATION LOGIC
+
+ program { name: "anim_show_cont_info_1line";
+ action: STATE_SET "show_1line" 0.0;
+ transition: LINEAR EC_ANIM_DUR_CONT_INFO_B_S;
+ target: "contact_name";
+ }
+ program { name: "anim_show_cont_info_2line";
+ action: STATE_SET "show_2line" 0.0;
+ transition: LINEAR EC_ANIM_DUR_CONT_INFO_B_S;
+ target: "contact_name";
+ target: "phone_number";
+ }
+ program { name: "anim_hide_cont_info_1line";
+ action: STATE_SET "hide_1line" 0.0;
+ transition: LINEAR EC_ANIM_DUR_CONT_INFO_B_S;
+ target: "contact_name";
+ after: "anim_show_ec_contact_info";
+ }
+ program { name: "anim_hide_cont_info_2line";
+ action: STATE_SET "hide_2line" 0.0;
+ transition: LINEAR EC_ANIM_DUR_CONT_INFO_B_S;
+ target: "contact_name";
+ target: "phone_number";
+ after: "anim_show_ec_contact_info";
+ }
+
+ // END CALL CALLER INFO ANIMATION LOGIC
+
+ program { name: "anim_show_ec_contact_info";
+ action: STATE_SET "show" 0.0;
+ transition: LINEAR EC_ANIM_DUR_CONT_INFO_S_B;
+ target: "ec_contact_name";
+ target: "ec_phone_number";
+ }
+ program { name: "anim_hide_ec_contact_info";
+ action: STATE_SET "hide" 0.0;
+ transition: LINEAR EC_ANIM_DUR_CONT_INFO_S_B;
+ target: "ec_contact_name";
+ target: "ec_phone_number";
+ after: "select_show_cont_info_type";
+ }
+ program { name: "select_show_cont_info_type";
+ script {
+ if (get_int(cont_info_2line) == 1) {
+ run_program(PROGRAM:"anim_show_cont_info_2line");
+ } else {
+ run_program(PROGRAM:"anim_show_cont_info_1line");
+ }
+ }
+ }
+ program { name: "select_hide_cont_info_type";
+ script {
+ if (get_int(cont_info_2line) == 1) {
+ run_program(PROGRAM:"anim_hide_cont_info_2line");
+ } else {
+ run_program(PROGRAM:"anim_hide_cont_info_1line");
+ }
+ }
+ }
+
+ // END CALL ADD CONTACT BUTTON
+
+ program { name: "set_ec_add_cont_btn_enabled";
+ signal: "set_ec_add_cont_btn_enabled";
source: "caller_info";
- action: STATE_SET "ending_1line" 0.0;
- target: "txt_call_name";
- target: "txt_phone_num";
- after: "dim_caller_id";
+
+ action: STATE_SET "add_contact_btn_enabled" 0.0;
+ target: "ec_contact_info.padding.right";
+ after: "init_show_ec_add_cont_btn_state";
}
- program {
- name: "ending_2line";
- signal: "ending_2line";
+ program { name: "show_ec_add_cont_btn";
+ action: STATE_SET "show" 0.0;
+ target: "ec_add_contact_btn";
+ }
+ program { name: "hide_add_contact_btn";
+ action: STATE_SET "hide" 0.0;
+ target: "ec_add_contact_btn";
+ }
+ program { name: "try_show_ec_add_cont_btn";
+ script {
+ if (get_int(show_ec_add_cont_btn) == 1) {
+ run_program(PROGRAM:"show_ec_add_cont_btn");
+ }
+ }
+ }
+ program { name: "try_hide_add_contact_btn";
+ script {
+ if (get_int(show_ec_add_cont_btn) == 1) {
+ run_program(PROGRAM:"hide_add_contact_btn");
+ }
+ }
+ }
+
+ // MINIMIZE / MAXIMIZE START LOGIC
+
+ program { name: "minimize";
+ signal: "minimize";
+ source: "caller_info";
+
+ after: "try_hide_add_contact_btn";
+ after: "run_minimize_animation";
+ after: "select_hide_cont_info_type";
+ }
+ program { name: "maximize";
+ signal: "maximize";
source: "caller_info";
- action: STATE_SET "ending_2line" 0.0;
- target: "txt_call_name";
- target: "txt_phone_num";
- after: "dim_caller_id";
+
+ after: "try_hide_add_contact_btn";
+ after: "run_maximize_animation";
+ after: "anim_hide_ec_contact_info";
+ }
+ program { name: "run_minimize_animation";
+ action: STATE_SET "minimize" 0.0;
+ transition: LINEAR EC_ANIM_DUR;
+ target: "contact_icon_base";
+ after: "try_show_ec_add_cont_btn";
+ after: "minimize_anim_finished";
+ }
+ program { name: "run_maximize_animation";
+ action: STATE_SET "maximize" 0.0;
+ transition: LINEAR EC_ANIM_DUR;
+ target: "contact_icon_base";
+ after: "maximize_anim_finished";
+ }
+ program { name: "minimize_anim_finished";
+ action: SIGNAL_EMIT "minimize.anim.finished" "caller_info";
+ }
+ program { name: "maximize_anim_finished";
+ action: SIGNAL_EMIT "maximize.anim.finished" "caller_info";
}
program {
- name: "dim_caller_id";
- action: STATE_SET "dim" 0.0;
- target: "caller_id_bg";
+ name: "init_show_ec_add_cont_btn_state";
+ script { set_int(show_ec_add_cont_btn, 1); }
}
program {
- name: "show_arrow";
- signal: "show,arrow";
- source: "";
- action: STATE_SET "default" 0.0;
- target: "manage_calls_icon_swallow";
+ name: "init_cont_info_two_line";
+ script { set_int(cont_info_2line, 1); }
}
program {
- name: "hide_arrow";
- signal: "hide,arrow";
- source: "";
- action: STATE_SET "hide" 0.0;
- target: "manage_calls_icon_swallow";
+ name: "deinit_cont_info_two_line";
+ script { set_int(cont_info_2line, 0); }
}
}
}
*
*/
+#define VML_LAYOUT_PAD_LEFT 32
+#define VML_LAYOUT_PAD_RIGHT 32
+#define VML_CALLER_INFO_PAD_BOTTOM (ACTION_BAR_LAYOUT_HEIGHT + ENDCALL_BTN_BG_H)
+
group {
name: "app_main_ly";
parts {
- part { name: "bg";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
+ CU_PART_SPACER( "bg",
+ description { state: "default" 0.0; }
+ )
+ CU_PART_SWALLOW( "elm.swallow.content",
+ description { state: "default" 0.0; }
+ )
+ CU_PART_SWALLOW( "action_bar",
+ clip_to: "keypadarea.clipper";
+ description { state: "default" 0.0;
+ rel1{ relative: ACTION_BAR_LAYOUT_L ACTION_BAR_LAYOUT_T; }
+ rel2{ relative: ACTION_BAR_LAYOUT_R ACTION_BAR_LAYOUT_B; }
+ align: 0.5 0.0;
}
- }
- part { name: "pad.bottom";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
+ )
+ CU_PART_SPACER( "keypadarea.clipper.maximized",
+ description { state: "default" 0.0;
rel1.relative: 0.0 1.0;
min: 0 ENDCALL_BTN_BG_H;
fixed: 0 1;
align: 0 1;
}
- }
- part { name: "elm.swallow.content";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- }
- }
- part { name: "action_bar";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1{ relative: ACTION_BAR_LAYOUT_L ACTION_BAR_LAYOUT_T; }
- rel2{ relative: ACTION_BAR_LAYOUT_R ACTION_BAR_LAYOUT_B; }
- align: 0.5 0.0;
- }
- }
- part { name: "keypadarea.clipper";
- type: RECT;
+ )
+
+ CU_PART_PADDING_TOP_NAME("keypadarea.clipper.minimized", EC_LAYOUT_MINIMIZE_SIZE)
+
+ CU_PART_RECT( "keypadarea.clipper",
mouse_events: 0;
repeat_events: 1;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: 0.0 0.0;
- rel2 {
- relative: 1.0 0.0;
- to: "pad.bottom";
- }
+ description { state: "default" 0.0;
+ rel2 { relative: 1.0 0.0; to: "keypadarea.clipper.maximized"; }
}
- }
- part { name: PART_SWALLOW_KEYPAD_LAYOUT_AREA;
- type: SWALLOW;
- scale: 1;
+ description { state: "maximize" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "minimize" 0.0;
+ inherit: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "keypadarea.clipper.minimized"; }
+ rel2 { relative: 1.0 1.0; to: "keypadarea.clipper.minimized"; }
+ }
+ )
+ CU_PART_SWALLOW( PART_SWALLOW_KEYPAD_LAYOUT_AREA,
clip_to: "keypadarea.clipper";
description {
state: "default" 0.0;
- rel1 {
- relative: 0.0 0.0;
- to: "keypadarea.clipper";
- }
- rel2 {
- relative: 1.0 1.0;
- to: "keypadarea.clipper";
- }
+ rel1 { relative: 0.0 0.0; to: "keypadarea.clipper"; }
+ rel2 { relative: 1.0 1.0; to: "keypadarea.clipper"; }
}
+ )
+ }
+ programs {
+ program { name: "anim_minimize_main_clipper";
+ action: STATE_SET "minimize" 0.0;
+ transition: LINEAR EC_ANIM_DUR;
+ target: "keypadarea.clipper";
+ after: "minimize_anim_finished";
}
+ program { name: "anim_maximize_main_clipper";
+ action: STATE_SET "maximize" 0.0;
+ transition: LINEAR EC_ANIM_DUR;
+ target: "keypadarea.clipper";
+ after: "maximize_anim_finished";
+ }
+ program { name: "maximize_main_clipper";
+ action: STATE_SET "maximize" 0.0;
+ target: "keypadarea.clipper";
+ after: "maximize_anim_finished";
+ }
+ program { name: "minimize";
+ signal: "minimize";
+ source: "app_main_ly";
+ after: "anim_minimize_main_clipper";
+ }
+ program { name: "maximize";
+ signal: "maximize";
+ source: "app_main_ly";
+ after: "anim_maximize_main_clipper";
+ }
+ program { name: "maximize_no_anim";
+ signal: "maximize_no_anim";
+ source: "app_main_ly";
+ after: "maximize_main_clipper";
+ }
+ program { name: "minimize_anim_finished";
+ action: SIGNAL_EMIT "minimize.anim.finished" "app_main_ly";
+ }
+ program { name: "maximize_anim_finished";
+ action: SIGNAL_EMIT "maximize.anim.finished" "app_main_ly";
+ }
+ }
+}
+
+styles {
+ style {
+ name: "call_timer_style";
+ base: "font="VC_FONT_REGULAR" align=left font_size=40 color=#FFFFFF ellipsis=1.0";
}
}
group {
- name: "main_ly";
+ name: "view_main_ly";
parts {
- part { name: "background";
- type: IMAGE;
- description {
- state: "default" 0.0;
+ CU_PART_IMAGE( "dim_bg",
+ description { state: "default" 0.0;
+ image.normal: IMG_SRC_DIR/"background_dim.png";
+ }
+ )
+ CU_PART_IMAGE( "bg",
+ clip_to: "content.clipper";
+ description { state: "default" 0.0;
image.normal: IMG_SRC_DIR/"background.png";
}
- }
- part { name: "call_txt_status";
- type: TEXT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: CALLER_INFO_STATUS_L CALLER_INFO_STATUS_T; to: "background"; }
- rel2 { relative: CALLER_INFO_STATUS_R CALLER_INFO_STATUS_B; to: "background"; }
- fixed: 1 1;
- text {
- align: 0 0.5;
- text_class: "ATO001";
- }
- align: 0 0.5;
- color_class: "ATO001";
+ )
+ CU_PART_SPACER( "content.clipper.maximized",
+ description { state: "default" 0.0;
+ rel1.relative: 0.0 1.0;
+ min: 0 ENDCALL_BTN_BG_H;
+ fixed: 0 1;
+ align: 0 1;
}
- }
+ )
+ CU_PART_PADDING_TOP_NAME("content.clipper.minimized", EC_LAYOUT_MINIMIZE_SIZE)
- part { name: "caller_info_rect";
- type: SPACER;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: CALLER_INFO_L CALLER_INFO_T; to: "background";}
- rel2 { relative: CALLER_INFO_R CALLER_INFO_B; to: "background";}
+ CU_PART_RECT( "content.clipper",
+ description { state: "default" 0.0;
+ rel2 { relative: 1.0 0.0; to: "content.clipper.maximized"; }
}
- }
+ description { state: "maximize" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "minimize" 0.0;
+ rel1 { relative: 0.0 0.0; to: "content.clipper.minimized"; }
+ rel2 { relative: 1.0 1.0; to: "content.clipper.minimized"; }
+ }
+ )
+
+ CU_PART_PADDING_LEFT(VML_LAYOUT_PAD_LEFT)
+ CU_PART_PADDING_RIGHT(VML_LAYOUT_PAD_RIGHT)
+ CU_PART_PADDING_TOP_NAME("title_txt.padding.top", CALL_STATUS_TXT_PAD_TOP)
- part { name: "caller_info";
- type: SWALLOW;
- scale: 1;
+ CU_PART_TEXTBLOCK( "call_txt_status",
+ description { state: "default" 0.0;
+ min: 0 CALL_STATUS_TXT_HEIGHT;
+ fixed: 0 1;
+ rel1 {
+ relative: 1.0 1.0;
+ to_x: "padding.left";
+ to_y: "title_txt.padding.top";
+ }
+ rel2 {
+ relative: 0.0 1.0;
+ to_x: "padding.right";
+ to_y: "title_txt.padding.top";
+ }
+ text.style:"call_timer_style";
+ align: 0.0 0.0;
+ }
+ )
+ CU_PART_PADDING_BOTTOM_NAME( "caller_info.padding.bottom", VML_CALLER_INFO_PAD_BOTTOM)
+ CU_PART_SWALLOW( "caller_info",
+ clip_to: "content.clipper";
description {
state: "default" 0.0;
visible: 1;
- rel1 { relative: 0.0 0.0; to: "caller_info_rect";}
- rel2 { relative: 1.0 1.0; to: "caller_info_rect";}
+ rel2 { relative: 1.0 0.0; to: "caller_info.padding.bottom"; }
}
- description {
- state: "show" 0.0;
+ description { state: "show" 0.0;
inherit: "default" 0.0;
visible: 1;
}
- description {
- state: "hide" 0.0;
+ description { state: "hide" 0.0;
inherit: "default" 0.0;
visible: 0;
}
- }
-
- part { name: "circle_btn_area";
- type: RECT;
- scale: 1;
+ )
+ CU_PART_RECT( "circle_btn_area",
+ clip_to: "content.clipper";
description {
state: "default" 0.0;
- rel1{ relative: 0.0 1.0; to: "caller_info_rect";}
- rel2{ relative: 1.0 1.0;}
- min: MTLOCK_ACCEPT_CIRCLE_RECT_WIDTH MTLOCK_ACCEPT_CIRCLE_RECT_HEIGHT;
+ rel1{ relative: 0.0 0.0; to: "caller_info.padding.bottom"; }
color: 255 255 255 255;
align: 0.5 0.0;
}
- }
-
- part { name: "end_btn_area";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1.relative: ENDCALL_BTN_BG_L ENDCALL_BTN_BG_T;
- rel2.relative: ENDCALL_BTN_BG_R ENDCALL_BTN_BG_B;
- color: 255 255 255 255;
+ )
+ CU_PART_RECT( "end_btn.bg",
+ mouse_events: 0;
+ repeat_events: 1;
+ clip_to: "end_btn_area.clipper";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 1.0; to: "content.clipper"; }
+ rel2 { relative: 1.0 1.0; to: "content.clipper"; }
+ min: 0 ENDCALL_BTN_BG_H;
+ fixed: 0 1;
+ align: 0.5 0;
}
- }
-
- part { name: PART_END_BTN;
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 {
- relative: ENDCALL_BTN_L ENDCALL_BTN_T;
- to: "end_btn_area";
- }
- rel2 {
- relative: ENDCALL_BTN_R ENDCALL_BTN_B;
- to: "end_btn_area";
- }
+ description { state: "hide_reply_btns" 0.0;
+ inherit: "default" 0.0;
}
- }
+ description { state: "show_reply_btns" 0.0;
+ rel1 { relative: 0.0 1.0; to: "content.clipper"; }
+ rel2 { relative: 1.0 1.0; to: "content.clipper"; }
+ min: 0 EC_REPLY_BTN_HEIGHT;
+ fixed: 0 1;
+ align: 0.5 0;
+ }
+ )
+ CU_PART_RECT( "end_btn_area.clipper",
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "end_btn.bg"; }
+ rel2 { relative: 1.0 1.0; to: "end_btn.bg"; }
+ color: COLOR_WHITE;
+ }
+ description { state: "maximize" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "minimize" 0.0;
+ inherit: "default" 0.0;
+ color: COLOR_WHITE_TRANSP;
+ }
+ )
+ CU_PART_RECT( "end_btn.clipper",
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "end_btn"; }
+ rel2 { relative: 1.0 1.0; to: "end_btn"; }
+ color: COLOR_WHITE;
+ }
+ description { state: "maximize" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "minimize" 0.0;
+ inherit: "default" 0.0;
+ color: COLOR_WHITE_TRANSP;
+ }
+ )
+ CU_PART_SWALLOW( "end_btn",
+ clip_to: "end_btn.clipper";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "end_btn.bg"; }
+ rel2 { relative: 1.0 1.0; to: "end_btn.bg"; }
+ min: ENDCALL_BTN_SIZE ENDCALL_BTN_SIZE;
+ max: ENDCALL_BTN_SIZE ENDCALL_BTN_SIZE;
+ fixed: 1 1;
+ }
+ )
+ CU_PART_RECT( "reply_btns_area.clipper",
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "reply_btns"; }
+ rel2 { relative: 1.0 1.0; to: "reply_btns"; }
+ color: COLOR_WHITE_TRANSP;
+ }
+ description { state: "hide_reply_btns" 0.0;
+ inherit: "default" 0.0;
+ }
+ description { state: "show_reply_btns" 0.0;
+ inherit: "default" 0.0;
+ color: COLOR_WHITE;
+ }
+ )
+ CU_PART_SWALLOW( "reply_btns",
+ clip_to: "reply_btns_area.clipper";
+ description { state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "end_btn.bg"; }
+ rel2 { relative: 1.0 1.0; to: "end_btn.bg"; }
+ }
+ )
}
-
programs {
+ script {
+ public show_reply_btns;
+ }
program { name: "show_keypadbtn_no_effect";
signal: "SHOW";
source: "KEYPAD_BTN";
target: "caller_info";
}
- program {
- name: "set_portrait";
- signal: "set_portrait";
- source: "incall_layout";
- in: 0.0 0.0;
- action: STATE_SET "default" 0.0;
- target: "background";
- target: "caller_info";
+ // REPLY BUTTONS
+
+ program { name: "show_reply_btns_signal";
+ signal: "show_reply_btns";
+ source: "view_main_ly";
+
+ script { set_int(show_reply_btns, 1); }
+ }
+ program { name: "try_show_reply_btns";
+ script {
+ if (get_int(show_reply_btns) == 1) {
+ run_program(PROGRAM:"show_reply_btns");
+ }
+ }
+ }
+ program { name: "try_hide_reply_btns";
+ script {
+ if (get_int(show_reply_btns) == 1) {
+ run_program(PROGRAM:"hide_reply_btns");
+ }
+ }
+ }
+ program { name: "show_reply_btns";
+ in: EC_DELAY_SHOW_REPLY_BTNS;
+ action: STATE_SET "show_reply_btns" 0.0;
+ transition: LINEAR EC_ANIM_DUR_REPLY_BTNS;
+ target: "end_btn.bg";
+ target: "reply_btns_area.clipper";
+ }
+ program { name: "hide_reply_btns";
+ in: EC_DELAY_HIDE_REPLY_BTNS;
+ action: STATE_SET "hide_reply_btns" 0.0;
+ transition: LINEAR EC_ANIM_DUR_REPLY_BTNS;
+ target: "end_btn.bg";
+ target: "reply_btns_area.clipper";
+ }
+
+ // END CALL BUTTON
+
+ program { name: "show_end_call_btn";
+ in: EC_DELAY_SHOW_ENDCALL_BTN;
+ action: STATE_SET "maximize" 0.0;
+ transition: LINEAR EC_ANIM_DUR_ENDCALL_BTN;
+ target: "end_btn.clipper";
+ }
+ program { name: "hide_end_call_btn";
+ in: EC_DELAY_HIDE_ENDCALL_BTN;
+ action: STATE_SET "minimize" 0.0;
+ transition: LINEAR EC_ANIM_DUR_ENDCALL_BTN;
+ target: "end_btn.clipper";
+ }
+ program { name: "try_show_end_call_btn_area";
+ script {
+ if (get_int(show_reply_btns) != 1) {
+ run_program(PROGRAM:"show_end_call_btn_area");
+ }
+ }
+ }
+ program { name: "try_hide_end_call_btn_area";
+ script {
+ if (get_int(show_reply_btns) != 1) {
+ run_program(PROGRAM:"hide_end_call_btn_area");
+ }
+ }
+ }
+
+ // END CALL BACKGROUND
+
+ program { name: "show_end_call_btn_area";
+ in: EC_DELAY_SHOW_ENDCALL_BTN_AREA;
+ action: STATE_SET "maximize" 0.0;
+ transition: LINEAR EC_ANIM_DUR_ENDCALL_BTN_AREA;
+ target: "end_btn_area.clipper";
+ }
+ program { name: "hide_end_call_btn_area";
+ in: EC_DELAY_HIDE_ENDCALL_BTN_AREA;
+ action: STATE_SET "minimize" 0.0;
+ transition: LINEAR EC_ANIM_DUR_ENDCALL_BTN_AREA;
+ target: "end_btn_area.clipper";
+ }
+
+ // MINIMIZE / MAXIMIZE START LOGIC
+
+ program { name: "minimize";
+ signal: "minimize";
+ source: "view_main_ly";
+
+ after: "hide_end_call_btn";
+ after: "try_show_reply_btns";
+ after: "try_hide_end_call_btn_area";
+ after: "run_minimize_animation";
+ }
+ program { name: "maximize";
+ signal: "maximize";
+ source: "view_main_ly";
+
+ after: "show_end_call_btn";
+ after: "try_hide_reply_btns";
+ after: "try_show_end_call_btn_area";
+ after: "run_maximize_animation";
+ }
+ program { name: "run_minimize_animation";
+ action: STATE_SET "minimize" 0.0;
+ transition: LINEAR EC_ANIM_DUR;
+ target: "content.clipper";
+ after: "minimize_anim_finished";
+ }
+ program { name: "run_maximize_animation";
+ action: STATE_SET "maximize" 0.0;
+ transition: LINEAR EC_ANIM_DUR;
+ target: "content.clipper";
+ after: "maximize_anim_finished";
+ }
+ program { name: "minimize_anim_finished";
+ action: SIGNAL_EMIT "minimize.anim.finished" "view_main_ly";
+ }
+ program { name: "maximize_anim_finished";
+ action: SIGNAL_EMIT "maximize.anim.finished" "view_main_ly";
}
}
}
description {
state: "default" 0.0;
rel1 { relative: 0 (INDICATOR_HEIGHT+72)/MULTI_LIST_HEIGHT; to: "background"; }
- rel2 { relative: 1 (MULTI_LIST_HEIGHT-BOTTOM_BTN_BG_HEIGHT)/MULTI_LIST_HEIGHT; to: "background"; }
+ rel2 { relative: 1 (MULTI_LIST_HEIGHT-ENDCALL_BTN_BG_H)/MULTI_LIST_HEIGHT; to: "background"; }
}
}
type: RECT;
description {
state: "default" 0.0;
- rel1 { relative: 0 (MULTI_LIST_HEIGHT-BOTTOM_BTN_BG_HEIGHT)/MULTI_LIST_HEIGHT; to: "background"; }
+ rel1 { relative: 0 (MULTI_LIST_HEIGHT-ENDCALL_BTN_BG_H)/MULTI_LIST_HEIGHT; to: "background"; }
rel2 { relative: 1 1; to: "background"; }
color: 255 255 255 255;
}
fixed: 1 0;
min: QP_CONTACT_ICON_PAD_R 0;
max: QP_CONTACT_ICON_PAD_R -1;
- rel1 { relative: 1 0; to_x: "caller_id"; }
- rel2 { relative: 1 1; to_x: "caller_id"; }
+ rel1 { relative: 1 0; to_x: "contact_icon"; }
+ rel2 { relative: 1 1; to_x: "contact_icon"; }
align: 0 0.5;
}
}
visible: 1;
}
}
- part { name: "txt_call_name";
+ part { name: "contact_name";
type: TEXTBLOCK;
scale: 1;
description {
state: "default" 0.0;
rel1 {
relative: 0.0 1.0;
- to: "txt_call_name";
+ to: "contact_name";
}
rel2 {
relative: 1.0 1.0;
- to: "txt_call_name";
+ to: "contact_name";
}
min: 0 QP_TIMER_TXT_H;
fixed: 0 1;
color_class: "ATO006QP";
}
}
- part { name: "caller_id";
+ part { name: "contact_icon";
type: SWALLOW;
scale: 1;
description {
description {
visible: 0;
fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "caller_id"; }
- rel2 { relative: 1.0 1.0; to: "caller_id"; }
+ rel1 { relative: 0.0 0.0; to: "contact_icon"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon"; }
image {
normal: IMG_SRC_DIR/"call_photo_id_mask.png";
}
visible: 0;
}
}
- part { name: "caller_id_img";
+ part { name: "contact_icon_def";
type: IMAGE;
scale: 1;
description {
visible: 0;
fixed: 1 1;
- rel1 { relative: 0.0 0.0; to: "caller_id"; }
- rel2 { relative: 1.0 1.0; to: "caller_id"; }
+ rel1 { relative: 0.0 0.0; to: "contact_icon"; }
+ rel2 { relative: 1.0 1.0; to: "contact_icon"; }
image {
normal: IMG_SRC_DIR/"call_photo_id.png";
}
target: "swallow.resume_button";
target: "swallow.call_button";
target: "swallow.speaker_button";
- target: "caller_id_img";
+ target: "contact_icon_def";
target: "caller_id_mask";
- target: "caller_id";
+ target: "contact_icon";
target: "txt_area";
}
program {
target: "swallow.resume_button";
target: "swallow.call_button";
target: "swallow.speaker_button";
- target: "caller_id_img";
+ target: "contact_icon_def";
target: "caller_id_mask";
- target: "caller_id";
+ target: "contact_icon";
target: "txt_area";
}
program {
source: "*";
action: STATE_SET "show" 0.0;
target: "caller_id_mask";
- target: "caller_id_img";
+ target: "contact_icon_def";
}
program {
name: "hide_image";
source: "*";
action: STATE_SET "hide" 0.0;
target: "caller_id_mask";
- target: "caller_id_img";
+ target: "contact_icon_def";
}
}
}
*
*/
+// ANIMATION DEFINES
+
+#define EC_ANIM_DUR 0.5
+
+#define EC_ANIM_DUR_ENDCALL_BTN (EC_ANIM_DUR / 3)
+#define EC_ANIM_DUR_ENDCALL_BTN_AREA (EC_ANIM_DUR / 3)
+#define EC_ANIM_DUR_CONT_INFO_B_S (EC_ANIM_DUR / 2)
+#define EC_ANIM_DUR_CONT_INFO_S_B (EC_ANIM_DUR - EC_ANIM_DUR_CONT_INFO_B_S)
+#define EC_ANIM_DUR_REPLY_BTNS (EC_ANIM_DUR - EC_ANIM_DUR_ENDCALL_BTN)
+
+#define EC_DELAY_HIDE_ENDCALL_BTN 0.0 0.0
+#define EC_DELAY_SHOW_ENDCALL_BTN (EC_ANIM_DUR - EC_ANIM_DUR_ENDCALL_BTN) 0.0
+#define EC_DELAY_HIDE_ENDCALL_BTN_AREA (EC_ANIM_DUR - EC_ANIM_DUR_ENDCALL_BTN_AREA) 0.0
+#define EC_DELAY_SHOW_ENDCALL_BTN_AREA 0.0 0.0
+#define EC_DELAY_SHOW_REPLY_BTNS EC_ANIM_DUR_ENDCALL_BTN 0.0
+#define EC_DELAY_HIDE_REPLY_BTNS 0.0 0.0
+
+// CALLER INFO DEFINES
+
+#define EC_ADD_CONT_BTN_DIMENT 80
+#define EC_ADD_CONT_BTN_PAD_RIGHT 17
+#define EC_ADD_CONT_BTN_PAD_LEFT 32
+#define EC_ADD_CONT_BTN_PAD_TOP (CALL_STATUS_TXT_PAD_TOP + CALL_STATUS_TXT_HEIGHT + EC_STATE_TXT_PAD_EC_ADD_CONT_BTN)
+#define EC_ADD_CONT_BTN_SIZE EC_ADD_CONT_BTN_DIMENT EC_ADD_CONT_BTN_DIMENT
+#define EC_ADD_CONT_BTN_IMAGE_SIZE 46 46
+#define EC_ADD_CONT_BTN_IMAGE_BORDER 17
+
+#define EC_STATE_TXT_PAD_EC_CONT_NAME 50
+#define EC_STATE_TXT_PAD_EC_ADD_CONT_BTN 74
+#define EC_STATE_TXT_PAD_CONT_ICON 30
+
+#define EC_CONT_ICON_DIMENT 168
+#define EC_CONT_ICON_SIZE_MIN EC_CONT_ICON_DIMENT EC_CONT_ICON_DIMENT
+#define EC_CONT_ICON_PAD_TOP (CALL_STATUS_TXT_PAD_TOP + CALL_STATUS_TXT_HEIGHT + EC_STATE_TXT_PAD_CONT_ICON)
+#define EC_CONT_ICON_PAD_BOTTOM 44
+#define EC_CONT_ICON_PAD_RIGHT 32
+#define EC_CONT_ICON_PAD_LEFT 32
+
+#define EC_BG_PAD_RIGHT_MIN CI_LAYOUT_PAD_RIGHT
+#define EC_BG_PAD_RIGHT_MIN_W_ADD_CONT_BTN (EC_ADD_CONT_BTN_PAD_RIGHT + EC_ADD_CONT_BTN_DIMENT + EC_ADD_CONT_BTN_PAD_LEFT)
+
+#define EC_CONT_NAME_SIZE_MIN 0 76
+#define EC_CONT_INFO_PAD_LEFT (EC_CONT_ICON_PAD_LEFT + EC_CONT_ICON_DIMENT + EC_CONT_ICON_PAD_RIGHT)
+#define EC_CONT_NAME_PAD_TOP (CALL_STATUS_TXT_PAD_TOP + CALL_STATUS_TXT_HEIGHT + EC_STATE_TXT_PAD_EC_CONT_NAME)
+#define EC_CONT_NAME_PAD_BOTTOM 6
+
+#define EC_PHONE_NUMB_SIZE_MIN 0 46
+#define EC_PHONE_NUMB_PAD_TOP (EC_CONT_NAME_PAD_TOP + EC_CONT_NAME_SIZE_MIN + EC_CONT_NAME_PAD_BOTTOM)
+
+// APPLICATION AND VIEW MAIN LAYOUT DEFINES
+
+#define EC_LAYOUT_MINIMIZE_SIZE (CALL_STATUS_TXT_PAD_TOP + CALL_STATUS_TXT_HEIGHT + EC_STATE_TXT_PAD_CONT_ICON + EC_CONT_ICON_DIMENT + EC_CONT_ICON_PAD_BOTTOM)
+
+#define EC_REPLY_BTN_HEIGHT 190
+#define EC_REPLY_BTN_ICON_PAD_TOP 36
+#define EC_REPLY_BTN_ICON_DIMENT 64
+#define EC_REPLY_BTN_TXT_HEIGHT 38
+#define EC_REPLY_BTN_TXT_PAD_REPLY_BTN_ICON 20
+#define EC_REPLY_BTN_TXT_PAD_TOP (EC_REPLY_BTN_ICON_PAD_TOP + EC_REPLY_BTN_ICON_DIMENT + EC_REPLY_BTN_TXT_PAD_REPLY_BTN_ICON)
+#define EC_REPLY_BTN_ICON_SIZE EC_REPLY_BTN_ICON_DIMENT EC_REPLY_BTN_ICON_DIMENT
+
styles {
- style {
- name: "call_timer_style";
- base: "font=Tizen:style=Regular align=left font_size=40 color=#FFFFFF ellipsis=1.0";
+ style { name: "ec_reply_btn_default";
+ base: "font=Tizen:style=Regular align=center font_size=34 color=#808080 ellipsis=1.0";
}
- style {
- name: "call_name";
+ style { name: "ec_reply_btn_pressed";
+ base: "font=Tizen:style=Regular align=center font_size=34 color=#3DB9CC ellipsis=1.0";
+ }
+ style { name: "ec_contact_name";
base: "font=Tizen:style=Regular align=left font_size=56 color=#FFFFFF ellipsis=1.0";
}
- style {
- name: "call_number";
+ style { name: "ec_phone_number";
base: "font=Tizen:style=Regular align=left font_size=34 color=#FFFFFF ellipsis=1.0";
}
- style {
- name: "button_style";
- base: "font=Tizen:style=Regular align=center font_size=34 color=#808080 ellipsis=1.0";
- }
- style {
- name: "button_style_pressed";
- base: "font=Tizen:style=Regular align=center font_size=34 color=#3DB9CC ellipsis=1.0";
- }
}
-#define MAIN_WIDTH MAIN_SCREEN_W
-#define MAIN_HEIGHT MAIN_SCREEN_H
-#define MAIN_WIDTH_TWO (MAIN_WIDTH/2)
-
-#define EC_MAIN_TITLE_T_PAD 30
-#define EC_MAIN_TITLE_H 54
-#define EC_CONTACT_IMAGE_T_PAD 30
-#define EC_CONTACT_IMAGE_SIZE 168
-#define EC_BOTTOM_BTN_T_PAD 44
-#define EC_BOTTOM_BTN_H 190
-#define EC_MAIN_BG_H (INDICATOR_HEIGHT+EC_MAIN_TITLE_T_PAD+EC_MAIN_TITLE_H+EC_CONTACT_IMAGE_T_PAD+EC_CONTACT_IMAGE_SIZE+EC_BOTTOM_BTN_T_PAD)
-
-#define EC_MAIN_TITLE_R_PAD 32
-
-#define EC_CONTACT_NAME_T_PAD 50
-#define EC_CONTACT_NAME_H 76
-
-#define EC_CONTACT_NUMBER_T_PAD 6
-#define EC_CONTACT_NUMBER_H 46
-
-#define EC_ADD_BTN_ICON_SIZE 80
-#define EC_ADD_BTN_ICON_B_PAD 88
-#define EC_ADD_BTN_SIZE 120
-#define EC_ADD_BUTTON_R_PAD 20
-
-#define EC_ADD_ICON_BTN_L_PAD 32
-#define EC_ADD_ICON_BTN_R_PAD 17
-
-#define EC_BOTTOM_BTN_ICON_SIZE 64
-#define EC_BOTTOM_BTN_TEXT_W 132
-#define EC_BOTTOM_BTN_ICON_T_PAD 36
-#define EC_BOTTOM_BTN_ICON_L_PAD ((MAIN_WIDTH_TWO-EC_BOTTOM_BTN_ICON_SIZE)/2)
-#define EC_BOTTOM_BTN_R_PAD (EC_BOTTOM_BTN_R_PAD+EC_BOTTOM_BTN_ICON_SIZE)
-
-#define EC_BOTTOM_BTN_TEXT_B_PAD 38
-#define EC_BOTTOM_BTN_TEXT_R_PAD ((MAIN_WIDTH_TWO-EC_BOTTOM_BTN_TEXT_W)/2)
-#define EC_BOTTOM_BTN_TEXT_L_PAD (EC_BOTTOM_BTN_TEXT_R_PAD+EC_BOTTOM_BTN_TEXT_W)
-
-#define EC_MAIN_TITLE_X0 ((EC_MAIN_TITLE_R_PAD)/MAIN_WIDTH)
-#define EC_MAIN_TITLE_Y0 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_T_PAD)/EC_MAIN_BG_H)
-#define EC_MAIN_TITLE_Y1 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD)/EC_MAIN_BG_H)
-
-#define EC_CONTACT_IMAGE_X0 (EC_MAIN_TITLE_R_PAD/MAIN_WIDTH)
-#define EC_CONTACT_IMAGE_Y0 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD+EC_CONTACT_IMAGE_T_PAD)/EC_MAIN_BG_H)
-#define EC_CONTACT_IMAGE_X1 ((EC_MAIN_TITLE_R_PAD+EC_CONTACT_IMAGE_SIZE)/MAIN_WIDTH)
-#define EC_CONTACT_IMAGE_Y1 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD+EC_CONTACT_IMAGE_T_PAD+EC_CONTACT_IMAGE_SIZE)/EC_MAIN_BG_H)
-
-#define EC_RECT_BUTTON_X0 0.0
-#define EC_RECT_BUTTON_Y0 (EC_MAIN_BG_H/EC_MAIN_BG_H)
-#define EC_RECT_BUTTON_Y1 ((EC_MAIN_BG_H+EC_BOTTOM_BTN_H)/EC_MAIN_BG_H)
-
-#define EC_CONTACT_NAME_X0 (EC_CONTACT_IMAGE_X1+(EC_MAIN_TITLE_R_PAD/MAIN_WIDTH))
-#define EC_CONTACT_NAME_Y0 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD+EC_CONTACT_NAME_T_PAD)/EC_MAIN_BG_H)
-#define EC_CONTACT_NAME_X1 ((MAIN_WIDTH-EC_ADD_ICON_BTN_R_PAD-EC_ADD_BTN_ICON_SIZE-EC_ADD_ICON_BTN_L_PAD)/MAIN_WIDTH)
-#define EC_CONTACT_NAME_Y1 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD+EC_CONTACT_NAME_T_PAD+EC_CONTACT_NAME_H)/EC_MAIN_BG_H)
-
-#define EC_CONTACT_NUMBER_X0 (EC_CONTACT_IMAGE_X1+(EC_MAIN_TITLE_R_PAD/MAIN_WIDTH))
-#define EC_CONTACT_NUMBER_Y0 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD+EC_CONTACT_NAME_T_PAD+EC_CONTACT_NAME_H+EC_CONTACT_NUMBER_T_PAD)/EC_MAIN_BG_H)
-#define EC_CONTACT_NUMBER_X1 ((MAIN_WIDTH-EC_ADD_ICON_BTN_R_PAD-EC_ADD_BTN_ICON_SIZE-EC_ADD_ICON_BTN_L_PAD)/MAIN_WIDTH)
-#define EC_CONTACT_NUMBER_Y1 ((INDICATOR_HEIGHT+EC_MAIN_TITLE_H+EC_MAIN_TITLE_T_PAD+EC_CONTACT_NAME_T_PAD+EC_CONTACT_NAME_H+EC_CONTACT_NUMBER_T_PAD+EC_CONTACT_NUMBER_H)/EC_MAIN_BG_H)
-
-#define EC_CREATE_CONTACT_X0 ((MAIN_WIDTH-EC_ADD_ICON_BTN_R_PAD-EC_ADD_BTN_ICON_SIZE)/MAIN_WIDTH)
-#define EC_CREATE_CONTACT_Y0 ((EC_MAIN_BG_H-EC_ADD_BTN_ICON_B_PAD-EC_ADD_BTN_ICON_SIZE)/EC_MAIN_BG_H)
-#define EC_CREATE_CONTACT_X1 ((MAIN_WIDTH-EC_ADD_ICON_BTN_R_PAD)/MAIN_WIDTH)
-#define EC_CREATE_CONTACT_Y1 ((EC_MAIN_BG_H-EC_ADD_BTN_ICON_B_PAD)/EC_MAIN_BG_H)
-
-#define EC_BUTTON_ICON_X0 (EC_BOTTOM_BTN_ICON_L_PAD/MAIN_WIDTH_TWO)
-#define EC_BUTTON_ICON_Y0 (EC_BOTTOM_BTN_ICON_T_PAD/EC_BOTTOM_BTN_H)
-#define EC_BUTTON_ICON_X1 ((EC_BOTTOM_BTN_ICON_L_PAD+EC_BOTTOM_BTN_ICON_SIZE)/MAIN_WIDTH_TWO)
-#define EC_BUTTON_ICON_Y1 (EC_BOTTOM_BTN_ICON_T_PAD+EC_BOTTOM_BTN_ICON_SIZE)/EC_BOTTOM_BTN_H
-
-#define EC_BUTTON_TEXT_X0 (EC_BOTTOM_BTN_TEXT_R_PAD/MAIN_WIDTH_TWO)
-#define EC_BUTTON_TEXT_Y0 ((EC_BOTTOM_BTN_ICON_T_PAD+EC_BOTTOM_BTN_ICON_SIZE)/EC_BOTTOM_BTN_H)
-#define EC_BUTTON_TEXT_X1 (EC_BOTTOM_BTN_TEXT_L_PAD/MAIN_WIDTH_TWO)
-#define EC_BUTTON_TEXT_Y1 ((EC_BOTTOM_BTN_ICON_T_PAD+EC_BOTTOM_BTN_ICON_SIZE+EC_BOTTOM_BTN_TEXT_B_PAD)/EC_BOTTOM_BTN_H)
-
-#define EC_ADD_BTN_ICON_X0 (EC_ADD_BUTTON_R_PAD/EC_ADD_BTN_SIZE)
-#define EC_ADD_BTN_ICON_Y0 (EC_ADD_BUTTON_R_PAD/EC_ADD_BTN_SIZE)
-#define EC_ADD_BTN_ICON_X1 ((EC_ADD_BTN_ICON_SIZE + EC_ADD_BUTTON_R_PAD)/EC_ADD_BTN_SIZE)
-#define EC_ADD_BTN_ICON_Y1 ((EC_ADD_BTN_ICON_SIZE + EC_ADD_BUTTON_R_PAD)/EC_ADD_BTN_SIZE)
-
-#define EC_MAIN_BG_Y1 (EC_MAIN_BG_H/MAIN_HEIGHT)
-#define EC_EMERG_MAIN_BG_Y1 (EC_EMERG_MAIN_BG_H/MAIN_HEIGHT)
-
-#define END_BOTTOM_BUTTON(style_name, img_path) \
+#define EC_REPLY_BUTTON(style_name, img_path) \
group { \
name: style_name; \
parts { \
- part { name: "bg"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
+ CU_PART_RECT( "bg", \
+ mouse_events: 1; \
+ repeat_events: 0; \
+ description { state: "default" 0.0; } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
color_class: "AO001"; \
} \
- } \
- part { name: "click_bg"; \
- type: RECT; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- color: 255 255 255 255; \
+ ) \
+ CU_PART_RECT( "click_bg", \
+ mouse_events: 1; \
+ repeat_events: 0; \
+ description { state: "default" 0.0; \
+ color: COLOR_WHITE; \
} \
- description { \
- state: "pressed" 0.0; \
+ description { state: "pressed" 0.0; \
color: 0 0 0 76; \
} \
- } \
- part { name: "end_btn_text"; \
- type: TEXTBLOCK; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: EC_BUTTON_TEXT_X0 EC_BUTTON_TEXT_Y0; to: "bg";} \
- rel2 { relative: EC_BUTTON_TEXT_X1 EC_BUTTON_TEXT_Y1; to: "bg";} \
- text { \
- fit: 1 1; \
- style:"button_style"; \
- } \
+ ) \
+ CU_PART_SPACER( "sizer", \
+ description { state: "default" 0.0; \
+ min: 0 EC_REPLY_BTN_HEIGHT; \
+ max: -1 EC_REPLY_BTN_HEIGHT; \
+ fixed: 1 1; \
} \
- description { \
- state: "pressed" 0.0; \
- inherit: "default" 0.0; \
- text.style:"button_style_pressed"; \
+ ) \
+ CU_PART_SPACER( "icon.padding.top", \
+ description { state: "default" 0.0; \
+ min: 0 EC_REPLY_BTN_ICON_PAD_TOP; \
+ fixed: 0 1; \
+ rel1 { relative: 0.0 0.0; to: "sizer"; } \
+ rel2 { relative: 1.0 0.0; to: "sizer"; } \
+ align: 0.0 0.0; \
} \
- } \
- part { name: "end_btn_icon"; \
- type: IMAGE; \
- scale: 1; \
- description { \
- state: "default" 0.0; \
- rel1 { relative: EC_BUTTON_ICON_X0 EC_BUTTON_ICON_Y0; to: "bg";} \
- rel2 { relative: EC_BUTTON_ICON_X1 EC_BUTTON_ICON_Y1; to: "bg";} \
- image { \
- normal: img_path; \
- } \
+ ) \
+ CU_PART_IMAGE( "icon", \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0.0 1.0; to: "icon.padding.top"; } \
+ rel2 { relative: 1.0 1.0; to: "icon.padding.top"; } \
+ min: EC_REPLY_BTN_ICON_SIZE; \
+ max: EC_REPLY_BTN_ICON_SIZE; \
+ fixed: 1 1; \
+ image.normal: img_path; \
color_class: "AO009"; \
+ align: 0.5 0.0; \
} \
description { \
state: "pressed" 0.0; \
inherit: "default" 0.0; \
color_class: "AO001"; \
} \
- } \
+ ) \
+ CU_PART_SPACER( "text.padding.top", \
+ description { state: "default" 0.0; \
+ min: 0 EC_REPLY_BTN_TXT_PAD_TOP; \
+ fixed: 0 1; \
+ rel1 { relative: 0.0 0.0; to: "sizer"; } \
+ rel2 { relative: 1.0 0.0; to: "sizer"; } \
+ align: 0.0 0.0; \
+ } \
+ ) \
+ CU_PART_TEXTBLOCK( "text", \
+ description { state: "default" 0.0; \
+ rel1 { relative: 0.0 1.0; to: "text.padding.top"; } \
+ rel2 { relative: 1.0 1.0; to: "text.padding.top"; } \
+ min: 0 EC_REPLY_BTN_TXT_HEIGHT; \
+ text { \
+ fit: 1 1; \
+ style:"ec_reply_btn_default"; \
+ } \
+ } \
+ description { state: "pressed" 0.0; \
+ inherit: "default" 0.0; \
+ text.style:"ec_reply_btn_pressed"; \
+ } \
+ ) \
} \
programs { \
program { name: "clicked"; \
signal: "mouse,down,*"; \
source: "*"; \
action: STATE_SET "pressed" 0.0; \
+ target: "bg"; \
target: "click_bg"; \
- target: "end_btn_icon"; \
- target: "end_btn_text"; \
+ target: "icon"; \
+ target: "text"; \
} \
program { name: "unpressed"; \
signal: "mouse,up,*"; \
source: "*"; \
action: STATE_SET "default" 0.0; \
+ target: "bg"; \
target: "click_bg"; \
- target: "end_btn_icon"; \
- target: "end_btn_text"; \
+ target: "icon"; \
+ target: "text"; \
} \
program { name: "touch_snd"; \
action: RUN_PLUGIN "touch_sound"; \
} \
} \
-END_BOTTOM_BUTTON("call_back", IMG_SRC_DIR/"call_button_icon_03.png")
-END_BOTTOM_BUTTON("message_button", IMG_SRC_DIR/"call_button_icon_04.png")
+EC_REPLY_BUTTON("call_back", IMG_SRC_DIR/"call_button_icon_03.png")
+EC_REPLY_BUTTON("message_button", IMG_SRC_DIR/"call_button_icon_04.png")
group {
- name: "create_contact_button";
+ name: "add_contact_button";
parts {
- part { name: "bg";
- type: RECT;
- scale: 1;
- description {
- state: "default" 0.0;
- color_class: "W0113";
+ CU_PART_RECT( "bg",
+ description { state: "default" 0.0;
+ color: COLOR_BG_ALPHA;
}
- description {
- state: "pressed" 0.0;
+ description { state: "pressed" 0.0;
inherit: "default" 0.0;
color_class: "W0113P";
}
- }
-
- part { name: "icon";
- type: IMAGE;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: EC_ADD_BTN_ICON_X0 EC_ADD_BTN_ICON_Y0; to: "bg";}
- rel2 { relative: EC_ADD_BTN_ICON_X1 EC_ADD_BTN_ICON_Y1; to: "bg";}
- image {
- normal: IMG_SRC_DIR/"call_button_add.png";
- }
- color: 255 255 255 255;
- }
- }
+ )
+ CU_PART_PADDING_TOP(EC_ADD_CONT_BTN_IMAGE_BORDER)
+ CU_PART_PADDING_LEFT(EC_ADD_CONT_BTN_IMAGE_BORDER)
+ CU_PART_PADDING_BOTTOM(EC_ADD_CONT_BTN_IMAGE_BORDER)
+ CU_PART_PADDING_RIGHT(EC_ADD_CONT_BTN_IMAGE_BORDER)
+ CU_PART_IMAGE( "icon",
+ description { state: "default" 0.0;
+ min: EC_ADD_CONT_BTN_IMAGE_SIZE;
+ max: EC_ADD_CONT_BTN_IMAGE_SIZE;
+ rel1 { relative: 1.0 1.0; to_x: "padding.left"; to_y: "padding.top"; }
+ rel2 { relative: 0.0 0.0; to_x: "padding.right"; to_y: "padding.bottom"; }
+ image.normal: IMG_SRC_DIR/"call_button_add.png";
+ color: COLOR_WHITE;
+ }
+ )
}
programs {
- program {
- name: "pressed";
+ program { name: "pressed";
signal: "mouse,down,*";
source: "*";
action: STATE_SET "pressed" 0.0;
target: "bg";
}
- program {
- name: "unpressed";
+ program { name: "unpressed";
signal: "mouse,up,*";
source: "*";
action: STATE_SET "default" 0.0;
}
}
}
-
-group {
- name: "main_end_call";
- parts {
- part { name: "background";
- type: IMAGE;
- description {
- state: "default" 0.0;
- image.normal: IMG_SRC_DIR/"background_dim.png";
- }
- }
-
- part { name: "contact_ly";
- type: RECT;
- description {
- state: "default" 0.0;
- color_class: "AO001";
- rel1 { relative: 0.0 0.0; to: "background"; }
- rel2 { relative: 1.0 EC_MAIN_BG_Y1; to: "background"; }
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part { name: "caller_id";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: EC_CONTACT_IMAGE_X0 EC_CONTACT_IMAGE_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_IMAGE_X1 EC_CONTACT_IMAGE_Y1; to: "contact_ly";}
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part { name: "caller_id_mask";
- type: IMAGE;
- scale: 1;
- description {
- visible: 0;
- rel1 { relative: EC_CONTACT_IMAGE_X0 EC_CONTACT_IMAGE_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_IMAGE_X1 EC_CONTACT_IMAGE_Y1; to: "contact_ly";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id_mask.png";
- }
- aspect_preference: SOURCE;
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description {
- state: "emergency" 0.0;
- inherit: "default" 0.0;
- color_class: "AO036";
- }
- description {
- state: "conference" 0.0;
- inherit: "show" 0.0;
- }
- }
-
- part { name: "caller_id_img";
- type: IMAGE;
- scale: 1;
- description {
- visible: 0;
- rel1 { relative: EC_CONTACT_IMAGE_X0 EC_CONTACT_IMAGE_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_IMAGE_X1 EC_CONTACT_IMAGE_Y1; to: "contact_ly";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id.png";
- }
- aspect_preference: SOURCE;
- color_class: "AO001";
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- description {
- state: "emergency" 0.0;
- rel1 { relative: EC_CONTACT_IMAGE_X0 EC_CONTACT_IMAGE_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_IMAGE_X1 EC_CONTACT_IMAGE_Y1; to: "contact_ly";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id_emergency.png";
- }
- aspect_preference: SOURCE;
- }
- description {
- state: "conference" 0.0;
- rel1 { relative: EC_CONTACT_IMAGE_X0 EC_CONTACT_IMAGE_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_IMAGE_X1 EC_CONTACT_IMAGE_Y1; to: "contact_ly";}
- image {
- normal: IMG_SRC_DIR/"call_photo_id_conference.png";
- }
- color_class: "AO003L2";
- aspect_preference: SOURCE;
- }
- }
-
- part { name: "contact_name";
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: EC_CONTACT_NAME_X0 EC_CONTACT_NAME_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_NAME_X1 EC_CONTACT_NAME_Y1; to: "contact_ly";}
- text {
- ellipsis: 0.0;
- style:"call_name";
- }
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part { name: "contact_number";
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: EC_CONTACT_NUMBER_X0 EC_CONTACT_NUMBER_Y0; to: "contact_ly";}
- rel2 { relative: EC_CONTACT_NUMBER_X1 EC_CONTACT_NUMBER_Y1; to: "contact_ly";}
- text {
- ellipsis: 1.0;
- style:"call_number";
- }
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part { name: "swallow.create_contact";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: EC_CREATE_CONTACT_X0 EC_CREATE_CONTACT_Y0; to: "contact_ly";}
- rel2 { relative: EC_CREATE_CONTACT_X1 EC_CREATE_CONTACT_Y1; to: "contact_ly";}
- }
- description {
- state: "show" 0.0;
- inherit: "default" 0.0;
- visible: 1;
- }
- description {
- state: "hide" 0.0;
- inherit: "default" 0.0;
- visible: 0;
- }
- }
-
- part { name: "button_call_back";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.0 EC_RECT_BUTTON_Y0; to: "contact_ly";}
- rel2 { relative: 0.5 EC_RECT_BUTTON_Y1; to: "contact_ly";}
- }
- }
-
- part { name: "button_message_back";
- type: SWALLOW;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: 0.5 EC_RECT_BUTTON_Y0; to: "contact_ly";}
- rel2 { relative: 1.0 EC_RECT_BUTTON_Y1; to: "contact_ly";}
- }
- }
- part { name: "call_txt_status";
- type: TEXTBLOCK;
- scale: 1;
- description {
- state: "default" 0.0;
- rel1 { relative: EC_MAIN_TITLE_X0 EC_MAIN_TITLE_Y0; to: "contact_ly";}
- rel2 { relative: 1.0 EC_MAIN_TITLE_Y1; to: "contact_ly";}
- text.style:"call_timer_style";
- }
- }
- }
- programs{
- program {
- name: "show_def_caller_id";
- signal: "show_def_caller_id";
- source: "main_end_call";
- action: STATE_SET "show" 0.0;
- target: "caller_id_mask";
- target: "caller_id_img";
- }
- program {
- name: "hide_def_caller_id";
- signal: "hide_def_caller_id";
- source: "main_end_call";
- action: STATE_SET "hide" 0.0;
- target: "caller_id_mask";
- target: "caller_id_img";
- }
- program {
- name: "show_emergency_icon";
- signal: "set_emergency_mode";
- source: "main_end_call";
- action: STATE_SET "emergency" 0.0;
- target: "caller_id_mask";
- target: "caller_id_img";
- }
- program {
- name: "show_conference_icon";
- signal: "set_conference_mode";
- source: "main_end_call";
- action: STATE_SET "conference" 0.0;
- target: "caller_id_img";
- target: "caller_id_mask";
- }
- }
-}
#define IAC_MAIN_HEIGHT (INDICATOR_HEIGHT+IAC_REC_MAIN_INFO+IAC_REC_BTN_H+IAC_IAC_SWAP_BTN_Y) // 350
#define IAC_MAIN_WIDTH MAIN_SCREEN_W
#define IAC_MAIN_HEIGHT_REJECT MAIN_SCREEN_H
-
#define IAC_MAIN_HEIGHT_RECT_REJECT IAC_MAIN_HEIGHT
-#define IAC_MAIN_HEIGHT_REJECT MAIN_SCREEN_H
#define IAH_SPACE_BTN 186
#define IAC_SPACE_BETWEEN_BTNS 16
}
}
- part { name: "caller_id";
+ part { name: "contact_icon";
type: SWALLOW;
scale: 1;
description { state: "default" 0.0;
program {
name: "show_caller_id";
action: STATE_SET "show" 0.0;
- target: "caller_id";
+ target: "contact_icon";
}
program {
name: "hide_caller_id";
action: STATE_SET "hide" 0.0;
- target: "caller_id";
+ target: "contact_icon";
}
program {
name: "show_def_caller_id";
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#define CU_PART_SPACER(_name, _description) \
+ part { name: _name; \
+ scale: 1; \
+ mouse_events: 0; \
+ type: SPACER; \
+ _description \
+ }
+
+#define CU_PART_RECT(_name, _description) \
+ part { name: _name; \
+ mouse_events: 0; \
+ scale: 1; \
+ type: RECT; \
+ _description \
+ }
+
+#define CU_PART_IMAGE(_name, _description) \
+ part { name: _name; \
+ scale: 1; \
+ type: IMAGE; \
+ _description \
+ }
+
+#define CU_PART_SWALLOW(_name, _description) \
+ part { name: _name; \
+ scale: 1; \
+ type: SWALLOW; \
+ _description \
+ }
+
+#define CU_PART_TEXT(_name, _description) \
+ part { name: _name; \
+ scale: 1; \
+ type: TEXT; \
+ mouse_events: 0; \
+ _description \
+ }
+
+#define CU_PART_TEXTBLOCK(_name, _description) \
+ part { name: _name; \
+ scale: 1; \
+ type: TEXTBLOCK; \
+ mouse_events: 0; \
+ _description \
+ }
+
+#define CU_PART_BASE_H(_height) \
+ CU_PART_SPACER("base", \
+ description { state: "default" 0.0; \
+ min: 0 _height; \
+ } \
+ )
+
+#define CU_PART_BASE_WH(_width, _height) \
+ CU_PART_SPACER("base", \
+ description { state: "default" 0.0; \
+ min: _width _height; \
+ max: _width _height; \
+ } \
+ )
+
+#define CU_PART_BASE \
+ CU_PART_BASE_H(0)
+
+#define CU_PART_BG(_color_name) \
+ CU_PART_RECT("bg", \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ color: _color_name; \
+ } \
+ )
+
+#define E_SWALLOW_BG \
+ CU_PART_SWALLOW("email.swallow.bg", \
+ mouse_events: 0; \
+ description { state: "default" 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_TOP(_size) \
+ CU_PART_SPACER("padding.top", \
+ description { \
+ state: "default" 0.0; \
+ min: 0 _size; \
+ fixed: 0 1; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_TOP_NAME(_name, _size) \
+ CU_PART_SPACER(_name, \
+ description { \
+ state: "default" 0.0; \
+ min: 0 _size; \
+ fixed: 0 1; \
+ rel2.relative: 1.0 0.0; \
+ align: 0.0 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_TOP_TO(_name, _dest, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ fixed: 0 1; \
+ min: 0 _size; \
+ rel1 { relative: 0 1; to: _dest; } \
+ rel2 { relative: 1 1; to: _dest; } \
+ align: 0.5 0; \
+ } \
+ )
+
+#define CU_PART_PADDING_BOTTOM(_size) \
+ CU_PART_SPACER("padding.bottom", \
+ description { state: "default" 0.0; \
+ min: 0 _size; \
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.0 1.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_BOTTOM_NAME(_name, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ min: 0 _size; \
+ fixed: 0 1; \
+ rel1.relative: 0.0 1.0; \
+ align: 0.0 1.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_BOTTOM_TO(_name, _dest, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ fixed: 0 1; \
+ min: 0 _size; \
+ rel1 { relative: 0 0; to: _dest; } \
+ rel2 { relative: 1 0; to: _dest; } \
+ align: 0.5 1; \
+ } \
+ )
+
+#define CU_PART_PADDING_LEFT(_size) \
+ CU_PART_SPACER("padding.left", \
+ description { state: "default" 0.0; \
+ min: _size 0; \
+ fixed: 1 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_LEFT_NAME(_name, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ min: _size 0; \
+ fixed: 1 0; \
+ rel2.relative: 0.0 1.0; \
+ align: 0.0 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_LEFT_TO(_name, _dest, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ min: _size 0; \
+ max: _size -1; \
+ rel1 { relative: 1 0; to_x: _dest; } \
+ rel2 { relative: 1 1; to_x: _dest; } \
+ align: 0 0.5; \
+ } \
+ )
+
+#define CU_PART_PADDING_RIGHT(_size) \
+ CU_PART_SPACER("padding.right", \
+ description { state: "default" 0.0; \
+ min: _size 0; \
+ fixed: 1 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_RIGHT_NAME(_name, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ min: _size 0; \
+ fixed: 1 0; \
+ rel1.relative: 1.0 0.0; \
+ align: 1.0 0.0; \
+ } \
+ )
+
+#define CU_PART_PADDING_RIGHT_TO(_name, _dest, _size) \
+ CU_PART_SPACER(_name, \
+ description { state: "default" 0.0; \
+ fixed: 1 0; \
+ min: _size 0; \
+ max: _size -1; \
+ rel1 { relative: 0 0; to_x: _dest; } \
+ rel2 { relative: 0 1; to_x: _dest; } \
+ align: 1 0.5; \
+ } \
+ )
\ No newline at end of file
#define __CALLUI_ACTION_BAR_H__
#include <Elementary.h>
+#include <stdbool.h>
typedef struct _callui_action_bar *callui_action_bar_h;
*/
void _callui_action_bar_hide(callui_action_bar_h action_bar);
+/**
+ * @brief Set disabled state on action bar
+ *
+ * @param[in] action_bar Action bar handler
+ * @param[in] is_disable Disable state
+ */
+void _callui_action_bar_set_disabled_state(callui_action_bar_h action_bar, bool is_disabled);
+
+/**
+ * @brief Get disabled state on action bar
+ *
+ * @param[in] action_bar Action bar handler
+ * @param[in] is_disable Disable state
+ */
+bool _callui_action_bar_get_disabled_state(callui_action_bar_h action_bar);
+
#endif /* __CALLUI_ACTION_BAR_H__ */
#undef _
#define _(s) gettext(s)
-#define GRP_MAIN_LY "main_ly"
+#define GRP_VIEW_MAIN_LY "view_main_ly"
#define GRP_KEYPAD "keypad"
#define GRP_MULTICALL "multicall-list"
#define GRP_REJECT_MSG "reject_with_msg"
#define GRP_ENDCALL_MAIN_LAYOUT "main_end_call"
#define GRP_ENDCALL_CALL_BACK_BTN "call_back"
#define GRP_ENDCALL_MSG_BTN "message_button"
-#define GRP_ENDCALL_CREATE_CONT_BTN "create_contact_button"
+#define GRP_ENDCALL_ADD_CONTACT_BTN "add_contact_button"
#define CALLUI_DISPLAY_NAME_LENGTH_MAX (255+1) /**< Voiecall Display Name Max Length */
#define CALLUI_IMAGE_PATH_LENGTH_MAX (255+1) /**< Max File length for image */
#define PART_SWALLOW_CALLER_ID "swallow.caller_id"
#define PART_TEXT_MAIN "text.main"
#define PART_TEXT_SUB "text.sub"
-#define SIGNAL_SHOW_ARROW "show,arrow"
-#define SIGNAL_HIDE_ARROW "hide,arrow"
+#define SIGNAL_SHOW_ARROW "show_manage_calls_btn"
+#define SIGNAL_HIDE_ARROW "hide_manage_calls_btn"
#define PART_TOP_FIRST_BTN "top_first_button"
#define PART_TOP_SECOND_BTN "top_second_button"
#ifndef _CALLUI_VIEW_LAYOUT_H_
#define _CALLUI_VIEW_LAYOUT_H_
-#define COLOR_BG_ALPHA 0 0 0 0
+#define COLOR_BG_ALPHA 0 0 0 0
+
+#define COLOR_WHITE 255 255 255 255
+#define COLOR_WHITE_TRANSP 255 255 255 0
#define VC_FONT_REGULAR "Tizen:style=Regular"
-#define VC_TEXT_CLASS_REGULAR "tizen"
/*
* NBEAT-HD GUI Widget Dimensions
#define MAIN_LAYOUT_W MAIN_SCREEN_W
#define MAIN_LAYOUT_H MAIN_SCREEN_H
-#define NORMAL_HOLD_FONT_SIZE 36
+#define NORMAL_HOLD_FONT_SIZE 36
#define CALLER_INFO_L_PAD 0
#define CALLER_INFO_WIDTH MAIN_SCREEN_W
#define CALLER_INFO_HEIGHT (CALLER_INFO_HEIGHT_LAYOUT_H+INDICATOR_HEIGHT)
#define CALLER_INFO_MAIN_WIDTH 656
-#define CALLER_INFO_STATUS_L_PAD 32
-#define CALLER_INFO_STATUS_T_PAD (INDICATOR_HEIGHT+24)
-#define CALLER_INFO_STATUS_WIDTH CALLER_INFO_MAIN_WIDTH
-#define CALLER_INFO_STATUS_HEIGHT 54
+#define CALL_STATUS_TXT_PAD_LEFT 32
+#define CALL_STATUS_TXT_PAD_TOP (INDICATOR_HEIGHT+24)
+#define CALL_STATUS_TXT_WIDTH CALLER_INFO_MAIN_WIDTH
+#define CALL_STATUS_TXT_HEIGHT 54
#define CALL_STATUS_MAX_TEXT_WIDTH CALLER_INFO_MAIN_WIDTH
-#define VC_CALLER_ID_LAYOUT_L_PAD CALLER_INFO_STATUS_L_PAD
+#define VC_CALLER_ID_LAYOUT_L_PAD CALL_STATUS_TXT_PAD_LEFT
#define VC_CALLER_ID_LAYOUT_WIDTH CALLER_INFO_MAIN_WIDTH
-#define VC_CALLER_ID_LAYOUT_T_PAD (CALLER_INFO_STATUS_T_PAD+CALLER_INFO_STATUS_HEIGHT+33)
+#define VC_CALLER_ID_LAYOUT_T_PAD (CALL_STATUS_TXT_PAD_TOP+CALL_STATUS_TXT_HEIGHT+33)
#define VC_CALLER_ID_LAYOUT_HEIGHT 348
-#define CALLER_INFO_NAME_L_PAD CALLER_INFO_STATUS_L_PAD
+#define CALLER_INFO_NAME_L_PAD CALL_STATUS_TXT_PAD_LEFT
#define CALLER_INFO_NAME_WIDTH CALLER_INFO_MAIN_WIDTH
#define CALLER_INFO_NAME_T_PAD (VC_CALLER_ID_LAYOUT_T_PAD+VC_CALLER_ID_LAYOUT_HEIGHT+42)
#define CALLER_INFO_NAME_HEIGHT 86
#define MULTI_LIST_HEIGHT MAIN_LAYOUT_H
-/* Bottom reject call button*/
-#define BOTTOM_BTN_BG_L_PAD 0
-#define BOTTOM_BTN_BG_WIDTH MAIN_SCREEN_W
-#define BOTTOM_BTN_BG_T_PAD (CALLER_INFO_HEIGHT+ACTION_BAR_LAYOUT_HEIGHT)
-#define BOTTOM_BTN_BG_HEIGHT ENDCALL_BTN_BG_H
-
/* Six buttons layout*/
#define ACTION_BAR_LAYOUT_L_PAD 0
#define ACTION_BAR_LAYOUT_WIDTH MAIN_SCREEN_W
#define CALLER_INFO_NUMBER_T REL_CALLER_INFO_H(CALLER_INFO_NUMBER_T_PAD)
#define CALLER_INFO_NUMBER_B REL_CALLER_INFO_H(CALLER_INFO_NUMBER_T_PAD+CALLER_INFO_NUMBER_HEIGHT)
-#define CALLER_INFO_STATUS_L REL_W(CALLER_INFO_STATUS_L_PAD)
-#define CALLER_INFO_STATUS_R REL_W(CALLER_INFO_STATUS_WIDTH)
-#define CALLER_INFO_STATUS_T REL_H(CALLER_INFO_STATUS_T_PAD)
-#define CALLER_INFO_STATUS_B REL_H(CALLER_INFO_STATUS_T_PAD+CALLER_INFO_STATUS_HEIGHT)
+#define CALLER_INFO_STATUS_L REL_W(CALL_STATUS_TXT_PAD_LEFT)
+#define CALLER_INFO_STATUS_R REL_W(CALL_STATUS_TXT_WIDTH)
+#define CALLER_INFO_STATUS_T REL_H(CALL_STATUS_TXT_PAD_TOP)
+#define CALLER_INFO_STATUS_B REL_H(CALL_STATUS_TXT_PAD_TOP+CALL_STATUS_TXT_HEIGHT)
+
/*
* End of Caller info layout
*/
#include "../../inc/callui-view-caller-info-defines.h"
#include "../../edje_src/edc/callui-color-classes.edc"
+#include "../../edje_src/edc/callui-parts.edc"
#include "../../edje_src/edc/call_edc/edc_image_macro.edc"
#define IMG_SRC_DIR "call_edc"
RESOURCE_IMAGE("call_button_icon_04.png", IMG_SRC_DIR/"call_button_icon_04.png");
RESOURCE_IMAGE("call_inline_btn_close.png", IMG_SRC_DIR/"call_inline_btn_close.png");
+ #include "../../edje_src/edc/call_edc/callui_view_end_call.edc"
#include "../../edje_src/edc/call_edc/callui-view-button-layout.edc"
- #include "../../edje_src/edc/call_edc/callui-view-caller-info.edc"
#include "../../edje_src/edc/call_edc/callui-view-incoming-lock.edc"
#include "../../edje_src/edc/call_edc/callui-view-multi-call-list.edc"
#include "../../edje_src/edc/call_edc/callui-keypad.edc"
+ #include "../../edje_src/edc/call_edc/callui-view-caller-info.edc"
#include "../../edje_src/edc/call_edc/callui-view-main-layout.edc"
- #include "../../edje_src/edc/call_edc/callui_view_end_call.edc"
#include "../../edje_src/edc/call_edc/callui-view-lock-screen.edc"
#include "../../edje_src/edc/call_edc/callui-view-quick-pannel.edc"
#include "../../edje_src/edc/call_edc/callui_view_incoming_active.edc"
Evas_Object *buttons[CALLUI_ACTION_BTN_COUNT];
bool is_available[CALLUI_ACTION_BTN_COUNT];
callui_app_data_t *ad;
+ bool is_disabled;
};
typedef struct _callui_action_bar _callui_action_bar_t;
callui_action_bar_h action_bar = user_data;
+ if (action_bar->is_disabled) {
+ dbg("Ignored. Action bar is in disabled state.");
+ return;
+ }
+
__update_speaker_btn(action_bar);
__update_bluetooth_btn(action_bar);
}
callui_action_bar_h action_bar = user_data;
+ if (action_bar->is_disabled) {
+ dbg("Ignored. Action bar is in disabled state.");
+ return;
+ }
+
__update_mute_btn(action_bar);
}
callui_action_bar_h action_bar = user_data;
+ if (action_bar->is_disabled) {
+ dbg("Ignored. Action bar is in disabled state.");
+ return;
+ }
+
__update_btns_state(action_bar);
__update_all_btns(action_bar);
static callui_result_e __callui_action_bar_init(callui_action_bar_h action_bar, callui_app_data_t *ad)
{
CALLUI_RETURN_VALUE_IF_FAIL(ad->sound_manager, CALLUI_RESULT_FAIL);
+
action_bar->ad = ad;
+ action_bar->is_disabled = false;
Evas_Object *parent = ad->main_ly;
_callui_sdm_add_audio_state_changed_cb(ad->sound_manager, __audio_state_changed_cb, action_bar);
elm_object_part_content_unset(parent, PART_SWALLOW_ACTION_BAR);
evas_object_hide(action_bar->main_layout);
}
+
+void _callui_action_bar_set_disabled_state(callui_action_bar_h action_bar, bool is_disabled)
+{
+ CALLUI_RETURN_IF_FAIL(action_bar);
+
+ if (action_bar->is_disabled == is_disabled) {
+ return;
+ }
+ action_bar->is_disabled = is_disabled;
+
+ if (is_disabled) {
+ int i = 0;
+ for (; i < CALLUI_ACTION_BTN_COUNT; i++) {
+ action_bar->is_available[i] = !is_disabled;
+ }
+ } else {
+ __update_btns_state(action_bar);
+ }
+ __update_all_btns(action_bar);
+}
+
+bool _callui_action_bar_get_disabled_state(callui_action_bar_h action_bar)
+{
+ CALLUI_RETURN_VALUE_IF_FAIL(action_bar, false);
+
+ return action_bar->is_disabled;
+}
caller_info = elm_object_part_content_get(contents, "caller_info");
if (caller_info) {
- elm_object_part_text_set(caller_info, "txt_call_name", "");
- elm_object_part_text_set(caller_info, "txt_phone_num", "");
+ elm_object_part_text_set(caller_info, "contact_name", "");
+ elm_object_part_text_set(caller_info, "phone_number", "");
}
}
#define ENDING_TIMER_INTERVAL 2.0
#define BLINKING_TIMER_INTERVAL 0.5
#define BLINKING_MAX_COUNT 5
+#define REPLY_BTNS_DIVIDER_WIDTH 2
+
+#define AO016 217, 217, 217, 255
struct _callui_view_callend {
call_view_data_base_t base_view;
+ Evas_Object *caller_info;
+
Evas_Object *create_update_popup;
+ Evas_Object *reply_btns_box;
+ Ecore_Idler *min_anim_idler;
char call_number[CALLUI_PHONE_DISP_NUMBER_LENGTH_MAX];
static callui_result_e __set_single_call_info(callui_view_callend_h vd, const callui_call_data_t *call_data);
-static callui_result_e __create_call_back_btn(callui_view_callend_h vd);
-static callui_result_e __create_message_btn(callui_view_callend_h vd);
+static callui_result_e __create_reply_btns_panel(callui_view_callend_h vd);
+static Evas_Object *__create_call_back_btn(callui_view_callend_h vd);
+static Evas_Object *__create_message_btn(callui_view_callend_h vd);
+static Evas_Object *__create_reply_btns_divider(callui_view_callend_h vd);
+
static callui_result_e __create_single_contact_info(callui_view_callend_h vd, const callui_call_data_t *call_data);
static void __set_emergency_call_info(callui_view_callend_h vd, const callui_call_data_t *call_data);
static void __set_conference_call_info(callui_view_callend_h vd, const callui_call_data_t *call_data);
-static void __bg_mouse_down_cb(void *data, Evas_Object *o, const char *emission, const char *source);
+static void __bg_mouse_down_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __minimize_anim_completed_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void __maximize_anim_completed_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+static void __run_minimize_animation(callui_view_callend_h vd);
+static void __run_maximize_animation(callui_view_callend_h vd);
static void __launch_contact_app(const char *operation, const char *call_number);
return callend_view;
}
+static Eina_Bool __minimize_animation_idler_cb(void *data)
+{
+ CALLUI_RETURN_VALUE_IF_FAIL(data, ECORE_CALLBACK_CANCEL);
+
+ callui_view_callend_h vd = data;
+
+ vd->min_anim_idler = NULL;
+
+ __run_minimize_animation(vd);
+
+ return ECORE_CALLBACK_CANCEL;
+}
+
static callui_result_e __callui_view_callend_oncreate(call_view_data_base_t *view_data, void *appdata)
{
CALLUI_RETURN_VALUE_IF_FAIL(view_data, CALLUI_RESULT_INVALID_PARAM);
callui_result_e res = __create_main_content(vd);
CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
- return __update_displayed_data(vd);
+ res = __update_displayed_data(vd);
+ CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
+
+ vd->min_anim_idler = ecore_idler_add(__minimize_animation_idler_cb, vd);
+
+ return res;
}
-static void __bg_mouse_down_cb(void *data, Evas_Object *o, const char *emission, const char *source)
+static void __bg_mouse_down_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
{
CALLUI_RETURN_IF_FAIL(data);
free(vd->time_string);
+ if (vd->min_anim_idler) {
+ ecore_idler_del(vd->min_anim_idler);
+ }
+
edje_object_signal_callback_del_full(_EDJ(vd->base_view.contents), "mouse,down,*", "background", __bg_mouse_down_cb, vd);
DELETE_EVAS_OBJECT(vd->create_update_popup);
static callui_result_e __create_main_content(callui_view_callend_h vd)
{
callui_app_data_t *ad = vd->base_view.ad;
+ CALLUI_RETURN_VALUE_IF_FAIL(ad->main_ly, CALLUI_RESULT_FAIL);
- vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_ENDCALL_MAIN_LAYOUT);
+ vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_VIEW_MAIN_LY);
CALLUI_RETURN_VALUE_IF_FAIL(vd->base_view.contents, CALLUI_RESULT_ALLOCATION_FAIL);
elm_object_part_content_set(ad->main_ly, "elm.swallow.content", vd->base_view.contents);
- edje_object_signal_callback_add(_EDJ(vd->base_view.contents), "mouse,down,*", "background", __bg_mouse_down_cb, vd);
+ elm_object_signal_callback_add(vd->base_view.contents,
+ "mouse,down,*", "dim_bg", __bg_mouse_down_cb, vd);
+ elm_object_signal_callback_add(vd->base_view.contents,
+ "minimize.anim.finished", "view_main_ly", __minimize_anim_completed_cb, vd);
+ elm_object_signal_callback_add(vd->base_view.contents,
+ "maximize.anim.finished", "view_main_ly", __maximize_anim_completed_cb, vd);
+
+ vd->caller_info = _callui_load_edj(vd->base_view.contents, EDJ_NAME, GRP_CALLER_INFO);
+ CALLUI_RETURN_VALUE_IF_FAIL(vd->caller_info, CALLUI_RESULT_ALLOCATION_FAIL);
+ elm_object_part_content_set(vd->base_view.contents, "caller_info", vd->caller_info);
+
+ _callui_action_bar_show(ad->action_bar);
+ _callui_action_bar_set_disabled_state(ad->action_bar, true);
+
+ Evas_Object *end_call_btn = _callui_create_end_call_button(vd->base_view.contents, NULL, NULL);
+ CALLUI_RETURN_VALUE_IF_FAIL(end_call_btn, CALLUI_RESULT_ALLOCATION_FAIL);
+ evas_object_freeze_events_set(end_call_btn, EINA_TRUE);
return CALLUI_RESULT_OK;
}
-static callui_result_e __create_call_back_btn(callui_view_callend_h vd)
+static Evas_Object *__create_call_back_btn(callui_view_callend_h vd)
{
- Evas_Object *button_call_back = _callui_load_edj(vd->base_view.contents, EDJ_NAME, GRP_ENDCALL_CALL_BACK_BTN);
- CALLUI_RETURN_VALUE_IF_FAIL(button_call_back, CALLUI_RESULT_ALLOCATION_FAIL);
+ Evas_Object *button_call_back = _callui_load_edj(vd->reply_btns_box, EDJ_NAME, GRP_ENDCALL_CALL_BACK_BTN);
+ CALLUI_RETURN_NULL_IF_FAIL(button_call_back);
edje_object_signal_callback_add(_EDJ(button_call_back), "clicked", "edje", __call_back_btn_click_cb, vd);
- elm_object_translatable_part_text_set(button_call_back,
- "end_btn_text", "IDS_CALL_BUTTON_CALL");
- elm_object_part_content_set(vd->base_view.contents, "button_call_back", button_call_back);
+ elm_object_translatable_part_text_set(button_call_back, "text", "IDS_CALL_BUTTON_CALL");
- return CALLUI_RESULT_OK;
+ evas_object_size_hint_weight_set(button_call_back, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(button_call_back, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(button_call_back);
+
+ return button_call_back;
}
-static callui_result_e __create_message_btn(callui_view_callend_h vd)
+static Evas_Object *__create_message_btn(callui_view_callend_h vd)
{
- Evas_Object *button_message = _callui_load_edj(vd->base_view.contents, EDJ_NAME, GRP_ENDCALL_MSG_BTN);
- CALLUI_RETURN_VALUE_IF_FAIL(button_message, CALLUI_RESULT_ALLOCATION_FAIL);
+ Evas_Object *button_message = _callui_load_edj(vd->reply_btns_box, EDJ_NAME, GRP_ENDCALL_MSG_BTN);
+ CALLUI_RETURN_NULL_IF_FAIL(button_message);
edje_object_signal_callback_add(_EDJ(button_message), "clicked", "edje", __msg_btn_click_cb, vd);
- elm_object_translatable_part_text_set(button_message,
- "end_btn_text", "IDS_COM_BODY_MESSAGE");
- elm_object_part_content_set(vd->base_view.contents, "button_message_back", button_message);
+ elm_object_translatable_part_text_set(button_message, "text", "IDS_COM_BODY_MESSAGE");
- return CALLUI_RESULT_OK;
+ evas_object_size_hint_weight_set(button_message, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(button_message, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(button_message);
+
+ return button_message;
}
static callui_result_e __create_single_contact_info(callui_view_callend_h vd, const callui_call_data_t *call_data)
const char *call_name = call_data->call_ct_info.call_disp_name;
if (!(call_name && call_name[0] != '\0')) {
- Evas_Object *button_create = _callui_load_edj(vd->base_view.contents, EDJ_NAME, GRP_ENDCALL_CREATE_CONT_BTN);
- CALLUI_RETURN_VALUE_IF_FAIL(button_create, CALLUI_RESULT_ALLOCATION_FAIL);
- evas_object_event_callback_add(button_create, EVAS_CALLBACK_MOUSE_UP, __add_contact_btn_click_cb, vd);
- elm_object_part_content_set(vd->base_view.contents, "swallow.create_contact", button_create);
+ Evas_Object *add_contact_btn = _callui_load_edj(vd->base_view.contents, EDJ_NAME, GRP_ENDCALL_ADD_CONTACT_BTN);
+ CALLUI_RETURN_VALUE_IF_FAIL(add_contact_btn, CALLUI_RESULT_ALLOCATION_FAIL);
+ evas_object_event_callback_add(add_contact_btn, EVAS_CALLBACK_MOUSE_UP, __add_contact_btn_click_cb, vd);
+
+ elm_object_part_content_set(vd->caller_info, "ec_add_contact_btn", add_contact_btn);
+ elm_object_signal_emit(vd->caller_info, "set_ec_add_cont_btn_enabled", "caller_info");
+
+ /* maximized contact info */
+ elm_object_signal_emit(vd->caller_info, "1line", "caller_name");
+ elm_object_part_text_set(vd->caller_info, "contact_name", vd->call_number);
+
+ /* minimized contact info */
+ elm_object_part_text_set(vd->caller_info, "ec_contact_name", vd->call_number);
+ elm_object_translatable_part_text_set(vd->caller_info, "ec_phone_number", "IDS_COM_OPT_ADD_TO_CONTACTS");
- elm_object_part_text_set(vd->base_view.contents, "contact_name", vd->call_number);
- elm_object_translatable_part_text_set(vd->base_view.contents, "contact_number", "IDS_COM_OPT_ADD_TO_CONTACTS");
} else {
- elm_object_part_text_set(vd->base_view.contents, "contact_name", call_name);
- elm_object_part_text_set(vd->base_view.contents, "contact_number", vd->call_number);
+ /* maximized contact info */
+ elm_object_signal_emit(vd->caller_info, "2line", "caller_name");
+ elm_object_part_text_set(vd->caller_info, "contact_name", call_name);
+ elm_object_part_text_set(vd->caller_info, "phone_number", vd->call_number);
+
+ /* minimized contact info */
+ elm_object_part_text_set(vd->caller_info, "ec_contact_name", call_name);
+ elm_object_part_text_set(vd->caller_info, "ec_phone_number", vd->call_number);
}
return CALLUI_RESULT_OK;
}
+static Evas_Object *__create_reply_btns_divider(callui_view_callend_h vd)
+{
+ Evas_Object *divider = evas_object_rectangle_add(vd->reply_btns_box);
+ CALLUI_RETURN_NULL_IF_FAIL(divider);
+
+ evas_object_size_hint_fill_set(divider, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_color_set(divider, AO016);
+ evas_object_size_hint_min_set(divider, ELM_SCALE_SIZE(REPLY_BTNS_DIVIDER_WIDTH), 0);
+ evas_object_show(divider);
+
+ return divider;
+}
+
+static callui_result_e __create_reply_btns_panel(callui_view_callend_h vd)
+{
+ vd->reply_btns_box = elm_box_add(vd->base_view.contents);
+ CALLUI_RETURN_VALUE_IF_FAIL(vd->reply_btns_box, CALLUI_RESULT_ALLOCATION_FAIL);
+ elm_box_horizontal_set(vd->reply_btns_box, EINA_TRUE);
+
+ Evas_Object *call_back_btn = __create_call_back_btn(vd);
+ CALLUI_RETURN_VALUE_IF_FAIL(call_back_btn, CALLUI_RESULT_ALLOCATION_FAIL);
+
+ Evas_Object *message_btn = __create_message_btn(vd);
+ CALLUI_RETURN_VALUE_IF_FAIL(message_btn, CALLUI_RESULT_ALLOCATION_FAIL);
+
+ Evas_Object *divider = __create_reply_btns_divider(vd);
+ CALLUI_RETURN_VALUE_IF_FAIL(divider, CALLUI_RESULT_ALLOCATION_FAIL);
+
+ elm_box_pack_end(vd->reply_btns_box, call_back_btn);
+ elm_box_pack_end(vd->reply_btns_box, divider);
+ elm_box_pack_end(vd->reply_btns_box, message_btn);
+ evas_object_show(vd->reply_btns_box);
+
+ evas_object_freeze_events_set(vd->reply_btns_box, EINA_TRUE);
+ elm_object_part_content_set(vd->base_view.contents, "reply_btns", vd->reply_btns_box);
+
+ return CALLUI_RESULT_OK;
+}
+
static callui_result_e __set_single_call_info(callui_view_callend_h vd, const callui_call_data_t *call_data)
{
const char *file_path = call_data->call_ct_info.caller_id_path;
if (strcmp(file_path, "default") != 0) {
Evas_Object *layout = _callui_create_thumbnail(vd->base_view.contents, file_path, THUMBNAIL_138);
- elm_object_part_content_set(vd->base_view.contents, "caller_id", layout);
- elm_object_signal_emit(vd->base_view.contents, "hide_def_caller_id", "main_end_call");
+ elm_object_part_content_set(vd->caller_info, "contact_icon", layout);
+ elm_object_signal_emit(vd->caller_info, "hide_default_cid", "");
} else {
- elm_object_signal_emit(vd->base_view.contents, "show_def_caller_id", "main_end_call");
+ elm_object_signal_emit(vd->caller_info, "show_default_cid", "");
}
if (!(call_name && call_name[0] != '\0') && !(call_number && call_number[0] != '\0')) {
- elm_object_translatable_part_text_set(vd->base_view.contents,
- "contact_name", "IDS_CALL_BODY_UNKNOWN");
+ elm_object_translatable_part_text_set(vd->caller_info, "contact_name", "IDS_CALL_BODY_UNKNOWN");
+ elm_object_translatable_part_text_set(vd->caller_info, "ec_contact_name", "IDS_CALL_BODY_UNKNOWN");
return CALLUI_RESULT_OK;
}
-
strncpy(vd->call_number, call_number, sizeof(vd->call_number));
- callui_result_e res = __create_call_back_btn(vd);
- CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
- res = __create_message_btn(vd);
+ callui_result_e res = __create_single_contact_info(vd, call_data);
CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
- res = __create_single_contact_info(vd, call_data);
+ res = __create_reply_btns_panel(vd);
CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
+ elm_object_signal_emit(vd->base_view.contents, "show_reply_btns", "view_main_ly");
+
return res;
}
static void __set_emergency_call_info(callui_view_callend_h vd, const callui_call_data_t *call_data)
{
- elm_object_signal_emit(vd->base_view.contents, "set_emergency_mode", "main_end_call");
- elm_object_translatable_part_text_set(vd->base_view.contents, "contact_name", "IDS_COM_BODY_EMERGENCY_NUMBER");
+ elm_object_signal_emit(vd->caller_info, "set_emergency_mode", "");
+
+ // maximized contact info
+ elm_object_signal_emit(vd->caller_info, "1line", "caller_name");
+ elm_object_translatable_part_text_set(vd->caller_info, "contact_name", "IDS_COM_BODY_EMERGENCY_NUMBER");
+
+ // minimized contact info
+ elm_object_translatable_part_text_set(vd->caller_info, "ec_contact_name", "IDS_COM_BODY_EMERGENCY_NUMBER");
}
static void __set_conference_call_info(callui_view_callend_h vd, const callui_call_data_t *call_data)
{
- elm_object_signal_emit(vd->base_view.contents, "set_conference_mode", "main_end_call");
- elm_object_translatable_part_text_set(vd->base_view.contents,
- "contact_name", "IDS_CALL_BODY_CONFERENCE");
+ elm_object_signal_emit(vd->caller_info, "set_conference_mode", "");
char *status = _("IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB");
char buf[CALLUI_BUF_MEMBER_SIZE] = { 0 };
snprintf(buf, CALLUI_BUF_MEMBER_SIZE, status, call_data->conf_member_count);
- elm_object_part_text_set(vd->base_view.contents, "contact_number", buf);
+
+ // maximized contact info
+ elm_object_signal_emit(vd->caller_info, "2line", "caller_name");
+ elm_object_translatable_part_text_set(vd->caller_info, "contact_name", "IDS_CALL_BODY_CONFERENCE");
+ elm_object_part_text_set(vd->caller_info, "phone_number", buf);
+
+ // minimized contact info
+ elm_object_translatable_part_text_set(vd->caller_info, "ec_contact_name", "IDS_CALL_BODY_CONFERENCE");
+ elm_object_part_text_set(vd->caller_info, "ec_phone_number", buf);
}
static callui_result_e __set_ended_call_duration_sting(callui_view_callend_h vd, callui_call_data_t *call_data)
return CALLUI_RESULT_OK;
}
+static void __minimize_anim_completed_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ callui_view_callend_h vd = data;
+
+ if (vd->reply_btns_box) {
+ evas_object_freeze_events_set(vd->reply_btns_box, EINA_FALSE);
+ }
+
+ callui_result_e res = __create_ending_timer(vd);
+ CALLUI_RETURN_IF_FAIL(res == CALLUI_RESULT_OK);
+}
+
+static void __maximize_anim_completed_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+ callui_view_callend_h vd = data;
+
+ callui_result_e res = _callui_manager_dial_voice_call(vd->base_view.ad->call_manager, vd->call_number, CALLUI_SIM_SLOT_DEFAULT);
+ if (res != CALLUI_RESULT_OK) {
+ err("_callui_manager_dial_voice_call() failed. res[%d]", res);
+ _callui_common_exit_app();
+ }
+}
+
+static void __run_minimize_animation(callui_view_callend_h vd)
+{
+ callui_app_data_t *ad = vd->base_view.ad;
+
+ elm_object_signal_emit(vd->caller_info, "minimize", "caller_info");
+ elm_object_signal_emit(vd->base_view.contents, "minimize", "view_main_ly");
+ elm_object_signal_emit(ad->main_ly, "minimize", "app_main_ly");
+}
+
+static void __run_maximize_animation(callui_view_callend_h vd)
+{
+ callui_app_data_t *ad = vd->base_view.ad;
+
+ __delete_ending_timer(vd);
+ elm_object_part_text_set(vd->base_view.contents, "call_txt_status", "");
+
+ if (vd->reply_btns_box) {
+ evas_object_freeze_events_set(vd->reply_btns_box, EINA_TRUE);
+ }
+
+ _callui_action_bar_show(ad->action_bar);
+ _callui_action_bar_set_disabled_state(ad->action_bar, true);
+
+ elm_object_signal_emit(vd->caller_info, "maximize", "caller_info");
+ elm_object_signal_emit(vd->base_view.contents, "maximize", "view_main_ly");
+ elm_object_signal_emit(ad->main_ly, "maximize", "app_main_ly");
+}
+
static callui_result_e __update_displayed_data(callui_view_callend_h vd)
{
callui_app_data_t *ad = vd->base_view.ad;
res = __set_single_call_info(vd, call_data);
CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
}
-
res = __set_ended_call_duration_sting(vd, call_data);
CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
- res = __create_ending_timer(vd);
- CALLUI_RETURN_VALUE_IF_FAIL(res == CALLUI_RESULT_OK, res);
-
evas_object_show(vd->base_view.contents);
evas_object_hide(ad->main_ly);
static void __call_back_btn_click_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
{
CALLUI_RETURN_IF_FAIL(data);
- callui_view_callend_h vd = (callui_view_callend_h)data;
-
- edje_object_signal_callback_del_full(_EDJ(obj), "clicked", "edje", __call_back_btn_click_cb, vd);
-
- __delete_ending_timer(vd);
- callui_result_e res = _callui_manager_dial_voice_call(vd->base_view.ad->call_manager, vd->call_number, CALLUI_SIM_SLOT_DEFAULT);
- if (res != CALLUI_RESULT_OK) {
- err("_callui_manager_dial_voice_call() failed. res[%d]", res);
- }
+ __run_maximize_animation(data);
}
static char *__vcui_endcall_get_item_text(void *data, Evas_Object *obj, const char *part)
edje_object_signal_callback_del_full(_EDJ(obj), "clicked", "edje", __msg_btn_click_cb, vd);
_callui_common_launch_msg_composer(ad, vd->call_number);
+
+ _callui_common_exit_app();
}
static Eina_Bool __ending_timer_expired_cb(void *data)
{
callui_app_data_t *ad = vd->base_view.ad;
- vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_MAIN_LY);
+ vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_VIEW_MAIN_LY);
CALLUI_RETURN_VALUE_IF_FAIL(vd->base_view.contents, CALLUI_RESULT_ALLOCATION_FAIL);
elm_object_part_content_set(ad->main_ly, "elm.swallow.content", vd->base_view.contents);
if (strlen(call_name) == 0) {
_callui_show_caller_info_name(ad, disp_number);
elm_object_signal_emit(vd->caller_info, "1line", "caller_name");
- } else if (now_call_data->is_emergency == EINA_TRUE) {
+ } else if (now_call_data->is_emergency) {
_callui_show_caller_info_name(ad, call_name);
elm_object_signal_emit(vd->caller_info, "1line", "caller_name");
} else {
_callui_show_caller_info_status(ad, "IDS_CALL_POP_DIALLING");
- if (now_call_data->is_emergency == EINA_TRUE) {
+ if (now_call_data->is_emergency) {
elm_object_signal_emit(vd->caller_info, "set_emergency_mode", "");
} else {
if (strcmp(file_path, "default") != 0) {
Evas_Object *_callui_create_end_call_button(Evas_Object *parent, Evas_Smart_Cb cb_func, void *data)
{
CALLUI_RETURN_VALUE_IF_FAIL(parent != NULL, NULL);
- CALLUI_RETURN_VALUE_IF_FAIL(cb_func != NULL, NULL);
Evas_Object *btn = elm_object_part_content_get(parent, PART_END_BTN);
if (!btn) {
elm_object_part_content_set(btn, "elm.swallow.content", icon);
elm_object_part_content_set(parent, PART_END_BTN, btn);
- evas_object_smart_callback_add(btn, "clicked", cb_func, data);
+ if (cb_func) {
+ evas_object_smart_callback_add(btn, "clicked", cb_func, data);
+ }
}
evas_object_show(btn);
void _callui_show_caller_info_name(void *data, const char *name)
{
Evas_Object *layout = __callui_get_caller_info_layout(data);
- elm_object_translatable_part_text_set(layout, "txt_call_name", name);
+ elm_object_translatable_part_text_set(layout, "contact_name", name);
}
/* Caller info number */
void _callui_show_caller_info_number(void *data, const char *number)
{
Evas_Object *layout = __callui_get_caller_info_layout(data);
- elm_object_part_text_set(layout, "txt_phone_num", number);
+ elm_object_part_text_set(layout, "phone_number", number);
}
/* Caller info status*/
dbg("..");
Evas_Object *layout = _callui_create_thumbnail(contents, path, THUMBNAIL_138);
- elm_object_part_content_set(contents, "caller_id", layout);
+ elm_object_part_content_set(contents, "contact_icon", layout);
/*Hide default caller-ID*/
elm_object_signal_emit(contents, "hide_default_cid", "");
if (strcmp(file_path, "default") != 0) {
Evas_Object *layout = _callui_create_thumbnail(vd->base_view.contents, file_path, THUMBNAIL_98);
- elm_object_part_content_set(vd->base_view.contents, "caller_id", layout);
+ elm_object_part_content_set(vd->base_view.contents, "contact_icon", layout);
elm_object_signal_emit(vd->base_view.contents, "hide_def_caller_id", "main_active_noti_call");
} else {
elm_object_signal_emit(vd->base_view.contents, "show_def_caller_id", "main_active_noti_call");
{
callui_app_data_t *ad = vd->base_view.ad;
- vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_MAIN_LY);
+ vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_VIEW_MAIN_LY);
CALLUI_RETURN_VALUE_IF_FAIL(vd->base_view.contents, CALLUI_RESULT_ALLOCATION_FAIL);
elm_object_part_content_set(ad->main_ly, "elm.swallow.content", vd->base_view.contents);
CALLUI_RETURN_IF_FAIL(user_data);
callui_vm_h vm = user_data;
+ callui_app_data_t *ad = vm->ad;
- if (!(vm->cur_view_type == CALLUI_VIEW_ENDCALL && call_event_type == CALLUI_CALL_EVENT_END)) {
- __auto_change_view(vm, event_info);
+ if (vm->cur_view_type == CALLUI_VIEW_ENDCALL) {
+ switch (call_event_type) {
+ case CALLUI_CALL_EVENT_END:
+ dbg("Ignored. Already in end call view.");
+ return;
+ case CALLUI_CALL_EVENT_INCOMING:
+ elm_object_signal_emit(ad->main_ly, "maximize_no_anim", "app_main_ly");
+ break;
+ default:
+ break;
+ }
+ _callui_action_bar_set_disabled_state(ad->action_bar, false);
}
+ __auto_change_view(vm, event_info);
}
static void __end_call_called_cb(void *user_data, unsigned int call_id, callui_call_release_type_e release_type)
callui_app_data_t *ad = vd->base_view.ad;
/* Main Layout */
- vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_MAIN_LY);
+ vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_VIEW_MAIN_LY);
CALLUI_RETURN_VALUE_IF_FAIL(vd->base_view.contents, CALLUI_RESULT_ALLOCATION_FAIL);
elm_object_part_content_set(ad->main_ly, "elm.swallow.content", vd->base_view.contents);
/* Manage button Layout */
Evas_Object *manage_calls_ly = _callui_load_edj(vd->base_view.contents, EDJ_NAME, GRP_MANAGE_CALLS);
CALLUI_RETURN_VALUE_IF_FAIL(manage_calls_ly, CALLUI_RESULT_ALLOCATION_FAIL);
- elm_object_part_content_set(vd->caller_info, "manage_calls_icon_swallow", manage_calls_ly);
+ elm_object_part_content_set(vd->caller_info, "manage_calls_btn", manage_calls_ly);
edje_object_signal_callback_add(_EDJ(manage_calls_ly), "mouse,clicked,1", "btn", __manage_calls_btn_clicked_cb, vd);
_callui_action_bar_show(ad->action_bar);
FREE(vd->base_view.call_duration_tm);
if (is_held) {
- elm_object_signal_emit(vd->caller_info, "hide,arrow", "");
+ elm_object_signal_emit(vd->caller_info, "hide_manage_calls_btn", "");
_callui_show_caller_info_status(ad, "IDS_CALL_BODY_ON_HOLD_ABB");
} else {
- elm_object_signal_emit(vd->caller_info, "show,arrow", "");
+ elm_object_signal_emit(vd->caller_info, "show_manage_calls_btn", "");
vd->base_view.call_duration_tm = _callui_stp_get_call_duration(ad->state_provider, CALLUI_CALL_DATA_ACTIVE);
CALLUI_RETURN_VALUE_IF_FAIL(vd->base_view.call_duration_tm, CALLUI_RESULT_ALLOCATION_FAIL);
if (strlen(call_name) == 0) {
if (strlen(call_number) == 0) {
elm_object_translatable_part_text_set(eo,
- "txt_call_name", "IDS_CALL_BODY_UNKNOWN");
+ "contact_name", "IDS_CALL_BODY_UNKNOWN");
} else {
- elm_object_part_text_set(eo, "txt_call_name", call_number);
+ elm_object_part_text_set(eo, "contact_name", call_number);
}
} else {
char *convert_text = evas_textblock_text_utf8_to_markup(NULL, call_name);
if (convert_text) {
- elm_object_part_text_set(eo, "txt_call_name", convert_text);
+ elm_object_part_text_set(eo, "contact_name", convert_text);
free(convert_text);
convert_text = NULL;
} else {
}
if (count > 1) {
elm_object_translatable_part_text_set(eo,
- "txt_call_name", "IDS_CALL_OPT_CONFERENCE_CALL");
+ "contact_name", "IDS_CALL_OPT_CONFERENCE_CALL");
}
}
callui_app_data_t *ad = vd->base_view.ad;
CALLUI_RETURN_VALUE_IF_FAIL(ad->main_ly, CALLUI_RESULT_FAIL);
- vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_MAIN_LY);
+ vd->base_view.contents = _callui_load_edj(ad->main_ly, EDJ_NAME, GRP_VIEW_MAIN_LY);
CALLUI_RETURN_VALUE_IF_FAIL(vd->base_view.contents, CALLUI_RESULT_ALLOCATION_FAIL);
elm_object_part_content_set(ad->main_ly, "elm.swallow.content", vd->base_view.contents);