tizen 2.4 release accepted/tizen_2.4_mobile accepted/tizen/2.4/mobile/20151029.041710 submit/tizen_2.4/20151028.062537 tizen_2.4_mobile_release
authorjk7744.park <jk7744.park@samsung.com>
Sat, 24 Oct 2015 06:36:48 +0000 (15:36 +0900)
committerjk7744.park <jk7744.park@samsung.com>
Sat, 24 Oct 2015 06:36:48 +0000 (15:36 +0900)
325 files changed:
.gitignore [new file with mode: 0644]
CMakeLists.txt [new file with mode: 0755]
LICENSE [new file with mode: 0644]
include/callui-common.h [new file with mode: 0644]
include/callui-keypad.h [new file with mode: 0755]
include/callui-view-active-incoming-call.h [new file with mode: 0644]
include/callui-view-callend.h [new file with mode: 0644]
include/callui-view-caller-info-defines.h [new file with mode: 0644]
include/callui-view-caller-info-metric.h [new file with mode: 0644]
include/callui-view-circle.h [new file with mode: 0755]
include/callui-view-dialing.h [new file with mode: 0644]
include/callui-view-elements-defines.h [new file with mode: 0644]
include/callui-view-elements.h [new file with mode: 0644]
include/callui-view-incoming-call.h [new file with mode: 0644]
include/callui-view-incoming-lock.h [new file with mode: 0644]
include/callui-view-layout-hd.h [new file with mode: 0644]
include/callui-view-layout-wvga.h [new file with mode: 0755]
include/callui-view-lock-screen.h [new file with mode: 0755]
include/callui-view-manager.h [new file with mode: 0644]
include/callui-view-multi-call-conf.h [new file with mode: 0755]
include/callui-view-multi-call-list.h [new file with mode: 0755]
include/callui-view-multi-call-split.h [new file with mode: 0644]
include/callui-view-quickpanel.h [new file with mode: 0644]
include/callui-view-single-call.h [new file with mode: 0644]
include/callui.h [new file with mode: 0755]
org.tizen.call-ui.efl [new file with mode: 0644]
org.tizen.call-ui.manifest [new file with mode: 0755]
org.tizen.call-ui.xml [new file with mode: 0755]
packaging/org.tizen.call-ui.spec [new file with mode: 0755]
po/CMakeLists.txt [new file with mode: 0644]
po/ar.po [new file with mode: 0644]
po/az.po [new file with mode: 0644]
po/bg.po [new file with mode: 0644]
po/ca.po [new file with mode: 0644]
po/cs.po [new file with mode: 0644]
po/da.po [new file with mode: 0644]
po/de.po [new file with mode: 0644]
po/el_GR.po [new file with mode: 0644]
po/en.po [new file with mode: 0644]
po/en_PH.po [new file with mode: 0644]
po/en_US.po [new file with mode: 0644]
po/es_ES.po [new file with mode: 0644]
po/es_US.po [new file with mode: 0644]
po/et.po [new file with mode: 0644]
po/eu.po [new file with mode: 0644]
po/fi.po [new file with mode: 0644]
po/fr.po [new file with mode: 0644]
po/fr_CA.po [new file with mode: 0644]
po/ga.po [new file with mode: 0644]
po/gl.po [new file with mode: 0644]
po/hi.po [new file with mode: 0644]
po/hr.po [new file with mode: 0644]
po/hu.po [new file with mode: 0644]
po/hy.po [new file with mode: 0644]
po/is.po [new file with mode: 0644]
po/it_IT.po [new file with mode: 0644]
po/ja_JP.po [new file with mode: 0644]
po/ka.po [new file with mode: 0644]
po/kk.po [new file with mode: 0644]
po/ko_KR.po [new file with mode: 0644]
po/lt.po [new file with mode: 0644]
po/lv.po [new file with mode: 0644]
po/mk.po [new file with mode: 0644]
po/nb.po [new file with mode: 0644]
po/nl.po [new file with mode: 0644]
po/pl.po [new file with mode: 0644]
po/pt_BR.po [new file with mode: 0644]
po/pt_PT.po [new file with mode: 0644]
po/ro.po [new file with mode: 0644]
po/ru_RU.po [new file with mode: 0644]
po/sk.po [new file with mode: 0644]
po/sl.po [new file with mode: 0644]
po/sr.po [new file with mode: 0644]
po/sv.po [new file with mode: 0644]
po/tr_TR.po [new file with mode: 0644]
po/uk.po [new file with mode: 0644]
po/uz.po [new file with mode: 0644]
po/zh_CN.po [new file with mode: 0644]
po/zh_HK.po [new file with mode: 0644]
po/zh_TW.po [new file with mode: 0644]
res/call_edc/call.edc [new file with mode: 0755]
res/call_edc/callui-keypad.edc [new file with mode: 0755]
res/call_edc/callui-view-button-layout.edc [new file with mode: 0755]
res/call_edc/callui-view-caller-info.edc [new file with mode: 0755]
res/call_edc/callui-view-elements.edc [new file with mode: 0644]
res/call_edc/callui-view-incoming-lock.edc [new file with mode: 0755]
res/call_edc/callui-view-lock-screen.edc [new file with mode: 0755]
res/call_edc/callui-view-main-layout.edc [new file with mode: 0644]
res/call_edc/callui-view-multi-call-list.edc [new file with mode: 0755]
res/call_edc/callui-view-one-hold-in-conference.edc [new file with mode: 0644]
res/call_edc/callui-view-quick-pannel-landscape.edc [new file with mode: 0644]
res/call_edc/callui-view-quick-pannel.edc [new file with mode: 0644]
res/call_edc/callui_view_end_call.edc [new file with mode: 0644]
res/call_edc/callui_view_incoming_active.edc [new file with mode: 0644]
res/call_edc/edc_image_macro.edc [new file with mode: 0755]
res/callui-color-classes.h [new file with mode: 0644]
res/images/Call_button_bg_accept_reject.png [new file with mode: 0755]
res/images/Call_button_bg_reject.png [new file with mode: 0755]
res/images/Call_controller.png [new file with mode: 0755]
res/images/PUT_IMAGES_HERE [new file with mode: 0755]
res/images/background.png [new file with mode: 0644]
res/images/background_dim.png [new file with mode: 0644]
res/images/button_edit_bg_new.png [new file with mode: 0644]
res/images/call_btn_circle.png [new file with mode: 0755]
res/images/call_btn_circle_02.png [new file with mode: 0644]
res/images/call_btn_ic_accept.png [new file with mode: 0644]
res/images/call_btn_ic_end.png [new file with mode: 0644]
res/images/call_btn_ic_reject.png [new file with mode: 0644]
res/images/call_btn_ic_split.png [new file with mode: 0644]
res/images/call_button_accept_arrow.png [new file with mode: 0755]
res/images/call_button_accept_circle_arrow.png [new file with mode: 0755]
res/images/call_button_bg_line_accept_reject.png [new file with mode: 0755]
res/images/call_button_bg_masking.png [new file with mode: 0755]
res/images/call_button_circle.png [new file with mode: 0755]
res/images/call_button_div_01.png [new file with mode: 0755]
res/images/call_button_div_02.png [new file with mode: 0755]
res/images/call_button_div_03.png [new file with mode: 0755]
res/images/call_button_div_04.png [new file with mode: 0755]
res/images/call_button_icon_01.png [new file with mode: 0755]
res/images/call_button_icon_02.png [new file with mode: 0755]
res/images/call_button_icon_03.png [new file with mode: 0755]
res/images/call_button_icon_04.png [new file with mode: 0755]
res/images/call_button_reject_arrow.png [new file with mode: 0755]
res/images/call_button_reject_circle_arrow.png [new file with mode: 0755]
res/images/call_button_swap.png [new file with mode: 0755]
res/images/call_claro.png [new file with mode: 0755]
res/images/call_dual_sim_1.png [new file with mode: 0755]
res/images/call_dual_sim_2.png [new file with mode: 0755]
res/images/call_dual_sim_bg.png [new file with mode: 0755]
res/images/call_during_record.png [new file with mode: 0755]
res/images/call_during_volume.png [new file with mode: 0755]
res/images/call_extra_merge.png [new file with mode: 0755]
res/images/call_extra_play.png [new file with mode: 0755]
res/images/call_extra_split.png [new file with mode: 0755]
res/images/call_extra_swap.png [new file with mode: 0755]
res/images/call_extra_volume.png [new file with mode: 0755]
res/images/call_ic_controll_01.png [new file with mode: 0755]
res/images/call_ic_controll_02.png [new file with mode: 0755]
res/images/call_inline_button_close.png [new file with mode: 0755]
res/images/call_inline_button_close_1.png [new file with mode: 0755]
res/images/call_inline_button_open.png [new file with mode: 0755]
res/images/call_lock_icon.png [new file with mode: 0755]
res/images/call_multi_hold_bg.png [new file with mode: 0644]
res/images/call_multi_hold_btn_merge_bg.png [new file with mode: 0644]
res/images/call_multi_hold_btn_swap_bg.png [new file with mode: 0644]
res/images/call_nextel.png [new file with mode: 0755]
res/images/call_oi.png [new file with mode: 0755]
res/images/call_open_arrow_01.png [new file with mode: 0755]
res/images/call_open_arrow_2.png [new file with mode: 0755]
res/images/call_open_bg.png [new file with mode: 0755]
res/images/call_pattern_bg.png [new file with mode: 0755]
res/images/call_photo_id.png [new file with mode: 0755]
res/images/call_photo_id_98.png [new file with mode: 0644]
res/images/call_photo_id_bg.png [new file with mode: 0755]
res/images/call_photo_id_conference.png [new file with mode: 0755]
res/images/call_photo_id_emergency.png [new file with mode: 0644]
res/images/call_photo_id_mask.png [new file with mode: 0755]
res/images/call_photo_id_outer.png [new file with mode: 0755]
res/images/call_resume_add.png [new file with mode: 0755]
res/images/call_resume_group_icon.png [new file with mode: 0755]
res/images/call_resume_icon.png [new file with mode: 0755]
res/images/call_resume_play_bg.png [new file with mode: 0755]
res/images/call_tim.png [new file with mode: 0755]
res/images/call_vivo.png [new file with mode: 0755]
res/images/handler_btn_02.png [new file with mode: 0644]
res/images/icon/B03_Call_Missedcall.png [new file with mode: 0755]
res/images/icon/B03_Call_Mute.png [new file with mode: 0755]
res/images/icon/B03_Call_SOSmessge_active.png [new file with mode: 0755]
res/images/icon/B03_Call_Speaker_on.png [new file with mode: 0755]
res/images/icon/B03_Call_bluetooth.png [new file with mode: 0755]
res/images/icon/Notification_ic_missedcall.png [new file with mode: 0755]
res/images/icon/call_button_add.png [new file with mode: 0644]
res/images/icon/call_inline_button_open.png [new file with mode: 0644]
res/images/icon/call_photo_id_mask.png [new file with mode: 0755]
res/images/icon/call_resume_play_mask.png [new file with mode: 0755]
res/images/icon/noti_icon_reject_auto.png [new file with mode: 0644]
res/images/icon/noti_missed_call.png [new file with mode: 0755]
res/images/icon/vc_voice_control.png [new file with mode: 0755]
res/images/icon/vc_volume_icon.png [new file with mode: 0755]
res/images/keypad_bg_div.png [new file with mode: 0755]
res/images/keypad_english_01.png [new file with mode: 0644]
res/images/keypad_english_02.png [new file with mode: 0644]
res/images/keypad_english_03.png [new file with mode: 0644]
res/images/keypad_english_04.png [new file with mode: 0644]
res/images/keypad_english_05.png [new file with mode: 0644]
res/images/keypad_english_06.png [new file with mode: 0644]
res/images/keypad_english_07.png [new file with mode: 0644]
res/images/keypad_english_08.png [new file with mode: 0644]
res/images/keypad_input_del.png [new file with mode: 0755]
res/images/keypad_number_00.png [new file with mode: 0644]
res/images/keypad_number_01.png [new file with mode: 0644]
res/images/keypad_number_02.png [new file with mode: 0644]
res/images/keypad_number_03.png [new file with mode: 0644]
res/images/keypad_number_04.png [new file with mode: 0644]
res/images/keypad_number_05.png [new file with mode: 0644]
res/images/keypad_number_06.png [new file with mode: 0644]
res/images/keypad_number_07.png [new file with mode: 0644]
res/images/keypad_number_08.png [new file with mode: 0644]
res/images/keypad_number_09.png [new file with mode: 0644]
res/images/keypad_number_asterisk.png [new file with mode: 0644]
res/images/keypad_number_sharp.png [new file with mode: 0644]
res/images/lock_circle_line_camera.png [new file with mode: 0755]
res/images/lock_circle_line_camera_drag.png [new file with mode: 0755]
res/images/logs_icon_sim_1.png [new file with mode: 0755]
res/images/logs_icon_sim_2.png [new file with mode: 0755]
res/images/logs_icon_sim_data.png [new file with mode: 0755]
res/images/logs_icon_sim_heart.png [new file with mode: 0755]
res/images/logs_icon_sim_home.png [new file with mode: 0755]
res/images/logs_icon_sim_internet.png [new file with mode: 0755]
res/images/logs_icon_sim_messages.png [new file with mode: 0755]
res/images/logs_icon_sim_office.png [new file with mode: 0755]
res/images/logs_icon_sim_phone.png [new file with mode: 0755]
res/images/quick_end.png [new file with mode: 0755]
res/images/quick_end_press.png [new file with mode: 0755]
res/images/quick_extra.png [new file with mode: 0755]
res/images/quick_extra_off.png [new file with mode: 0755]
res/images/quick_extra_off_press.png [new file with mode: 0755]
res/images/quick_extra_press.png [new file with mode: 0755]
res/images/sound_volume_popup_bg.#.png [new file with mode: 0755]
res/images/vc_volume_icon.png [new file with mode: 0755]
res/images/vc_volume_icon_bt.png [new file with mode: 0755]
res/images/vc_volume_mute_icon.png [new file with mode: 0755]
res/images/without_proximity_seneor_bg.png [new file with mode: 0755]
res/themes/bg/00_focus.png [new file with mode: 0644]
res/themes/bg/00_list_circle_thumbnail_bg.png [new file with mode: 0755]
res/themes/bg/00_list_group_bg.png [new file with mode: 0755]
res/themes/bg/00_list_group_bg_press.png [new file with mode: 0755]
res/themes/bg/C01-1_call_bottom_bg_function_press.png [new file with mode: 0644]
res/themes/bg/call_btn_bg.#.png [new file with mode: 0644]
res/themes/bg/call_btn_circle.png [new file with mode: 0755]
res/themes/bg/call_resume_play_bg.png [new file with mode: 0755]
res/themes/bg/core_button_bg.#.png [new file with mode: 0644]
res/themes/bg/core_button_effect_normal.#.png [new file with mode: 0644]
res/themes/bg/core_button_effect_pressed.#.png [new file with mode: 0644]
res/themes/bg/vc_btn_bg.png [new file with mode: 0755]
res/themes/bg/vc_btn_bg_dim.png [new file with mode: 0755]
res/themes/bg/vc_btn_bg_press.png [new file with mode: 0755]
res/themes/bg/vc_btn_circle.png [new file with mode: 0755]
res/themes/bg/vc_btn_circle_on.png [new file with mode: 0755]
res/themes/bg/vc_btn_circle_press.png [new file with mode: 0755]
res/themes/bg/vc_btn_focus.png [new file with mode: 0755]
res/themes/bg/vc_btn_red_bg.png [new file with mode: 0755]
res/themes/bg/vc_btn_red_bg_dim.png [new file with mode: 0755]
res/themes/bg/vc_btn_red_bg_press.png [new file with mode: 0755]
res/themes/bg/vc_call_btn.png [new file with mode: 0755]
res/themes/bg/vc_call_btn_bg.png [new file with mode: 0755]
res/themes/bg/vc_call_btn_press.png [new file with mode: 0755]
res/themes/bg/vc_contact_btn.png [new file with mode: 0755]
res/themes/bg/vc_contact_btn_press.png [new file with mode: 0755]
res/themes/bg/vc_easymode_call_bottom_bg_press.png [new file with mode: 0755]
res/themes/bg/vc_reject_message_list_create_bg.png [new file with mode: 0755]
res/themes/bg/vc_reject_message_list_create_bg_press.png [new file with mode: 0755]
res/themes/bg/vc_six_button_press.png [new file with mode: 0644]
res/themes/bg/vc_toggle.png [new file with mode: 0755]
res/themes/bg/vc_toggle_dim.png [new file with mode: 0755]
res/themes/bg/vc_toggle_focus.png [new file with mode: 0755]
res/themes/bg/vc_toggle_press.png [new file with mode: 0755]
res/themes/bg/vc_volume_progress_bar.png [new file with mode: 0755]
res/themes/bg/vc_volume_progress_bg.png [new file with mode: 0755]
res/themes/bg/vc_volume_slider_handle.png [new file with mode: 0755]
res/themes/bg/vc_volume_slider_handle_dim.png [new file with mode: 0755]
res/themes/bg/vc_volume_slider_handle_press.png [new file with mode: 0755]
res/themes/call_genlist_theme.edc [new file with mode: 0755]
res/themes/call_theme.edc [new file with mode: 0755]
res/themes/icon/call_btn_end_01.png [new file with mode: 0755]
res/themes/icon/call_btn_end_02.png [new file with mode: 0755]
res/themes/icon/call_btn_end_03.png [new file with mode: 0755]
res/themes/icon/call_btn_resume.png [new file with mode: 0644]
res/themes/icon/call_button_add_call.png [new file with mode: 0755]
res/themes/icon/call_button_bluetooth.png [new file with mode: 0755]
res/themes/icon/call_button_contacts.png [new file with mode: 0755]
res/themes/icon/call_button_extra.png [new file with mode: 0755]
res/themes/icon/call_button_headset.png [new file with mode: 0755]
res/themes/icon/call_button_keypad.png [new file with mode: 0755]
res/themes/icon/call_button_mute.png [new file with mode: 0755]
res/themes/icon/call_button_speaker.png [new file with mode: 0755]
res/themes/icon/call_extra_call.png [new file with mode: 0755]
res/themes/icon/call_extra_merge.png [new file with mode: 0755]
res/themes/icon/call_extra_swap.png [new file with mode: 0755]
res/themes/icon/call_extra_volume.png [new file with mode: 0755]
res/themes/icon/call_onoff_bar.#.png [new file with mode: 0755]
res/themes/icon/icon_call.png [new file with mode: 0644]
res/themes/icon/icon_end_call.png [new file with mode: 0644]
res/themes/icon/icon_mic.png [new file with mode: 0644]
res/themes/icon/icon_noti_call.png [new file with mode: 0755]
res/themes/icon/icon_speaker.png [new file with mode: 0644]
res/themes/icon/icon_video_call.png [new file with mode: 0755]
res/themes/icon/icon_voice_recorder.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_call.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_call_landscape.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_call_press.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_call_press_landscape.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_end_normal.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_end_normal_landscape.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_end_press.png [new file with mode: 0755]
res/themes/icon/vc_button_qp_end_press_landscape.png [new file with mode: 0755]
res/themes/icon/vc_conf_end_dim.png [new file with mode: 0755]
res/themes/icon/vc_conf_end_normal.png [new file with mode: 0755]
res/themes/icon/vc_conf_end_press.png [new file with mode: 0755]
res/themes/icon/vc_conf_split.png [new file with mode: 0755]
res/themes/icon/vc_conf_split_dim.png [new file with mode: 0755]
res/themes/icon/vc_conf_split_press.png [new file with mode: 0755]
res/themes/icon/vc_quick_btn_mute_disabled.png [new file with mode: 0755]
res/themes/icon/vc_quick_btn_mute_nor.png [new file with mode: 0755]
res/themes/icon/vc_quick_btn_speaker_off.png [new file with mode: 0755]
res/themes/icon/vc_quick_btn_speaker_on.png [new file with mode: 0755]
res/themes/sounds/List_reorder.wav [new file with mode: 0755]
res/themes/sounds/Tizen_Touch.wav [new file with mode: 0755]
src/callui-common.c [new file with mode: 0755]
src/callui-keypad.c [new file with mode: 0755]
src/callui-view-active-incoming-call.c [new file with mode: 0644]
src/callui-view-callend.c [new file with mode: 0644]
src/callui-view-circle.c [new file with mode: 0755]
src/callui-view-dialing.c [new file with mode: 0644]
src/callui-view-elements.c [new file with mode: 0755]
src/callui-view-incoming-call.c [new file with mode: 0644]
src/callui-view-incoming-lock.c [new file with mode: 0755]
src/callui-view-lock-screen.c [new file with mode: 0755]
src/callui-view-manager.c [new file with mode: 0644]
src/callui-view-multi-call-conf.c [new file with mode: 0755]
src/callui-view-multi-call-list.c [new file with mode: 0755]
src/callui-view-multi-call-split.c [new file with mode: 0755]
src/callui-view-quickpanel.c [new file with mode: 0755]
src/callui-view-single-call.c [new file with mode: 0644]
src/callui.c [new file with mode: 0755]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..5b94a1a
--- /dev/null
@@ -0,0 +1,16 @@
+### SDK IDE generated files and folder ###
+.*project
+##########################################
+
+### Build scripts ###
+build*
+deploy*
+install.sh
+run.sh
+###########################################
+
+### Etc ###
+*~
+.settings
+##############
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..a83bcc0
--- /dev/null
@@ -0,0 +1,117 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+PROJECT(call-ui C)
+
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+SET(PKG_NAME org.tizen.call-ui)
+SET(APPDIR "${PREFIX}/apps/org.tizen.call-ui")
+SET(BINDIR "${APPDIR}/bin")
+SET(RESDIR "${APPDIR}/res")
+SET(LOCALEDIR "${RESDIR}/locale")
+SET(EDJDIR "${RESDIR}/edje")
+SET(IMGDIR "${RESDIR}/images")
+SET(TABLEDIR "${RESDIR}/tables")
+
+SET(EDJE_CC_DEFINITIONS "")
+
+ADD_DEFINITIONS("-DPREFIX=\"${PREFIX}\"")
+ADD_DEFINITIONS("-DBINDIR=\"${BINDIR}\"")
+ADD_DEFINITIONS("-DPACKAGE=\"${PKG_NAME}\"")
+ADD_DEFINITIONS("-DRESDIR=\"${RESDIR}\"")
+ADD_DEFINITIONS("-DLOCALEDIR=\"${LOCALEDIR}\"")
+ADD_DEFINITIONS("-DEDJDIR=\"${EDJDIR}\"")
+ADD_DEFINITIONS("-DIMGDIR=\"${IMGDIR}\"")
+ADD_DEFINITIONS("-DTABLEDIR=\"${TABLEDIR}\"")
+
+ADD_DEFINITIONS("-D_CALLUI_SIGNAL_HANDLER")
+
+ADD_SUBDIRECTORY(po)
+
+FILE(GLOB SRCS "src/*.c")
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
+
+INCLUDE(FindPkgConfig)
+pkg_check_modules (pkgs REQUIRED
+       appcore-efl
+       glib-2.0
+       elementary
+       dlog
+       capi-appfw-application
+       ecore
+       ecore-x
+       utilX
+       appsvc
+       callmgr_client
+       contacts-service2
+       minicontrol-provider
+       vconf
+       capi-network-bluetooth
+       capi-network-connection
+       capi-system-system-settings
+       msg-service
+       capi-system-device
+       notification
+       capi-system-runtime-info
+       capi-system-info
+       capi-ui-efl-util
+       efl-extension
+)
+
+FOREACH(flag ${pkgs_CFLAGS})
+       SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
+ENDFOREACH(flag)
+
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIE ${EXTRA_CFLAGS}")
+
+ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS})
+TARGET_LINK_LIBRARIES(${PROJECT_NAME} "-pie" ${pkgs_LDFLAGS})
+
+ADD_CUSTOM_TARGET(call.edj
+               COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/res/images ${SHARED_FLAGS} ${EDJE_CC_DEFINITIONS}
+               ${CMAKE_CURRENT_SOURCE_DIR}/res/call_edc/call.edc ${CMAKE_CURRENT_SOURCE_DIR}/res/call.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/call_edc/call.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} call.edj)
+
+ADD_CUSTOM_TARGET(call_theme.edj
+               COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/res/themes ${EDJE_CC_DEFINITIONS} -sd
+               ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/sounds
+               ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_theme.edc ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_theme.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_theme.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} call_theme.edj)
+
+ADD_CUSTOM_TARGET(call_genlist_theme.edj
+               COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/res/themes -sd
+               ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/sounds
+               ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_genlist_theme.edc ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_genlist_theme.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_genlist_theme.edc
+)
+ADD_DEPENDENCIES(${PROJECT_NAME} call_genlist_theme.edj)
+
+#install binary & edj files
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/call.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_theme.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/themes/call_genlist_theme.edj DESTINATION ${EDJDIR})
+
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR})
+INSTALL(DIRECTORY DESTINATION ${DATADIR})
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/${PKG_NAME}.xml DESTINATION /usr/share/packages/)
+
+# install manifest file & icon
+SET(PREFIX ${CMAKE_INSTALL_PREFIX})
+INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/res/tables/ DESTINATION ${TABLEDIR} FILES_MATCHING PATTERN "*.xml")
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/handler_btn_02.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/call_photo_id_mask.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/icon/call_resume_play_mask.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/call_photo_id.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/button_edit_bg_new.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/call_button_icon_01.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/call_button_icon_03.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/call_button_icon_04.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/icon/call_button_add.png DESTINATION ${IMGDIR})
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/res/images/icon/noti_icon_reject_auto.png DESTINATION ${IMGDIR})
+
+#install smack rule
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${PKG_NAME}.efl DESTINATION /etc/smack/accesses.d)
+
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..d645695
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   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.
diff --git a/include/callui-common.h b/include/callui-common.h
new file mode 100644 (file)
index 0000000..bee3d06
--- /dev/null
@@ -0,0 +1,82 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_COMMON_H_
+#define __CALLUI_COMMON_H_
+
+#include "callui-view-manager.h"
+#include "callui.h"
+
+#define CALLUI_KEY_MEDIA "XF86AudioMedia"
+#define CALLUI_KEY_SELECT "XF86Phone"
+#define CALLUI_KEY_POWER "XF86PowerOff"
+#define CALLUI_KEY_HOME "XF86Home"
+#define CALLUI_KEY_VOLUMEUP "XF86AudioRaiseVolume"
+#define CALLUI_KEY_VOLUMEDOWN "XF86AudioLowerVolume"
+
+typedef enum {
+       LOCK_TYPE_UNLOCK = 1,
+       LOCK_TYPE_SWIPE_LOCK,
+       LOCK_TYPE_SECURITY_LOCK
+} callui_idle_lock_type_t;
+
+typedef enum {
+       LCD_TIMEOUT_SET = 1,
+       LCD_TIMEOUT_UNSET,
+       LCD_TIMEOUT_LOCKSCREEN_SET, /*After lock-screen comes in Connected state LCD goes to OFF in 5 secs*/
+       LCD_TIMEOUT_KEYPAD_SET, /*When Keypad is ON, LCD goes to DIM in 3 secs then goes to OFF in 5 secs*/
+       LCD_TIMEOUT_DEFAULT
+} callui_lcd_timeout_t;
+
+typedef enum {
+   LCD_ON,
+   LCD_ON_LOCK,
+   LCD_ON_UNLOCK,
+   LCD_OFF_SLEEP_LOCK,
+   LCD_OFF_SLEEP_UNLOCK
+} callui_lcd_control_t;
+
+void _callui_common_set_call_duration(char *time_dur);
+void _callui_common_update_call_duration(long starttime);
+void _callui_common_create_duration_timer();
+void _callui_common_delete_duration_timer();
+void _callui_common_create_ending_timer(call_view_data_t *vd, long start_time);
+void _callui_common_delete_ending_timer(void);
+char * _callui_common_get_sim_name(void *appdata);
+Eina_Bool _callui_common_is_headset_conected(void);
+callui_idle_lock_type_t _callui_common_get_idle_lock_type(void);
+int _callui_common_unlock_swipe_lock(void);
+long _callui_common_get_uptime(void);
+void _callui_common_win_set_noti_type(void *appdata, int bwin_noti);
+void _callui_common_get_contact_info(int person_id, call_contact_data_t *ct_info);
+void _callui_common_launch_contacts(void *appdata);
+void _callui_common_launch_bt_app(void *appdata);
+void _callui_common_launch_dialer(void *appdata);
+void _callui_common_launch_msg_composer(void *appdata, char *number);
+void _callui_common_reset_main_ly_text_fields(Evas_Object *contents);
+void _callui_common_dvc_set_lcd_timeout(callui_lcd_timeout_t state);
+gboolean _callui_common_is_extra_volume_available(void);
+gboolean _callui_common_is_answering_mode_on(void);
+gboolean _callui_common_is_powerkey_mode_on(void);
+void _callui_common_dvc_set_lcd_timeout(callui_lcd_timeout_t state);
+void _callui_common_dvc_control_lcd_state(callui_lcd_control_t state);
+void _callui_common_set_quickpanel_scrollable(Eina_Bool benable);
+Eina_Bool _callui_common_is_earjack_connected(void);
+int _callui_common_get_scaled_width(int width);
+int _callui_common_get_scaled_height(int height);
+
+#endif //__CALLUI_COMMON_H_
diff --git a/include/callui-keypad.h b/include/callui-keypad.h
new file mode 100755 (executable)
index 0000000..df267a7
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef _CALLUI_VIEW_KEYPAD_H_
+#define _CALLUI_VIEW_KEYPAD_H_
+
+#include <Elementary.h>
+
+Eina_Bool _callui_keypad_get_show_status(void);
+void _callui_keypad_show_layout(void *appdata);
+void _callui_keypad_hide_layout(void *appdata);
+void _callui_keypad_create_layout(void *appdata);
+void _callui_keypad_delete_layout(void *appdata);
+
+
+#endif // _CALLUI_VIEW_KEYPAD_H_
diff --git a/include/callui-view-active-incoming-call.h b/include/callui-view-active-incoming-call.h
new file mode 100644 (file)
index 0000000..a7ecee2
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_VIEW_ACTIVE_INCOMING_CALL_H_
+#define __CALLUI_VIEW_ACTIVE_INCOMING_CALL_H_
+
+#include "callui-view-manager.h"
+
+/**
+ * @brief Draw screen for active incoming call
+ * @param[in]   ad  Call ui app data
+ * @param[in]   vd  Call view data
+ */
+void _callui_view_active_incoming_call_draw_screen(callui_app_data_t *ad, call_view_data_t *vd);
+
+/**
+ * @brief Create layout for active incoming call
+ * @param[in]   vd       Call view data
+ * @param[in]   appdata  app data
+ */
+int _callui_view_active_incoming_call_oncreate(call_view_data_t *view_data, void *appdata);
+
+#endif /* __CALLUI_VIEW_ACTIVE_INCOMING_CALL_H_ */
diff --git a/include/callui-view-callend.h b/include/callui-view-callend.h
new file mode 100644 (file)
index 0000000..66c8691
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef _CALLUI_VIEW_CALLEND_H_
+#define _CALLUI_VIEW_CALLEND_H_
+
+#include "callui-view-manager.h"
+
+typedef struct callui_endcall_view_priv callui_endcall_view_priv_t;
+
+call_view_data_t *_callui_view_callend_new(callui_app_data_t *ad);
+Evas_Object *_callui_view_callend_get_layout(call_view_data_t *vd);
+
+#endif //_CALLUI_VIEW_CALLEND_H_
diff --git a/include/callui-view-caller-info-defines.h b/include/callui-view-caller-info-defines.h
new file mode 100644 (file)
index 0000000..bcc39b0
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef _CALLUI_VIEW_CALLER_INFO_DEFINES_H_
+#define _CALLUI_VIEW_CALLER_INFO_DEFINES_H_
+
+#define GROUP_MERGE_BTN                                                "merge_btn"
+#define GROUP_SWAP_BTN                                         "swap_btn"
+#define PART_TEXT_MERGE_SWAP_BTN                       "text"
+
+#define GROUP_ACTIVE_HOLD_INFO                         "active_hold_info"
+#define PART_TEXT_STATUS                                       "text.status"
+#define PART_SWALLOW_CALLER_ID                         "swallow.caller_id"
+#define PART_TEXT_MAIN                                         "text.main"
+#define PART_TEXT_SUB                                          "text.sub"
+#define SIGNAL_SET_TRANSPARENT_BACKGROUND      "set,transparent,background"
+#define SIGNAL_SET_BLURRED_BACKGROUND          "set,blurred,background"
+#define SIGNAL_SHOW_ARROW                                      "show,arrow"
+#define SIGNAL_HIDE_ARROW                                      "hide,arrow"
+
+#define GROUP_BTN_REGION                                       "btn_region"
+#define PART_TOP_FIRST_BTN                                     "top_first_button"
+#define PART_TOP_SECOND_BTN                                    "top_second_button"
+#define PART_TOP_THIRD_BTN                                     "top_third_button"
+#define PART_BOTTOM_FIRST_BTN                          "bottom_first_button"
+#define PART_BOTTOM_SECOND_BTN                         "bottom_second_button"
+#define PART_BOTTOM_THIRD_BTN                          "bottom_third_button"
+
+#define GROUP_ACTION_PANEL                                     "action_panel"
+#define PART_END_BTN                                           "end_btn"
+
+#define GROUP_ONE_HOLD_IN_CONFERENCE           "one_hold_in_conference"
+#define PART_SWALLOW_HOLD_INFO                         "swallow.hold_info"
+#define PART_SWALLOW_MERGE                                     "swallow.merge"
+#define PART_SWALLOW_SWAP                                      "swallow.swap"
+#define PART_SWALLOW_ACTIVE_INFO                       "swallow.active_info"
+#define PART_SWALLOW_BTN_REGION                                "btn_region"
+#define PART_SWALLOW_ACTIONS_PANEL                     "swallow.actions_panel"
+
+#define GROUP_SPLIT                                                    "split"
+#define PART_SWALLOW_CALL_INFO                         "swallow.call_info"
+#define PART_SWALLOW_TEXTBLOCK_AREA                    "textblock/textarea"
+#define PART_SWALLOW_KEYPAD                                    "keypad_region"
+
+#endif //_CALLUI_VIEW_CALLER_INFO_DEFINES_H_
diff --git a/include/callui-view-caller-info-metric.h b/include/callui-view-caller-info-metric.h
new file mode 100644 (file)
index 0000000..faacbed
--- /dev/null
@@ -0,0 +1,131 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef _CALLUI_CALLER_INFO_METRIC_H_
+#define _CALLUI_CALLER_INFO_METRIC_H_
+
+//One hold in conference layout
+#define ONE_HOLD_H                                                     (730)
+#define ONE_HOLD_B                                                     REL_HD_H(ONE_HOLD_H)
+
+//Indicator
+#define INDICATOR_HEIGHT                                       50
+#define INDICATOR_B                                                    (INDICATOR_HEIGHT / ONE_HOLD_H)
+
+//Caller info layout
+#define CALLER_INF_LAYOUT_OFFSET                       10
+#define CALLER_INF_LAYOUT_B_OFFSET                     62
+#define CALLER_INF_LAYOUT_H                                    248
+#define CALLER_INF_LAYOUT_W                                    700
+
+//Hold info
+#define HOLD_LAYOUT_L                                          REL_HD_W(CALLER_INF_LAYOUT_OFFSET)
+#define HOLD_LAYOUT_T                                          (INDICATOR_B + (CALLER_INF_LAYOUT_OFFSET / ONE_HOLD_H))
+#define HOLD_LAYOUT_R                                          (1 - REL_HD_W(CALLER_INF_LAYOUT_OFFSET))
+#define HOLD_LAYOUT_B                                          (HOLD_LAYOUT_T + (CALLER_INF_LAYOUT_H / ONE_HOLD_H))
+
+//Caller info
+#define CALLER_INF_L_OFFSET                                    22
+#define CALLER_INF_T_OFFSET                                    10
+#define CALLER_INF_R_OFFSET                                    22
+#define CALLER_INF_B_OFFSET                                    30
+#define CALLER_INF_ID_T_OFFSET                         16
+#define CALLER_INF_TEXT_L_OFFSET                       32
+#define CALLER_INF_SUBTEXT_T_OFFSET                    6
+
+#define CALLER_INF_STATUS_H                                    54
+#define CALLER_INF_ID_SIZE                                     138
+#define CALLER_INF_MAIN_TEXT_H                         76
+
+#define CALLER_INF_L                                           (CALLER_INF_L_OFFSET / CALLER_INF_LAYOUT_W)
+
+#define CALLER_INF_STATUS_T                                    (CALLER_INF_T_OFFSET / CALLER_INF_LAYOUT_H)
+#define CALLER_INF_STATUS_R                                    ((CALLER_INF_L_OFFSET + CALLER_INF_ID_SIZE + CALLER_INF_TEXT_L_OFFSET) / CALLER_INF_LAYOUT_W)
+#define CALLER_INF_STATUS_B                                    ((CALLER_INF_T_OFFSET + CALLER_INF_STATUS_H) / CALLER_INF_LAYOUT_H)
+
+#define CALLER_INF_ID_T                                                ((CALLER_INF_T_OFFSET + CALLER_INF_STATUS_H + CALLER_INF_ID_T_OFFSET) / CALLER_INF_LAYOUT_H)
+#define CALLER_INF_ID_R                                                ((CALLER_INF_L_OFFSET + CALLER_INF_ID_SIZE) / CALLER_INF_LAYOUT_W)
+#define CALLER_INF_ID_B                                                ((CALLER_INF_T_OFFSET + CALLER_INF_STATUS_H + CALLER_INF_ID_SIZE) / CALLER_INF_LAYOUT_H)
+
+#define CALLER_INF_TEXT_L                                      ((CALLER_INF_L + CALLER_INF_ID_SIZE + CALLER_INF_TEXT_L_OFFSET) / CALLER_INF_LAYOUT_W)
+#define CALLER_INF_SUBTEXT_T                           ((CALLER_INF_T_OFFSET + CALLER_INF_STATUS_H + CALLER_INF_ID_T_OFFSET + CALLER_INF_MAIN_TEXT_H + CALLER_INF_SUBTEXT_T_OFFSET) / CALLER_INF_LAYOUT_H)
+
+//Merge and swap buttons
+#define MERGE_SWAP_BTN_W                                       350
+#define MERGE_SWAP_BTN_H                                       122
+
+#define MERGE_SWAP_BTN_T                                       HOLD_LAYOUT_B
+#define MERGE_SWAP_BTN_B                                       (MERGE_SWAP_BTN_T + (MERGE_SWAP_BTN_H / ONE_HOLD_H))
+
+#define MERGE_BTN_L                                                    REL_HD_W(CALLER_INF_LAYOUT_OFFSET)
+#define MERGE_BTN_R                                                    REL_HD_W(CALLER_INF_LAYOUT_OFFSET + MERGE_SWAP_BTN_W)
+
+#define SWAP_BTN_L                                                     REL_HD_W(CALLER_INF_LAYOUT_OFFSET + MERGE_SWAP_BTN_W)
+#define SWAP_BTN_R                                                     (1- REL_HD_W(CALLER_INF_LAYOUT_OFFSET))
+
+//Merge and swap buttons content
+#define MS_BTN_ICON_T_OFFSET                           10
+
+#define MS_BTN_ICON_W                                          54
+#define MS_BTN_ICON_H                                          48
+
+#define MS_BTN_ICON_L                                          (((MERGE_SWAP_BTN_W / 2) - (MS_BTN_ICON_W / 2)) / MERGE_SWAP_BTN_W)
+#define MS_BTN_ICON_T                                          (MS_BTN_ICON_T_OFFSET / MERGE_SWAP_BTN_H)
+#define MS_BTN_ICON_R                                          (((MERGE_SWAP_BTN_W / 2) + (MS_BTN_ICON_W / 2)) / MERGE_SWAP_BTN_W)
+#define MS_BTN_ICON_B                                          ((MS_BTN_ICON_T_OFFSET + MS_BTN_ICON_H) / MERGE_SWAP_BTN_H)
+
+#define MS_BTN_TEXT_B                                          ((MERGE_SWAP_BTN_H - MS_BTN_ICON_T_OFFSET) / MERGE_SWAP_BTN_H)
+
+//Active Info
+#define ACTIVE_INFO_LAYOUT_T_OFFSET                    8
+
+#define ACTIVE_INFO_L                                          REL_HD_W(CALLER_INF_LAYOUT_OFFSET)
+#define ACTIVE_INFO_T                                          (MERGE_SWAP_BTN_B + (ACTIVE_INFO_LAYOUT_T_OFFSET / ONE_HOLD_H))
+#define ACTIVE_INFO_R                                          (1 - REL_HD_W(CALLER_INF_LAYOUT_OFFSET))
+#define ACTIVE_INFO_B                                          (ACTIVE_INFO_T + (CALLER_INF_LAYOUT_H / ONE_HOLD_H))
+
+//Arrow
+#define ARROW_R_OFFSET                                         12
+#define ARROW_B_OFFSET                                         68
+
+#define ARROW_SIZE                                                     50
+
+#define ARROW_L                                                                (1 - ((ARROW_SIZE + ARROW_R_OFFSET) / CALLER_INF_LAYOUT_W))
+#define ARROW_T                                                                (1 - ((ARROW_SIZE + ARROW_B_OFFSET) / CALLER_INF_LAYOUT_H))
+#define ARROW_R                                                                (1 - (ARROW_R_OFFSET / CALLER_INF_LAYOUT_W))
+#define ARROW_B                                                                (1 - (ARROW_B_OFFSET / CALLER_INF_LAYOUT_H))
+
+//Six button
+#define SIX_BUTTON_LAYOUT_H                                    376
+
+#define SIX_BUTTON_LAYOUT_T                                    (ONE_HOLD_B)
+#define SIX_BUTTON_LAYOUT_B                                    (SIX_BUTTON_LAYOUT_T + REL_HD_H(SIX_BUTTON_LAYOUT_H))
+
+//Action panel
+#define ACTION_PANEL_H                                         152
+
+//End button
+#define END_BUTTON_SIZE                                                104
+#define END_BUTTON_X_OFFSET                                    308
+#define END_BUTTON_Y_OFFSET                                    ((ACTION_PANEL_H - END_BUTTON_SIZE) / 2)
+
+#define END_BUTTON_L                                           REL_HD_W(END_BUTTON_X_OFFSET)
+#define END_BUTTON_T                                           (END_BUTTON_Y_OFFSET / ACTION_PANEL_H)
+#define END_BUTTON_R                                           (1 - REL_HD_W(END_BUTTON_X_OFFSET))
+#define END_BUTTON_B                                           (1 - (END_BUTTON_Y_OFFSET / ACTION_PANEL_H))
+
+#endif //_CALLUI_CALLER_INFO_METRIC_H_
diff --git a/include/callui-view-circle.h b/include/callui-view-circle.h
new file mode 100755 (executable)
index 0000000..ca3cac7
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_ONECALL_CIRCLE_VIEW_H_
+#define __CALLUI_ONECALL_CIRCLE_VIEW_H_
+
+#include "callui.h"
+
+void _callui_view_circle_accept_reject_reset(void *data);
+Evas_Object *_callui_view_circle_create_reject_layout(callui_app_data_t *ad, void *data);
+Evas_Object *_callui_view_circle_create_accept_layout(callui_app_data_t *ad, void *data);
+Eina_Bool _callui_view_circle_easy_touch_state(void);
+
+#endif
diff --git a/include/callui-view-dialing.h b/include/callui-view-dialing.h
new file mode 100644 (file)
index 0000000..c85335b
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_DIALING_VIEW_H_
+#define __CALLUI_DIALING_VIEW_H_
+
+#include "callui.h"
+#include "callui-view-manager.h"
+
+typedef struct callui_view_dialing_priv callui_view_dialing_priv_t;
+
+call_view_data_t *_callui_dialing_view_dialing_new(callui_app_data_t *ad);
+
+#endif //__CALLUI_DIALING_VIEW_H_
diff --git a/include/callui-view-elements-defines.h b/include/callui-view-elements-defines.h
new file mode 100644 (file)
index 0000000..0966380
--- /dev/null
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef _CALLUI_VIEW_ELEMENTS_DEFINES_H_
+#define _CALLUI_VIEW_ELEMENTS_DEFINES_H_
+
+//groups
+#define GROUP_THUMBNAIL_98                                                     "thumbnail_98"
+#define GROUP_THUMBNAIL_186                                                    "thumbnail_186"
+
+#define GROUP_DEFAULT_THUMBNAIL_98                                     "default_thumbnail_98"
+#define GROUP_DEFAULT_THUMBNAIL_186                                    "default_thumbnail_186"
+#define GROUP_DEFAULT_CONFERENCE_THUMBNAIL_186         "default_conference_thumbnail_186"
+
+//parts
+#define PART_SWALLOW_IMAGE                                                     "swallow.image"
+
+#define GROUP_CALL_BTN_IC_SPLIT                                                "call_btn_ic_split"
+#define GROUP_CALL_BTN_IC_END                                          "call_btn_ic_end"
+
+#define CALL_BTN_IC_BG_SIZE                                                    98
+#define CALL_BTN_IC_SIZE                                                       64
+
+#endif //_CALLUI_VIEW_ELEMENTS_DEFINES_H_
+
diff --git a/include/callui-view-elements.h b/include/callui-view-elements.h
new file mode 100644 (file)
index 0000000..41edc61
--- /dev/null
@@ -0,0 +1,78 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_VIEW_ELEMENTS_H_
+#define __CALLUI_VIEW_ELEMENTS_H_
+
+#include <Elementary.h>
+#include "callui.h"
+#include "callui-view-elements-defines.h"
+
+#define        CALLUI_END_TYPE_KEY             "END_TYPE"
+#define        CALLUI_END_TYPE_SINGLE_CALL_END "SINGLE_CALL_END"
+#define        CALLUI_END_TYPE_CONF_CALL_END   "CONF_CALL_END"
+
+typedef enum {
+       THUMBNAIL_98,
+       THUMBNAIL_186,
+       CONFERENCE_THUMBNAIL_186
+} thumbnail_type;
+
+Evas_Object *_callui_load_edj(Evas_Object *parent, const char *file, const char *group);
+Evas_Object *_callui_edje_object_part_get(Evas_Object *parent, const char *part);
+Evas_Object *_callui_create_top_first_button(callui_app_data_t *ad);
+Evas_Object *_callui_create_top_first_button_disabled(callui_app_data_t *ad);
+Evas_Object *_callui_create_top_second_button(callui_app_data_t *ad);
+Evas_Object *_callui_create_top_second_button_disabled(callui_app_data_t *ad);
+Evas_Object *_callui_create_top_third_button(callui_app_data_t *ad);
+Evas_Object *_callui_create_top_third_button_disabled(callui_app_data_t *ad);
+Evas_Object *_callui_create_bottom_first_button(callui_app_data_t *ad);
+Evas_Object *_callui_create_bottom_first_button_disabled(callui_app_data_t *ad);
+Evas_Object *_callui_create_bottom_second_button(callui_app_data_t *ad);
+Evas_Object *_callui_create_bottom_second_button_disabled(callui_app_data_t *ad);
+Evas_Object *_callui_create_bottom_third_button(callui_app_data_t *ad);
+Evas_Object *_callui_create_bottom_third_button_disabled(callui_app_data_t *ad);
+
+Evas_Object *_callui_create_end_call_button(Evas_Object *parent, void *data);
+void _callui_destroy_end_call_button(Evas_Object *parent);
+Evas_Object *_callui_create_voicecall_button_disabled(void *data);
+Evas_Object *_callui_create_message_button_disabled(void *data);
+Evas_Object *_callui_create_view_contact_button(void *data, int ct_id);
+Evas_Object *_callui_create_create_contacts_button(void *data, char *number);
+Evas_Object *_callui_create_update_existing_contact_button(void *data, char *number);
+Evas_Object *_callui_create_voicecall_button(void *data, char *number);
+Evas_Object *_callui_create_message_button(void *data, char *number);
+Evas_Object *_callui_create_thumbnail(Evas_Object *parent, const char *path, thumbnail_type type);
+Evas_Object *_callui_create_thumbnail_with_size(Evas_Object *parent, const char *path, thumbnail_type type, bool set_size);
+void _callui_show_caller_info_name(void *data, const char *name, Eina_Bool bhold);
+void _callui_show_caller_info_number(void *data, const char *number, Eina_Bool bhold);
+Evas_Object *_callui_show_caller_info_status(void *data, const char *status, Eina_Bool bhold);
+Evas_Object *_callui_show_caller_id(Evas_Object *contents, char *path, bool is_ending_view);
+Evas_Object *_callui_view_create_focus_layout(Evas_Object *parent);
+void _callui_load_more_option(void *data);
+int _callui_set_object_data(Evas_Object *obj, char *key, void *value);
+void *_callui_get_object_data(Evas_Object *obj, char *key);
+void _callui_load_second_call_popup(callui_app_data_t *ad);
+void _callui_load_bluetooth_popup(callui_app_data_t *ad);
+void _callui_create_extravolume_notify_popup(void);
+void _callui_create_toast_message(char *string);
+void _callui_mute_btn_cb(void *data, Evas_Object *obj, void *event_info);
+void _callui_update_speaker_btn(callui_app_data_t *ad, Eina_Bool is_on);
+void _callui_update_headset_btn(callui_app_data_t *ad, Eina_Bool is_on);
+void _callui_update_mute_btn(callui_app_data_t *ad, Eina_Bool is_on);
+void _callui_update_extra_vol_btn(callui_app_data_t *ad, Eina_Bool is_on);
+#endif //__CALLUI_VIEW_ELEMENTS_H_
diff --git a/include/callui-view-incoming-call.h b/include/callui-view-incoming-call.h
new file mode 100644 (file)
index 0000000..9d88a50
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_VIEW_INCOMING_CALL_H_
+#define __CALLUI_VIEW_INCOMING_CALL_H_
+
+#include "callui-view-manager.h"
+#include "callui.h"
+
+/**
+ * @brief Draw screen for incoming call
+ * @param[in]   ad  Call ui app data
+ * @param[in]   vd  Call view data
+ */
+void _callui_view_incoming_call_draw_screen(callui_app_data_t *ad, call_view_data_t *vd);
+
+/**
+ * @brief Create layout for incoming call
+ * @param[in]   vd       Call view data
+ * @param[in]   appdata  app data
+ */
+int _callui_view_incoming_call_oncreate(call_view_data_t *view_data, void *appdata);
+
+/**
+ * @brief On destroy
+ * @param[in]   data       app data
+ */
+void _callui_view_incoming_call_ondestroy(void *data);
+
+#endif /* __CALLUI_VIEW_INCOMING_CALL_H_ */
diff --git a/include/callui-view-incoming-lock.h b/include/callui-view-incoming-lock.h
new file mode 100644 (file)
index 0000000..ad305c9
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_INCOMINGLOCK_VIEW_H_
+#define __CALLUI_INCOMINGLOCK_VIEW_H_
+
+#include "callui-view-manager.h"
+#include "callui.h"
+
+call_view_data_t *_callui_view_incoming_lock_new(callui_app_data_t *ad);
+void _callui_view_incoming_lock_set_accept_layout(call_view_data_t *vd, Evas_Object *layout);
+Evas_Object *_callui_view_incoming_lock_get_accept_layout(call_view_data_t *vd);
+Evas_Object *_callui_view_incoming_lock_get_reject_layout(call_view_data_t *vd);
+void _callui_view_incoming_lock_set_reject_layout(call_view_data_t *vd, Evas_Object *layout);
+
+/**
+ * @brief Create call setting handler
+ * @param[in]   data       app data
+ */
+void _callui_view_incoming_lock_reject_msg_create_call_setting_handle(void *data);
+
+/**
+ * @brief Send reject message
+ * @param[in]   data       app data
+ * @param[in]   call_data  call data
+ */
+void _callui_view_incoming_lock_view_send_reject_msg(void *data, call_data_t *call_data);
+
+/**
+ * @brief Create item class
+ * @return Elm_Genlist_Item_Class
+ */
+Elm_Genlist_Item_Class * _callui_view_incoming_lock_create_item_class();
+
+/**
+ * @brief Create reject message button
+ * @param[in]   parent    Parent object
+ * @param[in]   part      part to set button
+ * @param[in]   data      data
+ */
+void _callui_view_incoming_lock_create_reject_msg_button(Evas_Object *parent, char *part, void *data);
+
+/**
+ * @brief Append item to genlist
+ * @param[in]   msg_glist               Message genlist
+ * @param[in]   itc_reject_msg          Elm_Genlist_Item_Class
+ * @param[in]   index                   item index
+ * @return item
+ */
+Elm_Object_Item *_callui_view_incoming_lock_append_genlist_item(Evas_Object *msg_glist, Elm_Genlist_Item_Class * itc_reject_msg, int index);
+
+#define CALLUI_REJECT_MSG_LENGTH_MAX (210+1)
+typedef struct {
+       Evas_Object *contents;
+       Evas_Object *caller_info;
+       Evas_Object *dimming_ly;
+
+       Evas_Object *lock_accept;
+       Evas_Object *lock_reject;
+
+       Evas_Object *ic;
+       Evas_Object *lock_reject_with_msg;
+       Evas_Object *reject_msg_gl;
+       Evas_Object *msg_glist;
+
+       int reject_with_msg_start_y;
+       int reject_with_msg_cur_y;
+
+       int msg_list_height;
+
+       gboolean bmouse_down_pressed;
+
+       void *dl_handle;
+
+       Elm_Genlist_Item_Class *itc_reject_msg;
+       Evas_Coord y_momentum;
+       char *(*msg_func_ptr) ();
+       char reject_msg[CALLUI_REJECT_MSG_LENGTH_MAX];
+
+} incoming_lock_view_priv_t;
+
+#endif //__CALLUI_INCOMINGLOCK_VIEW_H_
diff --git a/include/callui-view-layout-hd.h b/include/callui-view-layout-hd.h
new file mode 100644 (file)
index 0000000..e152fb1
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef _CALLUI_VIEW_LAYOUT_HD_H_
+#define _CALLUI_VIEW_LAYOUT_HD_H_
+
+#define TOTAL_W                                                                720
+#define TOTAL_H                                                                1280
+
+#define REL_HD_W(x) ((x)/TOTAL_W)
+#define REL_HD_H(y) ((y)/TOTAL_H)
+
+#define INDICATOR_H                                                    58
+
+#define KEYPAD_H                                                       528
+#define KEYPAD_AREA_H                                          (TOTAL_H - ENDCALL_BTN_BG_H)
+#define KEYPAD_ARROW_BTN_BG_H                          67
+#define KEYPAD_BTN_ICON_W                                      108
+#define KEYPAD_BTN_NUMBER_H                                    71
+#define KEYPAD_BTN_LETTERS_H                           36
+#define KEYPAD_DIVIDER_SIZE                                    2
+#define KEYPAD_EACH_BTN_W                                      239
+#define KEYPAD_EACH_BTN_H                                      130
+
+#define ENDCALL_BTN_BG_H                                       108*1280/800
+
+#define KEYPAD_BTN_OFFSET_X                                    65
+#define KEYPAD_BTN_OFFSET_Y                                    12
+
+//Manage button
+#define MANAGE_BTN_SIZE                                                50
+#define MANAGE_BTN_R_OFFSET                                    22
+#define MANAGE_BTN_B_OFFSET                                    160
+
+#define MANAGE_BTN_L                                           (1 - REL_HD_W(MANAGE_BTN_SIZE + MANAGE_BTN_R_OFFSET))
+#define MANAGE_BTN_T                                           (1 - REL_HD_H(MANAGE_BTN_SIZE + MANAGE_BTN_B_OFFSET))
+#define MANAGE_BTN_R                                           (1 - REL_HD_W(MANAGE_BTN_R_OFFSET))
+#define MANAGE_BTN_B                                           (1 - REL_HD_H(MANAGE_BTN_B_OFFSET))
+
+//Back button
+#define BACK_BTN_SIZE                                          496
+
+#define BACK_BTN_L                                                     ((1 - REL_HD_W(BACK_BTN_SIZE))/2)
+#define BACK_BTN_R                                                     (1 - BACK_BTN_L)
+
+#include "callui-view-caller-info-metric.h"
+
+#endif /* _CALLUI_VIEW_LAYOUT_HD_H_ */
diff --git a/include/callui-view-layout-wvga.h b/include/callui-view-layout-wvga.h
new file mode 100755 (executable)
index 0000000..b04c832
--- /dev/null
@@ -0,0 +1,1096 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef _CALLUI_VIEW_LAYOUT_WVGA_H_
+#define _CALLUI_VIEW_LAYOUT_WVGA_H_
+
+#define COLOR_DEFAULT 0 0 0 255
+#define COLOR_BG_ALPHA 0 0 0 0
+#define COLOR_BG_FOR_HELD_CALL_DIM 0 0 0 150
+
+#define VC_FONT_BOLD "Tizen:style=Bold"
+#define VC_FONT_MEDIUM "Tizen:style=Medium"
+#define VC_FONT_ROMAN "Tizen:style=Roman"
+#define VC_FONT_LIGHT "Tizen:style=Light"
+#define VC_FONT_REGULAR "Tizen:style=Regular"
+
+#define VC_TEXT_CLASS_BOLD "tizen"
+#define VC_TEXT_CLASS_MEDIUM "tizen"
+#define VC_TEXT_CLASS_ROMAN "tizen"
+#define VC_TEXT_CLASS_LIGHT "tizen"
+#define VC_TEXT_CLASS_REGULAR "tizen"
+
+/*
+ * NBEAT-HD GUI Widget Dimensions
+ * In Portrait mode
+ */
+#define MAIN_SCREEN_W 480
+#define MAIN_SCREEN_H 800
+#define MAIN_SCREEN_BIG_H 1280
+#define MAIN_SCREEN_BIG_W 720
+#define INDICATOR_HEIGHT 36
+
+#define MAIN_LAYOUT_W MAIN_SCREEN_W
+#define MAIN_LAYOUT_H MAIN_SCREEN_H
+
+#define QP_WIN_W MAIN_SCREEN_W
+#define QP_WIN_H 208
+
+/* Need to be checked */
+#define CALLER_INFO_NAME_DEFAULT_FONT_SIZE 12
+#define CALLER_INFO_NAME_MIN_FONT_SIZE 12
+#define CALLER_INFO_NAME_MAX_FONT_SIZE 15
+
+#define NORMAL_HOLD_FONT_SIZE 36
+#define DISABLED_HOLD_FONT_SIZE NORMAL_HOLD_FONT_SIZE
+#define NORMAL_UNHOLD_FONT_SIZE NORMAL_HOLD_FONT_SIZE
+#define DISABLED_UNHOLD_FONT_SIZE NORMAL_HOLD_FONT_SIZE
+#define NORMAL_SWAP_FONT_SIZE NORMAL_HOLD_FONT_SIZE
+#define DISABLED_SWAP_FONT_SIZE NORMAL_HOLD_FONT_SIZE
+/***************************/
+
+#define CALLER_INFO_L_PAD 0
+#define CALLER_INFO_WIDTH MAIN_SCREEN_W
+#define CALLER_INFO_T_PAD 0
+#define CALLER_INFO_HEIGHT (398+INDICATOR_HEIGHT)
+
+#define CALLER_INFO_MAIN_WIDTH 450
+
+#define CALLER_INFO_STATUS_L_PAD 15
+#define CALLER_INFO_STATUS_T_PAD (INDICATOR_HEIGHT+24)
+#define CALLER_INFO_STATUS_WIDTH CALLER_INFO_MAIN_WIDTH
+#define CALLER_INFO_STATUS_HEIGHT 30
+
+#define CALL_STATUS_MAX_TEXT_WIDTH 290
+#define TXT_TIMER_MAX_TEXT_WIDTH 100
+
+#define VC_CALLER_ID_LAYOUT_L_PAD CALLER_INFO_STATUS_L_PAD
+#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+24)
+#define VC_CALLER_ID_LAYOUT_HEIGHT 186
+#define VC_CALLER_ID_WIDTH 186
+#define VC_CALLER_ID_HEIGHT 186
+
+#define CALLER_INFO_NAME_L_PAD CALLER_INFO_STATUS_L_PAD
+#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+10)
+#define CALLER_INFO_NAME_HEIGHT 57
+#define CALLER_INFO_EMERGENCY_HEIGHT 86
+
+#define CALLER_INFO_NAME_1LINE_T_PAD (VC_CALLER_ID_LAYOUT_T_PAD+VC_CALLER_ID_LAYOUT_HEIGHT+9)
+#define CALLER_INFO_NAME_1LINE_HEIGHT 100
+
+#define CALLER_INFO_NUMBER_L_PAD CALLER_INFO_NAME_L_PAD
+#define CALLER_INFO_NUMBER_WIDTH CALLER_INFO_MAIN_WIDTH
+#define CALLER_INFO_NUMBER_T_PAD (CALLER_INFO_NAME_T_PAD+CALLER_INFO_NAME_HEIGHT+8)
+#define CALLER_INFO_NUMBER_HEIGHT 36
+
+#define CALLER_INFO_CARRIER_L_PAD CALLER_INFO_STATUS_L_PAD
+#define CALLER_INFO_CARRIER_WIDTH 76
+#define CALLER_INFO_CARRIER_T_PAD (INDICATOR_HEIGHT+66)
+#define CALLER_INFO_CARRIER_HEIGHT 28
+
+
+#define CALLER_INFO_MIN_WIDTH 50
+
+#define ENDCALL_BTN_BG_WIDTH MAIN_SCREEN_W
+#define ENDCALL_BTN_BG_HEIGHT 106
+#define ENDCALL_BTN_BG_L_PAD 0
+#define ENDCALL_BTN_BG_T_PAD MAIN_LAYOUT_H-ENDCALL_BTN_BG_HEIGHT
+
+#define STYLE_ICN_T_PAD 21
+#define STYLE_ICN_B 67
+#define STYLE_TXT_T_PAD 79
+#define STYLE_TXT_B 109
+#define STYLE_TXT_L_PAD 10
+#define STYLE_TXT_R 150
+#define STYLE_TXT_WIDTH 140
+#define STYLE_TXT_HEIGHT 30
+#define STYLE_ONOFF_BAR_T_PAD 114
+#define STYLE_ONOFF_BAR_B 120
+#define STYLE_ONOFF_BAR_L_PAD 13
+#define STYLE_ONOFF_BAR_R 147
+
+
+
+#ifdef _VC_ANSWERING_MEMO
+#define VC_ANSWERING_INFO_L_PAD 0
+#define VC_ANSWERING_INFO_WIDTH MAIN_SCREEN_W
+#define VC_ANSWERING_INFO_T_PAD 630
+#define VC_ANSWERING_INFO_HEIGHT 50
+#endif /* _VC_ANSWERING_MEMO */
+
+#define MTLOCK_CALL_ICON_W     94
+#define MTLOCK_CALL_ICON_H     94
+
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_BG_L_PAD (-102)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_BG_WIDTH 376
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_BG_T_PAD (CALLER_INFO_HEIGHT-30)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_BG_HEIGHT 376
+
+#define MTLOCK_ACCEPT_INNER_CIRCLE_L_PAD 32
+#define MTLOCK_ACCEPT_INNER_CIRCLE_WIDTH 109
+#define MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD (INDICATOR_HEIGHT+502)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_HEIGHT 109
+
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_L_PAD 32
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_WIDTH 273
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_T_PAD MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_HEIGHT 109
+
+#define MTLOCK_ACCEPT_CIRCLE_ARROW_GAP 4
+
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_L_PAD MTLOCK_ACCEPT_INNER_CIRCLE_L_PAD+MTLOCK_ACCEPT_INNER_CIRCLE_WIDTH
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_WIDTH 8
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_T_PAD MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD+28
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_HEIGHT 44
+
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_L_PAD MTLOCK_ACCEPT_CIRCLE_ARROW2_L_PAD-MTLOCK_ACCEPT_CIRCLE_ARROW_GAP-MTLOCK_ACCEPT_CIRCLE_ARROW1_WIDTH
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_WIDTH MTLOCK_ACCEPT_CIRCLE_ARROW2_WIDTH
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_T_PAD MTLOCK_ACCEPT_CIRCLE_ARROW2_T_PAD
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_HEIGHT MTLOCK_ACCEPT_CIRCLE_ARROW2_HEIGHT
+
+#define MTLOCK_ACCEPT_ARROW1_L_PAD 160
+#define MTLOCK_ACCEPT_ARROW1_WIDTH 12
+#define MTLOCK_ACCEPT_ARROW1_T_PAD (MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD+33)
+#define MTLOCK_ACCEPT_ARROW1_HEIGHT 19
+
+#define MTLOCK_ACCEPT_ARROW2_L_PAD (MTLOCK_ACCEPT_ARROW1_L_PAD+MTLOCK_ACCEPT_ARROW1_WIDTH+17)
+#define MTLOCK_ACCEPT_ARROW2_WIDTH MTLOCK_ACCEPT_ARROW1_WIDTH
+#define MTLOCK_ACCEPT_ARROW2_T_PAD MTLOCK_ACCEPT_ARROW1_T_PAD
+#define MTLOCK_ACCEPT_ARROW2_HEIGHT MTLOCK_ACCEPT_ARROW1_HEIGHT
+
+#define MTLOCK_ACCEPT_ARROW3_L_PAD (MTLOCK_ACCEPT_ARROW2_L_PAD+MTLOCK_ACCEPT_ARROW2_WIDTH+17)
+#define MTLOCK_ACCEPT_ARROW3_WIDTH MTLOCK_ACCEPT_ARROW1_WIDTH
+#define MTLOCK_ACCEPT_ARROW3_T_PAD MTLOCK_ACCEPT_ARROW1_T_PAD
+#define MTLOCK_ACCEPT_ARROW3_HEIGHT MTLOCK_ACCEPT_ARROW1_HEIGHT
+
+#define MTLOCK_ACCEPT_ARROW4_L_PAD (MTLOCK_ACCEPT_ARROW3_L_PAD+MTLOCK_ACCEPT_ARROW3_WIDTH+17)
+#define MTLOCK_ACCEPT_ARROW4_WIDTH MTLOCK_ACCEPT_ARROW1_WIDTH
+#define MTLOCK_ACCEPT_ARROW4_T_PAD MTLOCK_ACCEPT_ARROW1_T_PAD
+#define MTLOCK_ACCEPT_ARROW4_HEIGHT MTLOCK_ACCEPT_ARROW1_HEIGHT
+
+#define MTLOCK_REJECT_OUTER_CIRCLE_BG_L_PAD 206
+#define MTLOCK_REJECT_OUTER_CIRCLE_BG_WIDTH MTLOCK_ACCEPT_OUTER_CIRCLE_BG_WIDTH
+#define MTLOCK_REJECT_OUTER_CIRCLE_BG_T_PAD MTLOCK_ACCEPT_OUTER_CIRCLE_BG_T_PAD
+#define MTLOCK_REJECT_OUTER_CIRCLE_BG_HEIGHT MTLOCK_ACCEPT_OUTER_CIRCLE_BG_HEIGHT
+
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_L_PAD MAIN_SCREEN_W-MTLOCK_ACCEPT_INNER_CIRCLE_BG_L_PAD-MTLOCK_REJECT_INNER_CIRCLE_BG_WIDTH
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_WIDTH MTLOCK_ACCEPT_INNER_CIRCLE_BG_WIDTH
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_T_PAD MTLOCK_ACCEPT_INNER_CIRCLE_BG_T_PAD
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_HEIGHT MTLOCK_ACCEPT_INNER_CIRCLE_BG_HEIGHT
+
+#define MTLOCK_REJECT_INNER_CIRCLE_L_PAD 339
+#define MTLOCK_REJECT_INNER_CIRCLE_WIDTH MTLOCK_ACCEPT_INNER_CIRCLE_WIDTH
+#define MTLOCK_REJECT_INNER_CIRCLE_T_PAD MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD
+#define MTLOCK_REJECT_INNER_CIRCLE_HEIGHT MTLOCK_ACCEPT_INNER_CIRCLE_HEIGHT
+
+#define MTLOCK_REJECT_CIRCLE_ARROW2_L_PAD MTLOCK_REJECT_INNER_CIRCLE_L_PAD+MTLOCK_ACCEPT_CIRCLE_ARROW_GAP
+#define MTLOCK_REJECT_CIRCLE_ARROW2_WIDTH MTLOCK_ACCEPT_CIRCLE_ARROW1_WIDTH
+#define MTLOCK_REJECT_CIRCLE_ARROW2_T_PAD MTLOCK_ACCEPT_CIRCLE_ARROW1_T_PAD
+#define MTLOCK_REJECT_CIRCLE_ARROW2_HEIGHT MTLOCK_ACCEPT_CIRCLE_ARROW1_HEIGHT
+
+#define MTLOCK_REJECT_CIRCLE_ARROW1_L_PAD MTLOCK_REJECT_CIRCLE_ARROW2_L_PAD-MTLOCK_ACCEPT_CIRCLE_ARROW_GAP-MTLOCK_REJECT_CIRCLE_ARROW1_WIDTH
+#define MTLOCK_REJECT_CIRCLE_ARROW1_WIDTH MTLOCK_REJECT_CIRCLE_ARROW2_WIDTH
+#define MTLOCK_REJECT_CIRCLE_ARROW1_T_PAD MTLOCK_REJECT_CIRCLE_ARROW2_T_PAD
+#define MTLOCK_REJECT_CIRCLE_ARROW1_HEIGHT MTLOCK_REJECT_CIRCLE_ARROW2_HEIGHT
+
+#define MTLOCK_REJECT_ARROW1_L_PAD (MTLOCK_REJECT_ARROW2_L_PAD-17-MTLOCK_REJECT_ARROW1_WIDTH)
+#define MTLOCK_REJECT_ARROW1_WIDTH MTLOCK_ACCEPT_ARROW1_WIDTH
+#define MTLOCK_REJECT_ARROW1_T_PAD (MTLOCK_REJECT_INNER_CIRCLE_T_PAD+68)
+#define MTLOCK_REJECT_ARROW1_HEIGHT MTLOCK_ACCEPT_ARROW1_HEIGHT
+
+#define MTLOCK_REJECT_ARROW2_L_PAD (MTLOCK_REJECT_ARROW3_L_PAD-17-MTLOCK_REJECT_ARROW2_WIDTH)
+#define MTLOCK_REJECT_ARROW2_WIDTH MTLOCK_REJECT_ARROW1_WIDTH
+#define MTLOCK_REJECT_ARROW2_T_PAD MTLOCK_REJECT_ARROW1_T_PAD
+#define MTLOCK_REJECT_ARROW2_HEIGHT MTLOCK_REJECT_ARROW1_HEIGHT
+
+#define MTLOCK_REJECT_ARROW3_L_PAD (MTLOCK_REJECT_ARROW4_L_PAD-17-MTLOCK_REJECT_ARROW3_WIDTH)
+#define MTLOCK_REJECT_ARROW3_WIDTH MTLOCK_REJECT_ARROW1_WIDTH
+#define MTLOCK_REJECT_ARROW3_T_PAD MTLOCK_REJECT_ARROW1_T_PAD
+#define MTLOCK_REJECT_ARROW3_HEIGHT MTLOCK_REJECT_ARROW1_HEIGHT
+
+#define MTLOCK_REJECT_ARROW4_WIDTH MTLOCK_REJECT_ARROW1_WIDTH
+#define MTLOCK_REJECT_ARROW4_HEIGHT MTLOCK_REJECT_ARROW1_HEIGHT
+#define MTLOCK_REJECT_ARROW4_L_PAD (MTLOCK_REJECT_INNER_CIRCLE_L_PAD-13-MTLOCK_REJECT_ARROW4_WIDTH)
+#define MTLOCK_REJECT_ARROW4_T_PAD MTLOCK_REJECT_ARROW1_T_PAD
+
+#define MTLOCK_REJECT_MSG_BG_L_PAD 0
+#define MTLOCK_REJECT_MSG_BG_WIDTH MAIN_SCREEN_W
+#define MTLOCK_REJECT_MSG_BG_HEIGHT 51
+#define MTLOCK_REJECT_MSG_BG_T_PAD (MAIN_SCREEN_H-MTLOCK_REJECT_MSG_BG_HEIGHT)
+
+#define MTLOCK_REJECT_MSG_ARW_L_PAD 225
+#define MTLOCK_REJECT_MSG_ARW_WIDTH 29
+#define MTLOCK_REJECT_MSG_ARW_HEIGHT 13
+#define MTLOCK_REJECT_MSG_ARW_T_PAD (MTLOCK_REJECT_MSG_BG_T_PAD-MTLOCK_REJECT_MSG_ARW_HEIGHT)
+
+#define MTLOCK_REJECT_MSG_DOWN_ARW_T_PAD MAIN_SCREEN_H
+
+#define MTLOCK_REJECT_MSG_TEXT_L_PAD 0
+#define MTLOCK_REJECT_MSG_TEXT_WIDTH MAIN_SCREEN_W
+#define MTLOCK_REJECT_MSG_TEXT_T_PAD MTLOCK_REJECT_MSG_BG_T_PAD
+#define MTLOCK_REJECT_MSG_TEXT_HEIGHT 51
+
+#define MTLOCK_REJECT_MSG_TOP_VISIBLE_AREA_W (MTLOCK_REJECT_MSG_TEXT_HEIGHT+MTLOCK_REJECT_MSG_ARW_HEIGHT)
+
+#define MTLOCK_ACTIVE_CALL_HEIGHT 360
+
+#define ITEM_SIZE_H 120
+
+#define REJ_MSG_LIST_W                 MAIN_SCREEN_W
+#define REJ_MSG_LIST_CREATE_MSG_BTN_H  150
+#define REJ_MSG_LIST_CREATE_MSG_BTN_L_PAD      15
+#define REJ_MSG_LIST_CREATE_MSG_BTN_R_PAD      REJ_MSG_LIST_CREATE_MSG_BTN_L_PAD
+#define REJ_MSG_LIST_CREATE_MSG_BTN_T_PAD      17
+#define REJ_MSG_LIST_CREATE_MSG_BTN_B_PAD      REJ_MSG_LIST_CREATE_MSG_BTN_T_PAD
+
+#define MTLOCK_REJECT_MSG_LIST_L_PAD 0
+#define MTLOCK_REJECT_MSG_LIST_WIDTH MAIN_SCREEN_W
+#define MTLOCK_REJECT_MSG_LIST_T_PAD (MAIN_SCREEN_H+MTLOCK_REJECT_MSG_ARW_HEIGHT)
+#define MTLOCK_REJECT_MSG_LIST_1ITEM_HEIGHT 86
+#define MTLOCK_REJECT_MSG_LIST_1ITEM_NEW_HEIGHT 120
+#define MTLOCK_REJECT_MSG_LIST_HEIGHT (MTLOCK_REJECT_MSG_LIST_1ITEM_NEW_HEIGHT*6)
+
+/*Need to be fixed as Phone GUI guide*/
+#define KEYPAD_ENTRY_TXT_L_PAD 15
+#define KEYPAD_ENTRY_TXT_WIDTH 450
+#define KEYPAD_ENTRY_TXT_T_PAD INDICATOR_HEIGHT
+#define KEYPAD_ENTRY_TXT_HEIGHT (246)
+/*****************************/
+
+#define KEYPAD_AREA_HEIGHT (MAIN_SCREEN_H-ENDCALL_BTN_BG_HEIGHT)
+#define KEYPAD_AREA_T_HIDE_PAD (MAIN_SCREEN_H-ENDCALL_BTN_BG_HEIGHT-KEYPAD_ENTRY_TXT_HEIGHT-INDICATOR_HEIGHT)
+
+#define RIGHT_TXT_WIDTH 61
+
+#define MULTI_LIST_HEIGHT MAIN_LAYOUT_H
+
+#define SIX_BTN_LAYOUT_L_PAD 0
+#define SIX_BTN_LAYOUT_WIDTH MAIN_SCREEN_W
+#define SIX_BTN_LAYOUT_T_PAD (399+INDICATOR_HEIGHT)
+#define SIX_BTN_LAYOUT_HEIGHT 258
+
+#define BOTTOM_BTN_BG_L_PAD 0
+#define BOTTOM_BTN_BG_WIDTH MAIN_SCREEN_W
+#define BOTTOM_BTN_BG_T_PAD (CALLER_INFO_HEIGHT+SIX_BTN_LAYOUT_HEIGHT)
+#define BOTTOM_BTN_BG_HEIGHT ENDCALL_BTN_BG_HEIGHT
+
+#define BTN_LAYOUT_SINGLE_BTN_WIDTH 160
+#define BTN_LAYOUT_SINGLE_BTN_HEIGHT 129
+#define BTN_LAYOUT_GAP 0
+
+#define BTN_LAYOUT_TOP_FIRST_BTN_L_PAD 0
+#define BTN_LAYOUT_TOP_SECOND_BTN_L_PAD (BTN_LAYOUT_TOP_FIRST_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+BTN_LAYOUT_GAP)
+#define BTN_LAYOUT_TOP_THIRD_BTN_L_PAD (BTN_LAYOUT_TOP_SECOND_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+BTN_LAYOUT_GAP)
+
+#define BTN_LAYOUT_BOTTOM_FIRST_BTN_L_PAD 0
+#define BTN_LAYOUT_BOTTOM_SECOND_BTN_L_PAD (BTN_LAYOUT_BOTTOM_FIRST_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+BTN_LAYOUT_GAP)
+#define BTN_LAYOUT_BOTTOM_THIRD_BTN_L_PAD (BTN_LAYOUT_BOTTOM_SECOND_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+BTN_LAYOUT_GAP)
+
+#define BTN_LAYOUT_TOP_BTNS_T_PAD BTN_LAYOUT_GAP
+#define BTN_LAYOUT_BOTTOM_BTNS_T_PAD BTN_LAYOUT_TOP_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT+BTN_LAYOUT_GAP
+
+/*two-button*/
+#define ENDCALL_TWO_BTN_WIDTH MAIN_SCREEN_W
+#define ENDCALL_TWO_BTN_HEIGHT 130
+#define ENDCALL_TWO_BTN_L_PAD 0
+#define ENDCALL_TWO_BTN_T_PAD (MAIN_LAYOUT_H-BOTTOM_BTN_BG_HEIGHT-ENDCALL_TWO_BTN_HEIGHT)
+#define ENDCALL_TWO_BTN_R_PAD (ENDCALL_TWO_BTN_L_PAD+ENDCALL_TWO_BTN_WIDTH)
+#define ENDCALL_TWO_BTN_B_PAD (ENDCALL_TWO_BTN_T_PAD+ENDCALL_TWO_BTN_HEIGHT)
+
+#define ENDCALL_VOICE_BTN_L_PAD 15
+#define ENDCALL_BTN_MID_PAD    10
+#define ENDCALL_VIDEO_BTN_L_PAD (ENDCALL_VOICE_BTN_L_PAD+ENDCALL_BTN_WIDTH+ENDCALL_BTN_MID_PAD)
+#define ENDCALL_VOICE_BTN_WIDTH 298
+#define ENDCALL_BTN_WIDTH 142
+#define ENDCALL_3_BTN_MSG_BTN_L_PAD (ENDCALL_VOICE_BTN_L_PAD+ENDCALL_VOICE_BTN_WIDTH+ENDCALL_BTN_MID_PAD)
+
+#define ENDCALL_VIEW_CONTACT_BTN_L_PAD 0
+#define ENDCALL_VIEW_CONTACT_BTN_WIDTH MAIN_SCREEN_W
+#define ENDCALL_VIEW_CONTACT_BTN_T_PAD 0
+#define ENDCALL_VIEW_CONTACT_BTN_HEIGHT 130
+
+#define ENDCALL_CREATE_CONTACT_BTN_L_PAD 0
+#define ENDCALL_CREATE_CONTACT_BTN_WIDTH 240
+#define ENDCALL_CREATE_CONTACT_BTN_T_PAD 0
+#define ENDCALL_CREATE_CONTACT_BTN_HEIGHT 130
+
+#define ENDCALL_UPDATE_CONTACT_BTN_L_PAD ENDCALL_CREATE_CONTACT_BTN_WIDTH
+
+#define QP_TXT_AREA_L_PAD 15
+#define QP_TXT_AREA_WIDTH 450
+#define QP_TXT_AREA_T_PAD 14
+#define QP_TXT_AREA_HEIGHT 36
+
+#define QP_TITLE_WIDTH 290
+#define QP_TITLE_HEIGHT 36
+
+#define QP_TIME_WIDTH 160
+#define QP_TIME_HEIGHT QP_TITLE_HEIGHT
+
+#define QP_CALL_ICON_L_PAD 0
+#define QP_CALL_ICON_WIDTH 119
+#define QP_CALL_ICON_T_PAD 63
+#define QP_CALL_ICON_HEIGHT 77
+
+#define QP_CONTENT_ICON_T_PAD 13
+#define QP_CONTENT_ICON_HEIGHT 50
+
+#define QP_MUTE_BTN_L_PAD (QP_CALL_ICON_L_PAD+QP_CALL_ICON_WIDTH+1)
+#define QP_MUTE_BTN_WIDTH QP_CALL_ICON_WIDTH
+#define QP_MUTE_BTN_T_PAD QP_CALL_ICON_T_PAD
+#define QP_MUTE_BTN_HEIGHT QP_CALL_ICON_HEIGHT
+
+#define QP_SPEAKER_BTN_L_PAD (QP_MUTE_BTN_L_PAD+QP_MUTE_BTN_WIDTH+1)
+#define QP_SPEAKER_BTN_WIDTH QP_CALL_ICON_WIDTH
+#define QP_SPEAKER_BTN_T_PAD QP_CALL_ICON_T_PAD
+#define QP_SPEAKER_BTN_HEIGHT QP_CALL_ICON_HEIGHT
+
+#define QP_END_BTN_L_PAD (QP_SPEAKER_BTN_L_PAD+QP_SPEAKER_BTN_WIDTH+1)
+#define QP_END_BTN_WIDTH 120
+#define QP_END_BTN_T_PAD QP_CALL_ICON_T_PAD
+#define QP_END_BTN_HEIGHT QP_CALL_ICON_HEIGHT
+
+/*
+ * QUICK-PANEL layout
+ * In Portrait mode
+ */
+#define CALL_QUICKPANEL_TXT_AREA_L REL_QP_W(QP_TXT_AREA_L_PAD)
+#define CALL_QUICKPANEL_TXT_AREA_R REL_QP_W(QP_TXT_AREA_L_PAD+QP_TXT_AREA_WIDTH)
+#define CALL_QUICKPANEL_TXT_AREA_T REL_QP_H(QP_TXT_AREA_T_PAD)
+#define CALL_QUICKPANEL_TXT_AREA_B REL_QP_H(QP_TXT_AREA_T_PAD+QP_TXT_AREA_HEIGHT)
+
+#define CALL_QUICKPANEL_CALL_ICON_T REL_QP_H(QP_CALL_ICON_T_PAD)
+#define CALL_QUICKPANEL_CALL_ICON_B REL_QP_H(QP_CALL_ICON_T_PAD+QP_CALL_ICON_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_MUTE_T REL_QP_H(QP_MUTE_BTN_T_PAD)
+#define CALL_QUICKPANEL_BTN_MUTE_B REL_QP_H(QP_MUTE_BTN_T_PAD+QP_END_BTN_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_SPEAKER_T REL_QP_H(QP_SPEAKER_BTN_T_PAD)
+#define CALL_QUICKPANEL_BTN_SPEAKER_B REL_QP_H(QP_SPEAKER_BTN_T_PAD+QP_END_BTN_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_END_T REL_QP_H(QP_END_BTN_T_PAD)
+#define CALL_QUICKPANEL_BTN_END_B REL_QP_H(QP_END_BTN_T_PAD+QP_END_BTN_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_ICON_T REL_QP_BTN_H(QP_CONTENT_ICON_T_PAD)
+#define CALL_QUICKPANEL_BTN_ICON_B REL_QP_BTN_H(QP_CONTENT_ICON_T_PAD+QP_CONTENT_ICON_HEIGHT)
+/*
+ * End of QUICK-PANEL layout
+ */
+
+///////quickpanel////
+
+/* Volume Popup Layout */
+#define VOL_POPUP_PORTRAIT_H 102
+#define VOL_POPUP_PORTRAIT_W 480
+
+/*
+ * End of NBEAT-HD GUI Widget Dimensions
+ */
+
+
+/*
+ * Relative positions
+ * In Portrait mode
+ */
+/* Relative X & Y positions of widgets w.r.t. Full Screen */
+#define REL_W(x) ((x)/MAIN_SCREEN_W)
+#define REL_H(y) ((y)/MAIN_LAYOUT_H)
+
+/* Relative X & Y positions of widgets w.r.t. Quick-panel layout */
+#define REL_QP_W(x) ((x)/QP_WIN_W)
+#define REL_QP_H(y) ((y)/QP_WIN_H)
+
+/* Relative X & Y positions of widgets w.r.t. Quick-panel button layout */
+#define REL_QP_BTN_W(x) ((x)/QP_CALL_ICON_WIDTH)
+#define REL_QP_BTN_H(y) ((y)/QP_CALL_ICON_HEIGHT)
+
+/* Relative X & Y positions of buttons w.r.t. Six-Button layout - Portrait Mode */
+#define REL_BTN_LY_W(x) ((x)/SIX_BTN_LAYOUT_WIDTH)
+#define REL_BTN_LY_H(y) ((y)/SIX_BTN_LAYOUT_HEIGHT)
+
+/* Relative X & Y positions of buttons w.r.t. Three-Button layout of ENDCALL*/
+#define REL_THREE_BTN_LY_W(x) ((x)/THREE_BTN_LAYOUT_WIDTH)
+#define REL_THREE_BTN_LY_H(y) ((y)/THREE_BTN_LAYOUT_HEIGHT)
+
+/*Relative Y postions of elements w.r.t. Caller info layout*/
+#define REL_CALLER_INFO_H(y) ((y)/CALLER_INFO_HEIGHT)
+
+/*Relative Y postions of elements w.r.t. Multi list layout*/
+#define REL_MULTI_LIST_H(y) ((y)/MULTI_LIST_HEIGHT)
+
+#define REL_CONTACT_BTN_W(x) ((x)/MAIN_SCREEN_W)
+#define REL_CONTACT_BTN_H(y) ((y)/ENDCALL_CREATE_CONTACT_BTN_HEIGHT)
+
+#define REL_REJECT_MSG_W(x) ((x)/MAIN_SCREEN_W)
+#define REL_REJECT_MSG_H(y) ((y)/MAIN_SCREEN_H)
+
+#define REL_REJECT_MSG_SIZE_H(y) (1.0 + (y)/MAIN_SCREEN_BIG_H)
+
+
+/*
+ * End of Relative positions
+ */
+
+
+/*
+ * MO/Dialing view & MT/Incoming view
+ * In Portrait mode
+ */
+#define BUTTON_REJECT_SIZE_H 78
+#define BUTTON_OFFSET_B 22
+#define BUTTON_OFFSET_T 20
+#define IMAGE_CLOSE 18
+#define IMAGE_OFFSET 12
+#define VC_CALLER_ID_LAYOUT_L REL_W(147)
+#define VC_CALLER_ID_LAYOUT_R REL_W(147+186)
+#define VC_CALLER_ID_LAYOUT_T REL_CALLER_INFO_H(VC_CALLER_ID_LAYOUT_T_PAD)
+#define VC_CALLER_ID_LAYOUT_B REL_CALLER_INFO_H(VC_CALLER_ID_LAYOUT_T_PAD+VC_CALLER_ID_LAYOUT_HEIGHT)
+
+#define VC_CALLER_ID_EFFECT_L REL_W(140)
+#define VC_CALLER_ID_EFFECT_R REL_W(140+200)
+#define VC_CALLER_ID_EFFECT_T REL_CALLER_INFO_H(VC_CALLER_ID_LAYOUT_T_PAD-7)
+#define VC_CALLER_ID_EFFECT_B REL_CALLER_INFO_H(VC_CALLER_ID_LAYOUT_T_PAD+VC_CALLER_ID_LAYOUT_HEIGHT+7)
+
+#ifdef _VC_ANSWERING_MEMO
+#define VC_ANSWERING_INFO_L REL_W(VC_ANSWERING_INFO_L_PAD)
+#define VC_ANSWERING_INFO_R REL_W(VC_ANSWERING_INFO_L_PAD+VC_ANSWERING_INFO_WIDTH)
+#define VC_ANSWERING_INFO_T REL_H(VC_ANSWERING_INFO_T_PAD)
+#define VC_ANSWERING_INFO_B REL_H(VC_ANSWERING_INFO_T_PAD+VC_ANSWERING_INFO_HEIGHT)
+#endif /* _VC_ANSWERING_MEMO */
+
+/*
+ * End of MO/Dialing view & MT/Incoming view
+ */
+
+/*
+ * MT LOCK View - check
+ * In Portrait mode
+ */
+#define MTLOCK_ACCEPT_CIRCLE_RECT_WIDTH        MAIN_SCREEN_W
+#define MTLOCK_ACCEPT_CIRCLE_RECT_HEIGHT       313
+
+#define MTLOCK_ACCEPT_INNER_CIRCLE_L REL_W(MTLOCK_ACCEPT_INNER_CIRCLE_L_PAD)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_R REL_W(MTLOCK_ACCEPT_INNER_CIRCLE_L_PAD+MTLOCK_ACCEPT_INNER_CIRCLE_WIDTH)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_T REL_H(MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_B REL_H(MTLOCK_ACCEPT_INNER_CIRCLE_T_PAD+MTLOCK_ACCEPT_INNER_CIRCLE_HEIGHT)
+
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_L REL_W(MTLOCK_ACCEPT_INNER_CIRCLE_BG_L_PAD)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_R REL_W(MTLOCK_ACCEPT_INNER_CIRCLE_BG_L_PAD+MTLOCK_ACCEPT_INNER_CIRCLE_BG_WIDTH)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_T REL_H(MTLOCK_ACCEPT_INNER_CIRCLE_BG_T_PAD)
+#define MTLOCK_ACCEPT_INNER_CIRCLE_BG_B REL_H(MTLOCK_ACCEPT_INNER_CIRCLE_BG_T_PAD+MTLOCK_ACCEPT_INNER_CIRCLE_BG_HEIGHT)
+
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_L REL_W(MTLOCK_ACCEPT_OUTER_CIRCLE_BG_L_PAD)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_R REL_W(MTLOCK_ACCEPT_OUTER_CIRCLE_BG_L_PAD+MTLOCK_ACCEPT_OUTER_CIRCLE_BG_WIDTH)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_T REL_H(MTLOCK_ACCEPT_OUTER_CIRCLE_BG_T_PAD)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_B REL_H(MTLOCK_ACCEPT_OUTER_CIRCLE_BG_T_PAD+MTLOCK_ACCEPT_OUTER_CIRCLE_BG_HEIGHT)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_CLIP_RECT_T REL_H(CALLER_INFO_HEIGHT)
+#define MTLOCK_ACCEPT_OUTER_CIRCLE_CLIP_RECT_B REL_H(MAIN_LAYOUT_H-MTLOCK_REJECT_MSG_BG_HEIGHT)
+
+
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_L REL_W(MTLOCK_ACCEPT_CIRCLE_ARROW1_L_PAD)
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_R REL_W(MTLOCK_ACCEPT_CIRCLE_ARROW1_L_PAD+MTLOCK_ACCEPT_CIRCLE_ARROW1_WIDTH)
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_T REL_H(MTLOCK_ACCEPT_CIRCLE_ARROW1_T_PAD)
+#define MTLOCK_ACCEPT_CIRCLE_ARROW1_B REL_H(MTLOCK_ACCEPT_CIRCLE_ARROW1_T_PAD+MTLOCK_ACCEPT_CIRCLE_ARROW1_HEIGHT)
+
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_L REL_W(MTLOCK_ACCEPT_CIRCLE_ARROW2_L_PAD)
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_R REL_W(MTLOCK_ACCEPT_CIRCLE_ARROW2_L_PAD+MTLOCK_ACCEPT_CIRCLE_ARROW2_WIDTH)
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_T REL_H(MTLOCK_ACCEPT_CIRCLE_ARROW2_T_PAD)
+#define MTLOCK_ACCEPT_CIRCLE_ARROW2_B REL_H(MTLOCK_ACCEPT_CIRCLE_ARROW2_T_PAD+MTLOCK_ACCEPT_CIRCLE_ARROW2_HEIGHT)
+
+
+
+#define MTLOCK_ACCEPT_ARROW1_L REL_W(MTLOCK_ACCEPT_ARROW1_L_PAD)
+#define MTLOCK_ACCEPT_ARROW1_R REL_W(MTLOCK_ACCEPT_ARROW1_L_PAD+MTLOCK_ACCEPT_ARROW1_WIDTH)
+#define MTLOCK_ACCEPT_ARROW1_T REL_H(MTLOCK_ACCEPT_ARROW1_T_PAD)
+#define MTLOCK_ACCEPT_ARROW1_B REL_H(MTLOCK_ACCEPT_ARROW1_T_PAD+MTLOCK_ACCEPT_ARROW1_HEIGHT)
+
+#define MTLOCK_ACCEPT_ARROW2_L REL_W(MTLOCK_ACCEPT_ARROW2_L_PAD)
+#define MTLOCK_ACCEPT_ARROW2_R REL_W(MTLOCK_ACCEPT_ARROW2_L_PAD+MTLOCK_ACCEPT_ARROW2_WIDTH)
+#define MTLOCK_ACCEPT_ARROW2_T REL_H(MTLOCK_ACCEPT_ARROW2_T_PAD)
+#define MTLOCK_ACCEPT_ARROW2_B REL_H(MTLOCK_ACCEPT_ARROW2_T_PAD+MTLOCK_ACCEPT_ARROW2_HEIGHT)
+
+#define MTLOCK_ACCEPT_ARROW3_L REL_W(MTLOCK_ACCEPT_ARROW3_L_PAD)
+#define MTLOCK_ACCEPT_ARROW3_R REL_W(MTLOCK_ACCEPT_ARROW3_L_PAD+MTLOCK_ACCEPT_ARROW3_WIDTH)
+#define MTLOCK_ACCEPT_ARROW3_T REL_H(MTLOCK_ACCEPT_ARROW3_T_PAD)
+#define MTLOCK_ACCEPT_ARROW3_B REL_H(MTLOCK_ACCEPT_ARROW3_T_PAD+MTLOCK_ACCEPT_ARROW3_HEIGHT)
+
+#define MTLOCK_ACCEPT_ARROW4_L REL_W(MTLOCK_ACCEPT_ARROW4_L_PAD)
+#define MTLOCK_ACCEPT_ARROW4_R REL_W(MTLOCK_ACCEPT_ARROW4_L_PAD+MTLOCK_ACCEPT_ARROW4_WIDTH)
+#define MTLOCK_ACCEPT_ARROW4_T REL_H(MTLOCK_ACCEPT_ARROW4_T_PAD)
+#define MTLOCK_ACCEPT_ARROW4_B REL_H(MTLOCK_ACCEPT_ARROW4_T_PAD+MTLOCK_ACCEPT_ARROW4_HEIGHT)
+
+#define MTLOCK_REJECT_INNER_CIRCLE_L REL_W(MTLOCK_REJECT_INNER_CIRCLE_L_PAD)
+#define MTLOCK_REJECT_INNER_CIRCLE_R REL_W(MTLOCK_REJECT_INNER_CIRCLE_L_PAD+MTLOCK_REJECT_INNER_CIRCLE_WIDTH)
+#define MTLOCK_REJECT_INNER_CIRCLE_T REL_H(MTLOCK_REJECT_INNER_CIRCLE_T_PAD)
+#define MTLOCK_REJECT_INNER_CIRCLE_B REL_H(MTLOCK_REJECT_INNER_CIRCLE_T_PAD+MTLOCK_REJECT_INNER_CIRCLE_HEIGHT)
+
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_L REL_W(MTLOCK_REJECT_INNER_CIRCLE_BG_L_PAD)
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_R REL_W(MTLOCK_REJECT_INNER_CIRCLE_BG_L_PAD+MTLOCK_REJECT_INNER_CIRCLE_BG_WIDTH)
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_T REL_H(MTLOCK_REJECT_INNER_CIRCLE_BG_T_PAD)
+#define MTLOCK_REJECT_INNER_CIRCLE_BG_B REL_H(MTLOCK_REJECT_INNER_CIRCLE_BG_T_PAD+MTLOCK_REJECT_INNER_CIRCLE_BG_HEIGHT)
+
+#define MTLOCK_REJECT_OUTER_CIRCLE_L REL_W(MTLOCK_REJECT_OUTER_CIRCLE_BG_L_PAD)
+#define MTLOCK_REJECT_OUTER_CIRCLE_R REL_W(MTLOCK_REJECT_OUTER_CIRCLE_BG_L_PAD+MTLOCK_REJECT_OUTER_CIRCLE_BG_WIDTH)
+#define MTLOCK_REJECT_OUTER_CIRCLE_T REL_H(MTLOCK_REJECT_OUTER_CIRCLE_BG_T_PAD)
+#define MTLOCK_REJECT_OUTER_CIRCLE_B REL_H(MTLOCK_REJECT_OUTER_CIRCLE_BG_T_PAD+MTLOCK_REJECT_OUTER_CIRCLE_BG_HEIGHT)
+#define MTLOCK_REJECT_OUTER_CIRCLE_CLIP_RECT_T REL_H(CALLER_INFO_HEIGHT)
+#define MTLOCK_REJECT_OUTER_CIRCLE_CLIP_RECT_B REL_H(MAIN_LAYOUT_H-MTLOCK_REJECT_MSG_BG_HEIGHT)
+
+#define MTLOCK_REJECT_CIRCLE_ARROW1_L REL_W(MTLOCK_REJECT_CIRCLE_ARROW1_L_PAD)
+#define MTLOCK_REJECT_CIRCLE_ARROW1_R REL_W(MTLOCK_REJECT_CIRCLE_ARROW1_L_PAD+MTLOCK_REJECT_CIRCLE_ARROW1_WIDTH)
+#define MTLOCK_REJECT_CIRCLE_ARROW1_T REL_H(MTLOCK_REJECT_CIRCLE_ARROW1_T_PAD)
+#define MTLOCK_REJECT_CIRCLE_ARROW1_B REL_H(MTLOCK_REJECT_CIRCLE_ARROW1_T_PAD+MTLOCK_REJECT_CIRCLE_ARROW1_HEIGHT)
+
+#define MTLOCK_REJECT_CIRCLE_ARROW2_L REL_W(MTLOCK_REJECT_CIRCLE_ARROW2_L_PAD)
+#define MTLOCK_REJECT_CIRCLE_ARROW2_R REL_W(MTLOCK_REJECT_CIRCLE_ARROW2_L_PAD+MTLOCK_REJECT_CIRCLE_ARROW2_WIDTH)
+#define MTLOCK_REJECT_CIRCLE_ARROW2_T REL_H(MTLOCK_REJECT_CIRCLE_ARROW2_T_PAD)
+#define MTLOCK_REJECT_CIRCLE_ARROW2_B REL_H(MTLOCK_REJECT_CIRCLE_ARROW2_T_PAD+MTLOCK_REJECT_CIRCLE_ARROW2_HEIGHT)
+
+#define MTLOCK_REJECT_ARROW1_L REL_W(MTLOCK_REJECT_ARROW1_L_PAD)
+#define MTLOCK_REJECT_ARROW1_R REL_W(MTLOCK_REJECT_ARROW1_L_PAD+MTLOCK_REJECT_ARROW1_WIDTH)
+#define MTLOCK_REJECT_ARROW1_T REL_H(MTLOCK_REJECT_ARROW1_T_PAD)
+#define MTLOCK_REJECT_ARROW1_B REL_H(MTLOCK_REJECT_ARROW1_T_PAD+MTLOCK_REJECT_ARROW1_HEIGHT)
+
+#define MTLOCK_REJECT_ARROW2_L REL_W(MTLOCK_REJECT_ARROW2_L_PAD)
+#define MTLOCK_REJECT_ARROW2_R REL_W(MTLOCK_REJECT_ARROW2_L_PAD+MTLOCK_REJECT_ARROW2_WIDTH)
+#define MTLOCK_REJECT_ARROW2_T REL_H(MTLOCK_REJECT_ARROW2_T_PAD)
+#define MTLOCK_REJECT_ARROW2_B REL_H(MTLOCK_REJECT_ARROW2_T_PAD+MTLOCK_REJECT_ARROW2_HEIGHT)
+
+#define MTLOCK_REJECT_ARROW3_L REL_W(MTLOCK_REJECT_ARROW3_L_PAD)
+#define MTLOCK_REJECT_ARROW3_R REL_W(MTLOCK_REJECT_ARROW3_L_PAD+MTLOCK_REJECT_ARROW3_WIDTH)
+#define MTLOCK_REJECT_ARROW3_T REL_H(MTLOCK_REJECT_ARROW3_T_PAD)
+#define MTLOCK_REJECT_ARROW3_B REL_H(MTLOCK_REJECT_ARROW3_T_PAD+MTLOCK_REJECT_ARROW3_HEIGHT)
+
+#define MTLOCK_REJECT_ARROW4_L REL_W(MTLOCK_REJECT_ARROW4_L_PAD)
+#define MTLOCK_REJECT_ARROW4_R REL_W(MTLOCK_REJECT_ARROW4_L_PAD+MTLOCK_REJECT_ARROW4_WIDTH)
+#define MTLOCK_REJECT_ARROW4_T REL_H(MTLOCK_REJECT_ARROW4_T_PAD)
+#define MTLOCK_REJECT_ARROW4_B REL_H(MTLOCK_REJECT_ARROW4_T_PAD+MTLOCK_REJECT_ARROW4_HEIGHT)
+
+#define MTLOCK_REJECT_MSG_BG_L REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_BG_L_PAD)
+#define MTLOCK_REJECT_MSG_BG_R REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_BG_L_PAD+MTLOCK_REJECT_MSG_BG_WIDTH)
+#define MTLOCK_REJECT_MSG_BG_T REL_REJECT_MSG_H(MTLOCK_REJECT_MSG_BG_T_PAD)
+#define MTLOCK_REJECT_MSG_BG_B REL_REJECT_MSG_H(MTLOCK_REJECT_MSG_BG_T_PAD+MTLOCK_REJECT_MSG_BG_HEIGHT)
+
+#define MTLOCK_REJECT_MSG_ARW_L REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_ARW_L_PAD)
+#define MTLOCK_REJECT_MSG_ARW_R REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_ARW_L_PAD+MTLOCK_REJECT_MSG_ARW_WIDTH)
+#define MTLOCK_REJECT_MSG_ARW_T REL_REJECT_MSG_H(MTLOCK_REJECT_MSG_ARW_T_PAD)
+#define MTLOCK_REJECT_MSG_ARW_CLOSE_T 1.0
+#define MTLOCK_REJECT_MSG_ARW_B REL_REJECT_MSG_H(MTLOCK_REJECT_MSG_ARW_T_PAD+MTLOCK_REJECT_MSG_ARW_HEIGHT)
+#define MTLOCK_REJECT_MSG_ARW_CLOSE_B REL_REJECT_MSG_SIZE_H(IMAGE_CLOSE)
+
+#define MTLOCK_REJECT_MSG_TEXT_L REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_TEXT_L_PAD)
+#define MTLOCK_REJECT_MSG_TEXT_R REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_TEXT_L_PAD+MTLOCK_REJECT_MSG_TEXT_WIDTH)
+#define MTLOCK_REJECT_MSG_TEXT_T REL_REJECT_MSG_H(MTLOCK_REJECT_MSG_TEXT_T_PAD)
+#define MTLOCK_REJECT_MSG_TEXT_B REL_REJECT_MSG_H(MTLOCK_REJECT_MSG_TEXT_T_PAD+MTLOCK_REJECT_MSG_TEXT_HEIGHT)
+
+#define MTLOCK_REJECT_MSG_LIST_L REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_LIST_L_PAD)
+#define MTLOCK_REJECT_MSG_LIST_R REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_LIST_L_PAD+MTLOCK_REJECT_MSG_LIST_WIDTH)
+
+#define MTLOCK_REJECT_MSG_DOWN_ARROW_T (1.0 - (IMAGE_OFFSET/MAIN_SCREEN_BIG_H))
+#define MTLOCK_REJECT_MSG_DOWN_ARROW_B REL_REJECT_MSG_SIZE_H(IMAGE_CLOSE)
+
+#define MTLOCK_REJECT_MSG_BTN_L REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_LIST_L_PAD)
+#define MTLOCK_REJECT_MSG_BTN_R REL_REJECT_MSG_W(MTLOCK_REJECT_MSG_LIST_L_PAD+MTLOCK_REJECT_MSG_LIST_WIDTH)
+#define MTLOCK_REJECT_MSG_BTN_T REL_REJECT_MSG_SIZE_H(IMAGE_CLOSE)
+#define MTLOCK_REJECT_MSG_BTN_B REL_REJECT_MSG_SIZE_H(BUTTON_REJECT_SIZE_H + BUTTON_OFFSET_B + BUTTON_OFFSET_T + IMAGE_CLOSE)
+
+#define REJECT_MSG (BUTTON_REJECT_SIZE_H + BUTTON_OFFSET_B + BUTTON_OFFSET_T + BUTTON_OFFSET_T)
+#define MTLOCK_REJECT_MSG_LIST_NEW_T REL_REJECT_MSG_SIZE_H(REJECT_MSG)
+
+#define MTLOCK_REJECT_MSG_LIST_6ITEMS_B REL_REJECT_MSG_SIZE_H((ITEM_SIZE_H * 6) + REJECT_MSG)
+#define MTLOCK_REJECT_MSG_LIST_5ITEMS_B REL_REJECT_MSG_SIZE_H((ITEM_SIZE_H * 5) + REJECT_MSG)
+#define MTLOCK_REJECT_MSG_LIST_4ITEMS_B REL_REJECT_MSG_SIZE_H((ITEM_SIZE_H * 4) + REJECT_MSG)
+#define MTLOCK_REJECT_MSG_LIST_3ITEMS_B REL_REJECT_MSG_SIZE_H((ITEM_SIZE_H * 3) + REJECT_MSG)
+#define MTLOCK_REJECT_MSG_LIST_2ITEMS_B REL_REJECT_MSG_SIZE_H((ITEM_SIZE_H * 2) + REJECT_MSG)
+#define MTLOCK_REJECT_MSG_LIST_1ITEM_B REL_REJECT_MSG_SIZE_H((ITEM_SIZE_H * 1) + REJECT_MSG)
+/*
+ * End of MT LOCK View
+ */
+
+/*
+ * KEYPAD View
+ * In Portrait mode
+ */
+#define KEYPAD_AREA_T_HIDE REL_H(KEYPAD_AREA_T_HIDE_PAD)
+#define KEYPAD_AREA_B_HIDE REL_H(KEYPAD_AREA_T_HIDE_PAD+KEYPAD_AREA_HEIGHT)
+
+#define KEYPAD_ENTRY_TEXT_L REL_W(KEYPAD_ENTRY_TXT_L_PAD)
+#define KEYPAD_ENTRY_TEXT_R REL_W(KEYPAD_ENTRY_TXT_L_PAD+KEYPAD_ENTRY_TXT_WIDTH)
+#define KEYPAD_ENTRY_TEXT_T REL_H(KEYPAD_ENTRY_TXT_T_PAD)
+#define KEYPAD_ENTRY_TEXT_B REL_H(KEYPAD_ENTRY_TXT_T_PAD+KEYPAD_ENTRY_TXT_HEIGHT)
+/*
+ * End of KEYPAD View
+ */
+
+
+/*
+ * SIX BUTTON Layout
+ * In Portrait mode
+ */
+
+#define        TOP_FIRST_BUTTON_L REL_BTN_LY_W(BTN_LAYOUT_TOP_FIRST_BTN_L_PAD)
+#define        TOP_FIRST_BUTTON_R REL_BTN_LY_W(BTN_LAYOUT_SINGLE_BTN_WIDTH)
+#define        TOP_FIRST_BUTTON_T REL_BTN_LY_H(BTN_LAYOUT_TOP_BTNS_T_PAD)
+#define        TOP_FIRST_BUTTON_B REL_BTN_LY_H(BTN_LAYOUT_TOP_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT)
+
+#define        TOP_SECOND_BUTTON_L REL_BTN_LY_W(BTN_LAYOUT_TOP_SECOND_BTN_L_PAD)
+#define        TOP_SECOND_BUTTON_R REL_BTN_LY_W(BTN_LAYOUT_TOP_SECOND_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+1)
+#define        TOP_SECOND_BUTTON_T REL_BTN_LY_H(BTN_LAYOUT_TOP_BTNS_T_PAD)
+#define        TOP_SECOND_BUTTON_B REL_BTN_LY_H(BTN_LAYOUT_TOP_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT)
+
+#define        TOP_THIRD_BUTTON_L REL_BTN_LY_W(BTN_LAYOUT_TOP_THIRD_BTN_L_PAD)
+#define        TOP_THIRD_BUTTON_R REL_BTN_LY_W(BTN_LAYOUT_TOP_THIRD_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+2)
+#define        TOP_THIRD_BUTTON_T REL_BTN_LY_H(BTN_LAYOUT_TOP_BTNS_T_PAD)
+#define        TOP_THIRD_BUTTON_B REL_BTN_LY_H(BTN_LAYOUT_TOP_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT)
+
+#define BOTTOM_FIRST_BUTTON_L REL_BTN_LY_W(BTN_LAYOUT_BOTTOM_FIRST_BTN_L_PAD)
+#define BOTTOM_FIRST_BUTTON_R REL_BTN_LY_W(BTN_LAYOUT_BOTTOM_FIRST_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH)
+#define BOTTOM_FIRST_BUTTON_T REL_BTN_LY_H(BTN_LAYOUT_BOTTOM_BTNS_T_PAD)
+#define BOTTOM_FIRST_BUTTON_B REL_BTN_LY_H(BTN_LAYOUT_BOTTOM_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT)
+
+#define BOTTOM_SECOND_BUTTON_L REL_BTN_LY_W(BTN_LAYOUT_BOTTOM_SECOND_BTN_L_PAD)
+#define BOTTOM_SECOND_BUTTON_R REL_BTN_LY_W(BTN_LAYOUT_BOTTOM_SECOND_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+1)
+#define BOTTOM_SECOND_BUTTON_T REL_BTN_LY_H(BTN_LAYOUT_BOTTOM_BTNS_T_PAD)
+#define BOTTOM_SECOND_BUTTON_B REL_BTN_LY_H(BTN_LAYOUT_BOTTOM_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT)
+
+#define BOTTOM_THIRD_BUTTON_L REL_BTN_LY_W(BTN_LAYOUT_BOTTOM_THIRD_BTN_L_PAD)
+#define BOTTOM_THIRD_BUTTON_R REL_BTN_LY_W(BTN_LAYOUT_BOTTOM_THIRD_BTN_L_PAD+BTN_LAYOUT_SINGLE_BTN_WIDTH+2)
+#define BOTTOM_THIRD_BUTTON_T REL_BTN_LY_H(BTN_LAYOUT_BOTTOM_BTNS_T_PAD)
+#define BOTTOM_THIRD_BUTTON_B REL_BTN_LY_H(BTN_LAYOUT_BOTTOM_BTNS_T_PAD+BTN_LAYOUT_SINGLE_BTN_HEIGHT)
+
+/*
+ * End of SIX Button Layout
+ */
+
+/*
+ * General Button Layout
+ * Portrait mode
+ */
+#define SIX_BTN_LAYOUT_L REL_W(SIX_BTN_LAYOUT_L_PAD)
+#define SIX_BTN_LAYOUT_R REL_W(SIX_BTN_LAYOUT_L_PAD+SIX_BTN_LAYOUT_WIDTH)
+#define SIX_BTN_LAYOUT_T REL_H(SIX_BTN_LAYOUT_T_PAD)
+#define SIX_BTN_LAYOUT_B REL_H(SIX_BTN_LAYOUT_T_PAD+SIX_BTN_LAYOUT_HEIGHT)
+
+/*
+ * End of SIX Button Layout
+ */
+
+/*
+ * Bottom Button layout
+ */
+#define BOTTOM_BTN_LAYOUT_L REL_W(BOTTOM_BTN_BG_L_PAD)
+#define BOTTOM_BTN_LAYOUT_R REL_W(BOTTOM_BTN_BG_L_PAD+BOTTOM_BTN_BG_WIDTH)
+#define BOTTOM_BTN_LAYOUT_T REL_H(BOTTOM_BTN_BG_T_PAD)
+#define BOTTOM_BTN_LAYOUT_B REL_H(BOTTOM_BTN_BG_T_PAD+BOTTOM_BTN_BG_HEIGHT)
+/*
+ * End of Bottom Button layout
+ */
+
+/*
+ * END CALL View
+ * In Portrait mode
+ */
+#define ENDSINGLECALL_BTN_BG_L REL_W(ENDCALL_TWO_BTN_L_PAD)
+#define ENDSINGLECALL_BTN_BG_R REL_W(ENDCALL_TWO_BTN_L_PAD+ENDCALL_TWO_BTN_WIDTH)
+#define ENDSINGLECALL_BTN_BG_T REL_H(ENDCALL_TWO_BTN_T_PAD)
+#define ENDSINGLECALL_BTN_BG_B REL_H(ENDCALL_TWO_BTN_T_PAD+ENDCALL_TWO_BTN_HEIGHT)
+
+#define ENDSINGLECALL_VIEW_CONTACT_BTN_L REL_CONTACT_BTN_W(ENDCALL_VIEW_CONTACT_BTN_L_PAD)
+#define ENDSINGLECALL_VIEW_CONTACT_BTN_R REL_CONTACT_BTN_W(ENDCALL_VIEW_CONTACT_BTN_L_PAD+ENDCALL_VIEW_CONTACT_BTN_WIDTH)
+#define ENDSINGLECALL_VIEW_CONTACT_BTN_T REL_CONTACT_BTN_H(ENDCALL_VIEW_CONTACT_BTN_T_PAD)
+#define ENDSINGLECALL_VIEW_CONTACT_BTN_B REL_CONTACT_BTN_H(ENDCALL_VIEW_CONTACT_BTN_T_PAD+ENDCALL_VIEW_CONTACT_BTN_HEIGHT)
+
+#define ENDSINGLECALL_CREATE_CONTACT_BTN_L REL_CONTACT_BTN_W(ENDCALL_CREATE_CONTACT_BTN_L_PAD)
+#define ENDSINGLECALL_CREATE_CONTACT_BTN_R REL_CONTACT_BTN_W(ENDCALL_CREATE_CONTACT_BTN_L_PAD+ENDCALL_CREATE_CONTACT_BTN_WIDTH)
+#define ENDSINGLECALL_CREATE_CONTACT_BTN_T REL_CONTACT_BTN_H(ENDCALL_CREATE_CONTACT_BTN_T_PAD)
+#define ENDSINGLECALL_CREATE_CONTACT_BTN_B REL_CONTACT_BTN_H(ENDCALL_CREATE_CONTACT_BTN_T_PAD+ENDCALL_CREATE_CONTACT_BTN_HEIGHT)
+
+#define ENDSINGLECALL_UPDATE_CONTACT_BTN_L REL_CONTACT_BTN_W(ENDCALL_UPDATE_CONTACT_BTN_L_PAD)
+#define ENDSINGLECALL_UPDATE_CONTACT_BTN_R REL_CONTACT_BTN_W(ENDCALL_UPDATE_CONTACT_BTN_L_PAD+ENDCALL_CREATE_CONTACT_BTN_WIDTH)
+#define ENDSINGLECALL_UPDATE_CONTACT_BTN_T REL_CONTACT_BTN_H(ENDCALL_CREATE_CONTACT_BTN_T_PAD)
+#define ENDSINGLECALL_UPDATE_CONTACT_BTN_B REL_CONTACT_BTN_H(ENDCALL_CREATE_CONTACT_BTN_T_PAD+ENDCALL_CREATE_CONTACT_BTN_HEIGHT)
+
+#define ENDSINGLECALL_VIDEOCALL_BTN_BG_L REL_W(ENDCALL_VIDEO_BTN_L_PAD)
+#define ENDSINGLECALL_VIDEOCALL_BTN_BG_R REL_W(ENDCALL_VIDEO_BTN_L_PAD+ENDCALL_BTN_WIDTH)
+
+#define ENDSINGLECALL_CALL_BTN_BG_L REL_W(ENDCALL_VOICE_BTN_L_PAD)
+#define ENDSINGLECALL_CALL_BTN_BG_R REL_W(ENDCALL_VOICE_BTN_L_PAD+ENDCALL_VOICE_BTN_WIDTH)
+
+#define ENDSINGLECALL_MSG_BTN_BG_L REL_W(ENDCALL_3_BTN_MSG_BTN_L_PAD)
+#define ENDSINGLECALL_MSG_BTN_BG_R REL_W(ENDCALL_3_BTN_MSG_BTN_L_PAD+ENDCALL_BTN_WIDTH)
+/*
+ * End of END CALL View
+ */
+
+/*
+ * QUICK-PANEL layout
+ * In Portrait mode
+ */
+#define CALL_QUICKPANEL_TXT_AREA_L REL_QP_W(QP_TXT_AREA_L_PAD)
+#define CALL_QUICKPANEL_TXT_AREA_R REL_QP_W(QP_TXT_AREA_L_PAD+QP_TXT_AREA_WIDTH)
+#define CALL_QUICKPANEL_TXT_AREA_T REL_QP_H(QP_TXT_AREA_T_PAD)
+#define CALL_QUICKPANEL_TXT_AREA_B REL_QP_H(QP_TXT_AREA_T_PAD+QP_TXT_AREA_HEIGHT)
+
+#define CALL_QUICKPANEL_CALL_ICON_L REL_QP_W(QP_CALL_ICON_L_PAD)
+#define CALL_QUICKPANEL_CALL_ICON_R REL_QP_W(QP_CALL_ICON_L_PAD+QP_CALL_ICON_WIDTH)
+#define CALL_QUICKPANEL_CALL_ICON_T REL_QP_H(QP_CALL_ICON_T_PAD)
+#define CALL_QUICKPANEL_CALL_ICON_B REL_QP_H(QP_CALL_ICON_T_PAD+QP_CALL_ICON_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_MUTE_L REL_QP_W(QP_MUTE_BTN_L_PAD)
+#define CALL_QUICKPANEL_BTN_MUTE_R REL_QP_W(QP_MUTE_BTN_L_PAD+QP_MUTE_BTN_WIDTH)
+#define CALL_QUICKPANEL_BTN_MUTE_T REL_QP_H(QP_MUTE_BTN_T_PAD)
+#define CALL_QUICKPANEL_BTN_MUTE_B REL_QP_H(QP_MUTE_BTN_T_PAD+QP_END_BTN_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_SPEAKER_L REL_QP_W(QP_SPEAKER_BTN_L_PAD)
+#define CALL_QUICKPANEL_BTN_SPEAKER_R REL_QP_W(QP_SPEAKER_BTN_L_PAD+QP_SPEAKER_BTN_WIDTH)
+#define CALL_QUICKPANEL_BTN_SPEAKER_T REL_QP_H(QP_SPEAKER_BTN_T_PAD)
+#define CALL_QUICKPANEL_BTN_SPEAKER_B REL_QP_H(QP_SPEAKER_BTN_T_PAD+QP_END_BTN_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_END_L REL_QP_W(QP_END_BTN_L_PAD)
+#define CALL_QUICKPANEL_BTN_END_R REL_QP_W(QP_END_BTN_L_PAD+QP_END_BTN_WIDTH)
+#define CALL_QUICKPANEL_BTN_END_T REL_QP_H(QP_END_BTN_T_PAD)
+#define CALL_QUICKPANEL_BTN_END_B REL_QP_H(QP_END_BTN_T_PAD+QP_END_BTN_HEIGHT)
+
+#define CALL_QUICKPANEL_BTN_ICON_T REL_QP_BTN_H(QP_CONTENT_ICON_T_PAD)
+#define CALL_QUICKPANEL_BTN_ICON_B REL_QP_BTN_H(QP_CONTENT_ICON_T_PAD+QP_CONTENT_ICON_HEIGHT)
+/*
+ * End of QUICK-PANEL layout
+ */
+
+
+#define LSCAPE_TITLE_HEIGHT 100
+#define LSCAPE_QP_WIN_W 1252
+#define LSCAPE_QP_WIN_H 180
+
+#define LSCAPE_QP_TITLE_L_PAD 14
+#define LSCAPE_QP_TITLE_WIDTH 1050
+#define LSCAPE_QP_TITLE_T_PAD 16
+#define LSCAPE_QP_TITLE_HEIGHT 36
+
+#define LSCAPE_QP_SPEAKER_BTN_L_PAD 18
+#define LSCAPE_QP_SPEAKER_BTN_WIDTH 118
+#define LSCAPE_QP_SPEAKER_BTN_T_PAD 75
+#define LSCAPE_QP_SPEAKER_BTN_HEIGHT 72
+
+#define LSCAPE_QP_MUTE_BTN_L_PAD (LSCAPE_QP_SPEAKER_BTN_L_PAD+LSCAPE_QP_SPEAKER_BTN_WIDTH+27)
+#define LSCAPE_QP_MUTE_BTN_WIDTH LSCAPE_QP_SPEAKER_BTN_WIDTH
+#define LSCAPE_QP_MUTE_BTN_T_PAD LSCAPE_QP_SPEAKER_BTN_T_PAD
+#define LSCAPE_QP_MUTE_BTN_HEIGHT LSCAPE_QP_SPEAKER_BTN_HEIGHT
+
+#define LSCAPE_QP_END_BTN_L_PAD (LSCAPE_QP_MUTE_BTN_L_PAD+LSCAPE_QP_MUTE_BTN_WIDTH+27)
+#define LSCAPE_QP_END_BTN_WIDTH 72
+#define LSCAPE_QP_END_BTN_T_PAD LSCAPE_QP_SPEAKER_BTN_T_PAD
+#define LSCAPE_QP_END_BTN_HEIGHT 72
+
+#define LSCAPE_QP_TIME_L_PAD (LSCAPE_QP_END_BTN_L_PAD+LSCAPE_QP_END_BTN_WIDTH+18)
+#define LSCAPE_QP_TIME_WIDTH 181
+#define LSCAPE_QP_TIME_T_PAD 114
+#define LSCAPE_QP_TIME_HEIGHT 36
+
+#define LSCAPE_QP_CALL_ICON_L_PAD 1122
+#define LSCAPE_QP_CALL_ICON_WIDTH 106
+#define LSCAPE_QP_CALL_ICON_T_PAD 34
+#define LSCAPE_QP_CALL_ICON_HEIGHT 106
+/* Relative X & Y positions of widgets w.r.t. Quick-panel layout */
+#define REL_LSCAPE_QP_W(x) ((x)/LSCAPE_QP_WIN_W)
+#define REL_LSCAPE_QP_H(y) ((y)/LSCAPE_QP_WIN_H)
+/*
+ * QUICK-PANEL layout
+ * In Portrait mode
+ */
+#define LSCAPE_QUICKPANEL_TITLE_L REL_LSCAPE_QP_W(LSCAPE_QP_TITLE_L_PAD)
+#define LSCAPE_QUICKPANEL_TITLE_R REL_LSCAPE_QP_W(LSCAPE_QP_TITLE_L_PAD+LSCAPE_QP_TITLE_WIDTH)
+#define LSCAPE_QUICKPANEL_TITLE_T REL_LSCAPE_QP_H(LSCAPE_QP_TITLE_T_PAD)
+#define LSCAPE_QUICKPANEL_TITLE_B REL_LSCAPE_QP_H(LSCAPE_QP_TITLE_T_PAD+LSCAPE_QP_TITLE_HEIGHT)
+
+#define LSCAPE_QUICKPANEL_BTN_SPEAKER_L REL_LSCAPE_QP_W(LSCAPE_QP_SPEAKER_BTN_L_PAD)
+#define LSCAPE_QUICKPANEL_BTN_SPEAKER_R REL_LSCAPE_QP_W(LSCAPE_QP_SPEAKER_BTN_L_PAD+LSCAPE_QP_SPEAKER_BTN_WIDTH)
+#define LSCAPE_QUICKPANEL_BTN_SPEAKER_T REL_LSCAPE_QP_H(LSCAPE_QP_SPEAKER_BTN_T_PAD)
+#define LSCAPE_QUICKPANEL_BTN_SPEAKER_B REL_LSCAPE_QP_H(LSCAPE_QP_SPEAKER_BTN_T_PAD+LSCAPE_QP_SPEAKER_BTN_HEIGHT)
+
+#define LSCAPE_QUICKPANEL_BTN_MUTE_L REL_LSCAPE_QP_W(LSCAPE_QP_MUTE_BTN_L_PAD)
+#define LSCAPE_QUICKPANEL_BTN_MUTE_R REL_LSCAPE_QP_W(LSCAPE_QP_MUTE_BTN_L_PAD+LSCAPE_QP_MUTE_BTN_WIDTH)
+#define LSCAPE_QUICKPANEL_BTN_MUTE_T REL_LSCAPE_QP_H(LSCAPE_QP_MUTE_BTN_T_PAD)
+#define LSCAPE_QUICKPANEL_BTN_MUTE_B REL_LSCAPE_QP_H(LSCAPE_QP_MUTE_BTN_T_PAD+LSCAPE_QP_MUTE_BTN_HEIGHT)
+
+#define LSCAPE_QUICKPANEL_BTN_END_L REL_LSCAPE_QP_W(LSCAPE_QP_END_BTN_L_PAD)
+#define LSCAPE_QUICKPANEL_BTN_END_R REL_LSCAPE_QP_W(LSCAPE_QP_END_BTN_L_PAD+LSCAPE_QP_END_BTN_WIDTH)
+#define LSCAPE_QUICKPANEL_BTN_END_T REL_LSCAPE_QP_H(LSCAPE_QP_END_BTN_T_PAD)
+#define LSCAPE_QUICKPANEL_BTN_END_B REL_LSCAPE_QP_H(LSCAPE_QP_END_BTN_T_PAD+LSCAPE_QP_END_BTN_HEIGHT)
+
+#define LSCAPE_QUICKPANEL_TIME_L REL_LSCAPE_QP_W(LSCAPE_QP_TIME_L_PAD)
+#define LSCAPE_QUICKPANEL_TIME_R REL_LSCAPE_QP_W(LSCAPE_QP_TIME_L_PAD+LSCAPE_QP_TIME_WIDTH)
+#define LSCAPE_QUICKPANEL_TIME_T REL_LSCAPE_QP_H(LSCAPE_QP_TIME_T_PAD)
+#define LSCAPE_QUICKPANEL_TIME_B REL_LSCAPE_QP_H(LSCAPE_QP_TIME_T_PAD+LSCAPE_QP_TIME_HEIGHT)
+
+#define LSCAPE_QUICKPANEL_CALL_BG_ICON_L REL_LSCAPE_QP_W(LSCAPE_QP_CALL_BG_ICON_L_PAD)
+#define LSCAPE_QUICKPANEL_CALL_BG_ICON_R REL_LSCAPE_QP_W(LSCAPE_QP_CALL_BG_ICON_L_PAD+LSCAPE_QP_CALL_BG_ICON_WIDTH)
+#define LSCAPE_QUICKPANEL_CALL_BG_ICON_T REL_LSCAPE_QP_H(LSCAPE_QP_CALL_BG_ICON_T_PAD)
+#define LSCAPE_QUICKPANEL_CALL_BG_ICON_B REL_LSCAPE_QP_H(LSCAPE_QP_CALL_BG_ICON_T_PAD+LSCAPE_QP_CALL_BG_ICON_HEIGHT)
+
+#define LSCAPE_QUICKPANEL_CALL_ICON_L REL_LSCAPE_QP_W(LSCAPE_QP_CALL_ICON_L_PAD)
+#define LSCAPE_QUICKPANEL_CALL_ICON_R REL_LSCAPE_QP_W(LSCAPE_QP_CALL_ICON_L_PAD+LSCAPE_QP_CALL_ICON_WIDTH)
+#define LSCAPE_QUICKPANEL_CALL_ICON_T REL_LSCAPE_QP_H(LSCAPE_QP_CALL_ICON_T_PAD)
+#define LSCAPE_QUICKPANEL_CALL_ICON_B REL_LSCAPE_QP_H(LSCAPE_QP_CALL_ICON_T_PAD+LSCAPE_QP_CALL_ICON_HEIGHT)
+
+/*
+ * Caller info layout
+ * In Portrait mode
+ */
+
+#define CALLER_INFO_L REL_W(CALLER_INFO_L_PAD)
+#define CALLER_INFO_R REL_W(CALLER_INFO_L_PAD+CALLER_INFO_WIDTH)
+#define CALLER_INFO_T REL_H(CALLER_INFO_T_PAD)
+#define CALLER_INFO_B REL_H(CALLER_INFO_T_PAD+CALLER_INFO_HEIGHT)
+
+#define CALLER_INFO_NAME_L REL_W(CALLER_INFO_NAME_L_PAD)
+#define CALLER_INFO_NAME_R REL_W(CALLER_INFO_NAME_L_PAD+CALLER_INFO_NAME_WIDTH)
+#define CALLER_INFO_NAME_T REL_CALLER_INFO_H(CALLER_INFO_NAME_T_PAD)
+#define CALLER_INFO_NAME_B REL_CALLER_INFO_H(CALLER_INFO_NAME_T_PAD+CALLER_INFO_NAME_HEIGHT)
+#define CALLER_INFO_NAME_EMERGENCY_B REL_CALLER_INFO_H(CALLER_INFO_NAME_T_PAD+CALLER_INFO_EMERGENCY_HEIGHT)
+
+#define CALLER_INFO_NAME_1LINE_T REL_CALLER_INFO_H(CALLER_INFO_NAME_1LINE_T_PAD)
+#define CALLER_INFO_NAME_1LINE_B REL_CALLER_INFO_H(CALLER_INFO_NAME_1LINE_T_PAD+CALLER_INFO_NAME_1LINE_HEIGHT)
+
+#define CALLER_INFO_NUMBER_L REL_W(CALLER_INFO_NUMBER_L_PAD)
+#define CALLER_INFO_NUMBER_R REL_W(CALLER_INFO_NUMBER_L_PAD+CALLER_INFO_NUMBER_WIDTH)
+#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_L_PAD+CALLER_INFO_STATUS_WIDTH)
+#define CALLER_INFO_STATUS_T REL_CALLER_INFO_H(CALLER_INFO_STATUS_T_PAD)
+#define CALLER_INFO_STATUS_B REL_CALLER_INFO_H(CALLER_INFO_STATUS_T_PAD+CALLER_INFO_STATUS_HEIGHT)
+
+#define CALLER_INFO_CARRIER_L REL_W(CALLER_INFO_CARRIER_L_PAD)
+#define CALLER_INFO_CARRIER_R REL_W(CALLER_INFO_CARRIER_L_PAD+CALLER_INFO_CARRIER_WIDTH)
+#define CALLER_INFO_CARRIER_T REL_CALLER_INFO_H(CALLER_INFO_CARRIER_T_PAD)
+#define CALLER_INFO_CARRIER_B REL_CALLER_INFO_H(CALLER_INFO_CARRIER_T_PAD+CALLER_INFO_CARRIER_HEIGHT)
+
+#define EXTRA_LAYOUT_WIDTH MAIN_SCREEN_W
+#define EXTRA_LAYOUT_HEIGHT 148
+
+#define EXTRA_LAYOUT_L_PAD 0
+#define EXTRA_LAYOUT_R_PAD (EXTRA_LAYOUT_L_PAD+EXTRA_LAYOUT_WIDTH)
+#define EXTRA_LAYOUT_T_PAD (127)
+#define EXTRA_LAYOUT_B_PAD (EXTRA_LAYOUT_T_PAD+148)
+
+#define EXTRA2_LAYOUT_L_PAD 0
+#define EXTRA2_LAYOUT_R_PAD (EXTRA2_LAYOUT_L_PAD+EXTRA_LAYOUT_WIDTH)
+#define EXTRA2_LAYOUT_T_PAD (EXTRA_LAYOUT_B_PAD+1)
+#define EXTRA2_LAYOUT_B_PAD (EXTRA2_LAYOUT_T_PAD+EXTRA_LAYOUT_HEIGHT)
+
+#define EXTRA3_LAYOUT_L_PAD 0
+#define EXTRA3_LAYOUT_R_PAD (EXTRA3_LAYOUT_L_PAD+EXTRA_LAYOUT_WIDTH)
+#define EXTRA3_LAYOUT_T_PAD (EXTRA2_LAYOUT_B_PAD+1)
+#define EXTRA3_LAYOUT_B_PAD (EXTRA3_LAYOUT_T_PAD+EXTRA_LAYOUT_HEIGHT)
+
+#define EXTRA_LAYOUT_L REL_W(EXTRA_LAYOUT_L_PAD)
+#define EXTRA_LAYOUT_R REL_W(EXTRA_LAYOUT_R_PAD)
+#define EXTRA_LAYOUT_T REL_CALLER_INFO_H(EXTRA_LAYOUT_T_PAD)
+#define EXTRA_LAYOUT_B REL_CALLER_INFO_H(EXTRA_LAYOUT_B_PAD)
+
+#define EXTRA2_LAYOUT_L REL_W(EXTRA2_LAYOUT_L_PAD)
+#define EXTRA2_LAYOUT_R REL_W(EXTRA2_LAYOUT_R_PAD)
+#define EXTRA2_LAYOUT_T REL_CALLER_INFO_H(EXTRA2_LAYOUT_T_PAD)
+#define EXTRA2_LAYOUT_B REL_CALLER_INFO_H(EXTRA2_LAYOUT_B_PAD)
+
+#define EXTRA3_LAYOUT_L REL_W(EXTRA3_LAYOUT_L_PAD)
+#define EXTRA3_LAYOUT_R REL_W(EXTRA3_LAYOUT_R_PAD)
+#define EXTRA3_LAYOUT_T REL_CALLER_INFO_H(EXTRA3_LAYOUT_T_PAD)
+#define EXTRA3_LAYOUT_B REL_CALLER_INFO_H(EXTRA3_LAYOUT_B_PAD)
+
+#define REL_EXTRA_LAYOUT_H(y) ((y)/EXTRA_LAYOUT_HEIGHT)
+
+#define EXTRA_LAYOUT_TEXT_WIDTH 450
+#define EXTRA_LAYOUT_TEXT_HEIGHT 72
+#define EXTRA_LAYOUT_TEXT_L_PAD 15
+#define EXTRA_LAYOUT_TEXT_R_PAD (EXTRA_LAYOUT_TEXT_L_PAD+EXTRA_LAYOUT_TEXT_WIDTH)
+#define EXTRA_LAYOUT_TEXT_T_PAD (12)
+#define EXTRA_LAYOUT_TEXT_B_PAD (EXTRA_LAYOUT_TEXT_T_PAD+EXTRA_LAYOUT_TEXT_HEIGHT)
+
+#define EXTRA_LAYOUT_TEXT_L REL_W(EXTRA_LAYOUT_TEXT_L_PAD)
+#define EXTRA_LAYOUT_TEXT_R REL_W(EXTRA_LAYOUT_TEXT_R_PAD)
+#define EXTRA_LAYOUT_TEXT_T REL_EXTRA_LAYOUT_H(EXTRA_LAYOUT_TEXT_T_PAD)
+#define EXTRA_LAYOUT_TEXT_B REL_EXTRA_LAYOUT_H(EXTRA_LAYOUT_TEXT_B_PAD)
+
+#define EXTRA_LAYOUT_RESUME_TEXT_WIDTH 365
+#define EXTRA_LAYOUT_RESUME_TEXT_HEIGHT 96
+#define EXTRA_LAYOUT_RESUME_TEXT_L_PAD 25
+#define EXTRA_LAYOUT_RESUME_TEXT_R_PAD (EXTRA_LAYOUT_RESUME_TEXT_L_PAD+EXTRA_LAYOUT_RESUME_TEXT_WIDTH)
+#define EXTRA_LAYOUT_RESUME_TEXT_T_PAD 0
+#define EXTRA_LAYOUT_RESUME_TEXT_B_PAD (EXTRA_LAYOUT_RESUME_TEXT_T_PAD+EXTRA_LAYOUT_RESUME_TEXT_HEIGHT)
+
+#define EXTRA_LAYOUT_RESUME_TEXT_L REL_W(EXTRA_LAYOUT_RESUME_TEXT_L_PAD)
+#define EXTRA_LAYOUT_RESUME_TEXT_R REL_W(EXTRA_LAYOUT_RESUME_TEXT_R_PAD)
+#define EXTRA_LAYOUT_RESUME_TEXT_T REL_EXTRA_LAYOUT_H(EXTRA_LAYOUT_RESUME_TEXT_T_PAD)
+#define EXTRA_LAYOUT_RESUME_TEXT_B REL_EXTRA_LAYOUT_H(EXTRA_LAYOUT_RESUME_TEXT_B_PAD)
+
+#define EXTRA_LAYOUT_RESUME_ICON_WIDTH 27
+#define EXTRA_LAYOUT_RESUME_ICON_HEIGHT 27
+#define EXTRA_LAYOUT_RESUME_ICON_L_PAD 339
+#define EXTRA_LAYOUT_RESUME_ICON_R_PAD (EXTRA_LAYOUT_RESUME_ICON_L_PAD+EXTRA_LAYOUT_RESUME_ICON_WIDTH)
+#define EXTRA_LAYOUT_RESUME_ICON_T_PAD INDICATOR_HEIGHT
+#define EXTRA_LAYOUT_RESUME_ICON_B_PAD (EXTRA_LAYOUT_RESUME_ICON_T_PAD+72)
+
+#define EXTRA_LAYOUT_RESUME_ICON_L REL_W(EXTRA_LAYOUT_RESUME_ICON_L_PAD)
+#define EXTRA_LAYOUT_RESUME_ICON_R REL_W(EXTRA_LAYOUT_RESUME_ICON_R_PAD)
+#define EXTRA_LAYOUT_RESUME_ICON_T REL_EXTRA_LAYOUT_H(EXTRA_LAYOUT_RESUME_ICON_T_PAD)
+#define EXTRA_LAYOUT_RESUME_ICON_B REL_EXTRA_LAYOUT_H(EXTRA_LAYOUT_RESUME_ICON_B_PAD)
+
+#define EXTRA_LAYOUT_EXTRA_VOL_ICON_L_PAD (EXTRA_LAYOUT_RESUME_ICON_L_PAD-34)
+#define EXTRA_LAYOUT_EXTRA_VOL_ICON_R_PAD (EXTRA_LAYOUT_EXTRA_VOL_ICON_L_PAD+EXTRA_LAYOUT_RESUME_ICON_WIDTH)
+
+#define EXTRA_LAYOUT_EXTRA_VOL_ICON_L REL_W(EXTRA_LAYOUT_EXTRA_VOL_ICON_L_PAD)
+#define EXTRA_LAYOUT_EXTRA_VOL_ICON_R REL_W(EXTRA_LAYOUT_EXTRA_VOL_ICON_R_PAD)
+
+#define HELD_CALL_CALLER_ID_WIDTH 74
+#define HELD_CALL_CALLER_ID_HEIGHT EXTRA_LAYOUT_HEIGHT
+#define HELD_CALL_CALLER_INFO_GAP 25
+#define HELD_CALL_TEXT_WIDTH 186
+#define HELD_CALL_TEXT_HEIGHT EXTRA_LAYOUT_HEIGHT
+#define HELD_CALL_BTN_WIDTH 60
+#define HELD_CALL_BTN_HEIGHT EXTRA_LAYOUT_HEIGHT
+#define HELD_CALL_BTN_GAP 20
+
+#define HELD_CALL_CALLER_ID_L  REL_W(15)
+#define HELD_CALL_CALLER_ID_R  REL_W(15+HELD_CALL_CALLER_ID_WIDTH)
+#define HELD_CALL_CALLER_ID_T  REL_EXTRA_LAYOUT_H(0)
+#define HELD_CALL_CALLER_ID_B  REL_EXTRA_LAYOUT_H(HELD_CALL_CALLER_ID_T+HELD_CALL_CALLER_ID_HEIGHT)
+
+#define HELD_CALL_TEXT_L_PAD   (20)
+#define HELD_CALL_TEXT_T_PAD   0
+
+#define HELD_CALL_TEXT_L       REL_W(HELD_CALL_TEXT_L_PAD)
+#define HELD_CALL_TEXT_R       REL_W(HELD_CALL_TEXT_L_PAD+440)
+#define HELD_CALL_TEXT_T       REL_EXTRA_LAYOUT_H(HELD_CALL_TEXT_T_PAD)
+#define HELD_CALL_TEXT_B       REL_EXTRA_LAYOUT_H(HELD_CALL_TEXT_T_PAD+54)
+
+#define HELD_CALL_BTN1_L_PAD   (0)
+#define HELD_CALL_BTN1_T_PAD   50
+
+#define HELD_CALL_BTN1_L       REL_W(HELD_CALL_BTN1_L_PAD)
+#define HELD_CALL_BTN1_R       REL_W(HELD_CALL_BTN1_L_PAD+239)
+#define HELD_CALL_BTN1_T       REL_EXTRA_LAYOUT_H(HELD_CALL_BTN1_T_PAD)
+#define HELD_CALL_BTN1_BG_B    REL_EXTRA_LAYOUT_H(HELD_CALL_BTN1_T_PAD+98)
+#define HELD_CALL_BTN1_B       REL_EXTRA_LAYOUT_H(HELD_CALL_BTN1_T_PAD+60)
+#define HELD_CALL_BTN1_TXT_T   REL_EXTRA_LAYOUT_H(HELD_CALL_BTN1_T_PAD+60)
+#define HELD_CALL_BTN1_TXT_B   REL_EXTRA_LAYOUT_H(HELD_CALL_BTN1_T_PAD+60+25)
+
+#define HELD_CALL_BTN2_L_PAD   240
+#define HELD_CALL_BTN2_T_PAD   50
+
+#define HELD_CALL_BTN2_L       REL_W(HELD_CALL_BTN2_L_PAD)
+#define HELD_CALL_BTN2_R       REL_W(HELD_CALL_BTN2_L_PAD+240)
+#define HELD_CALL_BTN2_T       REL_EXTRA_LAYOUT_H(HELD_CALL_BTN2_T_PAD)
+#define HELD_CALL_BTN2_BG_B    REL_EXTRA_LAYOUT_H(HELD_CALL_BTN2_T_PAD+98)
+#define HELD_CALL_BTN2_B       REL_EXTRA_LAYOUT_H(HELD_CALL_BTN2_T_PAD+60)
+#define HELD_CALL_BTN2_TXT_T   REL_EXTRA_LAYOUT_H(HELD_CALL_BTN2_T_PAD+60)
+#define HELD_CALL_BTN2_TXT_B   REL_EXTRA_LAYOUT_H(HELD_CALL_BTN2_T_PAD+60+25)
+
+#define MANAGE_TEXT_WIDTH 280
+#define MANAGE_TEXT_HEIGHT EXTRA_LAYOUT_HEIGHT
+
+#define MANAGE_TEXT_L_PAD      (15+HELD_CALL_CALLER_ID_WIDTH+HELD_CALL_CALLER_INFO_GAP)
+#define MANAGE_TEXT_T_PAD      0
+
+#define MANAGE_TEXT_L  REL_W(MANAGE_TEXT_L_PAD)
+#define MANAGE_TEXT_R  REL_W(MANAGE_TEXT_L_PAD+MANAGE_TEXT_WIDTH)
+#define MANAGE_TEXT_T  REL_EXTRA_LAYOUT_H(MANAGE_TEXT_T_PAD)
+#define MANAGE_TEXT_B  REL_EXTRA_LAYOUT_H(MANAGE_TEXT_T_PAD+MANAGE_TEXT_HEIGHT)
+
+/*
+ * End of Caller info layout
+ */
+
+
+/*
+* Lock Screen Layout
+*/
+
+#define LOCK_SCREEN_LAYER_WIDTH MAIN_SCREEN_W
+#define LOCK_SCREEN_LAYER_HEIGHT MAIN_SCREEN_H
+
+#define LOCK_SCREEN_ICON_TOP_PAD 230
+#define LOCK_SCREEN_ICON_HEIGHT 270
+
+#define REL_LOCK_SCREEN_W(x) ((x)/LOCK_SCREEN_LAYER_WIDTH)
+#define REL_LOCK_SCREEN_H(y) ((y)/LOCK_SCREEN_LAYER_HEIGHT)
+
+#define LOCK_SCREEN_ICON_L REL_LOCK_SCREEN_W(0)
+#define LOCK_SCREEN_ICON_R REL_LOCK_SCREEN_W(LOCK_SCREEN_LAYER_WIDTH)
+#define LOCK_SCREEN_ICON_T REL_LOCK_SCREEN_H(LOCK_SCREEN_ICON_TOP_PAD)
+#define LOCK_SCREEN_ICON_B REL_LOCK_SCREEN_H(LOCK_SCREEN_ICON_TOP_PAD+LOCK_SCREEN_ICON_HEIGHT)
+
+#define LOCK_SCREEN_VERTICAL_GAP 20
+#define LOCK_SCREEN_TEXT_LEFT_PADDING 15
+#define LOCK_SCREEN_TEXT_RIGHT_PADDING 15
+#define LOCK_SCREEN_TEXT_HEIGHT 144
+
+#define EXTRA_VOL_OUTER_L_PAD (-204)
+#define EXTRA_VOL_OUTER_WIDTH 544
+#define EXTRA_VOL_OUTER_T_PAD 438
+#define EXTRA_VOL_OUTER_HEIGHT 544
+
+#define EXTRA_VOL_INNER_CIRCLE_L_PAD 23
+#define EXTRA_VOL_INNER_CIRCLE_WIDTH 90
+#define EXTRA_VOL_INNER_CIRCLE_T_PAD 665
+#define EXTRA_VOL_INNER_CIRCLE_HEIGHT 90
+
+#define END_CALL_OUTER_L_PAD 140
+#define END_CALL_OUTER_WIDTH 544
+#define END_CALL_OUTER_T_PAD EXTRA_VOL_OUTER_T_PAD
+#define END_CALL_OUTER_HEIGHT 544
+
+#define END_CALL_INNER_CIRCLE_L_PAD 367
+#define END_CALL_INNER_CIRCLE_WIDTH 90
+#define END_CALL_INNER_CIRCLE_T_PAD EXTRA_VOL_INNER_CIRCLE_T_PAD
+#define END_CALL_INNER_CIRCLE_HEIGHT 90
+
+#define LOCK_SCREEN_TEXT_L REL_LOCK_SCREEN_W(LOCK_SCREEN_TEXT_LEFT_PADDING)
+#define LOCK_SCREEN_TEXT_R REL_LOCK_SCREEN_W(LOCK_SCREEN_LAYER_WIDTH-LOCK_SCREEN_TEXT_RIGHT_PADDING)
+#define LOCK_SCREEN_TEXT_T REL_LOCK_SCREEN_H(LOCK_SCREEN_ICON_TOP_PAD+LOCK_SCREEN_ICON_HEIGHT+LOCK_SCREEN_VERTICAL_GAP)
+#define LOCK_SCREEN_TEXT_B REL_LOCK_SCREEN_H(LOCK_SCREEN_ICON_TOP_PAD+LOCK_SCREEN_ICON_HEIGHT+LOCK_SCREEN_VERTICAL_GAP+LOCK_SCREEN_TEXT_HEIGHT)
+
+#define LOCK_SCREEN_EXT_VOL_INNER_CIRCLE_L REL_W(EXTRA_VOL_INNER_CIRCLE_L_PAD)
+#define LOCK_SCREEN_EXT_VOL_INNER_CIRCLE_R REL_W(EXTRA_VOL_INNER_CIRCLE_L_PAD+EXTRA_VOL_INNER_CIRCLE_WIDTH)
+#define LOCK_SCREEN_EXT_VOL_INNER_CIRCLE_T REL_H(EXTRA_VOL_INNER_CIRCLE_T_PAD)
+#define LOCK_SCREEN_EXT_VOL_INNER_CIRCLE_B REL_H(EXTRA_VOL_INNER_CIRCLE_T_PAD+EXTRA_VOL_INNER_CIRCLE_HEIGHT)
+
+#define LOCK_SCREEN_EXT_VOL_OUTER_CIRCLE_L REL_W(EXTRA_VOL_OUTER_L_PAD)
+#define LOCK_SCREEN_EXT_VOL_OUTER_CIRCLE_R REL_W(EXTRA_VOL_OUTER_L_PAD+EXTRA_VOL_OUTER_WIDTH)
+#define LOCK_SCREEN_EXT_VOL_OUTER_CIRCLE_T REL_H(EXTRA_VOL_OUTER_T_PAD)
+#define LOCK_SCREEN_EXT_VOL_OUTER_CIRCLE_B REL_H(EXTRA_VOL_OUTER_T_PAD+EXTRA_VOL_OUTER_HEIGHT)
+
+#define LOCK_SCREEN_END_CALL_INNER_CIRCLE_L REL_W(END_CALL_INNER_CIRCLE_L_PAD)
+#define LOCK_SCREEN_END_CALL_INNER_CIRCLE_R REL_W(END_CALL_INNER_CIRCLE_L_PAD+END_CALL_INNER_CIRCLE_WIDTH)
+#define LOCK_SCREEN_END_CALL_INNER_CIRCLE_T REL_H(END_CALL_INNER_CIRCLE_T_PAD)
+#define LOCK_SCREEN_END_CALL_INNER_CIRCLE_B REL_H(END_CALL_INNER_CIRCLE_T_PAD+END_CALL_INNER_CIRCLE_HEIGHT)
+
+#define LOCK_SCREEN_END_CALL_OUTER_CIRCLE_L REL_W(END_CALL_OUTER_L_PAD)
+#define LOCK_SCREEN_END_CALL_OUTER_CIRCLE_R REL_W(END_CALL_OUTER_L_PAD+END_CALL_OUTER_WIDTH)
+#define LOCK_SCREEN_END_CALL_OUTER_CIRCLE_T REL_H(END_CALL_OUTER_T_PAD)
+#define LOCK_SCREEN_END_CALL_OUTER_CIRCLE_B REL_H(END_CALL_OUTER_T_PAD+END_CALL_OUTER_HEIGHT)
+
+/*
+* End of Lock Screen Layout
+*/
+
+#endif /*_CALLUI_VIEW_LAYOUT_WVGA_H_*/
diff --git a/include/callui-view-lock-screen.h b/include/callui-view-lock-screen.h
new file mode 100755 (executable)
index 0000000..e717f5f
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef _VCUI_VIEW_LOCK_SCREEN_H_
+#define _VCUI_VIEW_LOCK_SCREEN_H_
+
+#include "callui.h"
+
+typedef struct _lock_sccreen_data {
+       Evas_Object *layout;
+       Evas_Object *hit_rect;
+
+       Ecore_Timer *no_lock_timer;
+       bool is_locked;
+
+} lock_screen_data_t;
+
+lock_screen_data_t *_callui_lock_screen_create_layout(call_view_data_t *view_data);
+void _callui_lock_screen_refresh_timer(call_view_data_t *view_data);
+void _callui_lock_screen_start_timer(void);
+void _callui_lock_screen_stop_timer(void);
+void _callui_lock_screen_unlock_screen(call_view_data_t *view_data);
+void _callui_lock_screen_delete_layout(lock_screen_data_t *lock_screen_priv);
+gboolean _callui_lock_screen_is_lockscreen_shown();
+void _callui_lock_screen_show_layout(lock_screen_data_t *lock_screen_priv);
+void _callui_lock_screen_hide_layout(lock_screen_data_t *lock_screen_priv);
+
+#endif //_VCUI_VIEW_LOCK_SCREEN_H_
+
diff --git a/include/callui-view-manager.h b/include/callui-view-manager.h
new file mode 100644 (file)
index 0000000..fb28f7e
--- /dev/null
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_VM_H_
+#define __CALLUI_VM_H_
+
+#include <Elementary.h>
+
+typedef enum {
+       VIEW_DIALLING_VIEW = 0,
+       VIEW_INCOMING_LOCK_VIEW,
+       VIEW_INCALL_ONECALL_VIEW,
+       VIEW_INCALL_MULTICALL_SPLIT_VIEW,
+       VIEW_INCALL_MULTICALL_CONF_VIEW,
+       VIEW_INCALL_MULTICALL_LIST_VIEW,
+       VIEW_ENDCALL_VIEW,
+       VIEW_QUICKPANEL_VIEW,
+       VIEW_MAX
+} callui_view_id_t;
+
+struct _view_data;
+
+typedef int (*create_cb)       (struct _view_data *view_data, unsigned int param1, void *param2, void *appdata);
+typedef int (*update_cb)       (struct _view_data *view_data, void *update_data);
+typedef int (*destroy_cb)      (struct _view_data *view_data);
+typedef int (*show_cb)         (struct _view_data *view_data, void *appdata);
+typedef int (*hide_cb)         (struct _view_data *view_data);
+typedef int (*rotate_cb)       (struct _view_data *view_data);
+
+typedef struct _view_data {
+       callui_view_id_t type;  //CM_UI to do removed   vcui_app_call_data_t *app_data;
+
+       create_cb onCreate;
+       update_cb onUpdate;
+       destroy_cb onDestroy;
+       show_cb onShow;
+       hide_cb onHide;
+       rotate_cb onRotate;
+
+       Evas_Object *layout;
+       void *priv;
+} call_view_data_t;
+
+typedef struct _view_manager_data view_manager_data_t;
+
+view_manager_data_t *_callvm_init();
+void _callvm_view_change(callui_view_id_t view_id, unsigned int param1, void *param2, void *appdata);
+callui_view_id_t _callvm_get_top_view_id(view_manager_data_t *view_manager_handle);
+void _callvm_view_auto_change(void *appdata);
+void _callvm_terminate_app_or_view_change(void *appdata);
+call_view_data_t * _callvm_get_call_view_data(void *ad, callui_view_id_t view_id);
+void _callvm_set_call_view_data(void *appdata, callui_view_id_t view_id,call_view_data_t *vd);
+Evas_Object *_callvm_get_view_layout(void *appdata);
+void _callvm_reset_call_view_data(void *appdata, callui_view_id_t view_id);
+
+#endif //__CALLUI_VM_H_
diff --git a/include/callui-view-multi-call-conf.h b/include/callui-view-multi-call-conf.h
new file mode 100755 (executable)
index 0000000..4abc99a
--- /dev/null
@@ -0,0 +1,27 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef _CALLUI_VIEW_MULTI_CALL_CONF_H_
+#define _CALLUI_VIEW_MULTI_CALL_CONF_H_
+
+#include "callui-view-manager.h"
+
+call_view_data_t *_callui_view_multi_call_conf_new(callui_app_data_t *ad);
+
+#endif /*_CALLUI_VIEW_MULTI_CALL_CONF_H_*/
+
diff --git a/include/callui-view-multi-call-list.h b/include/callui-view-multi-call-list.h
new file mode 100755 (executable)
index 0000000..2f61538
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef _CALLUI_VIEW_MULTI_CALL_LIST_H_
+#define _CALLUI_VIEW_MULTI_CALL_LIST_H_
+
+
+call_view_data_t *_callui_view_multi_call_list_new(callui_app_data_t *ad);
+#endif
diff --git a/include/callui-view-multi-call-split.h b/include/callui-view-multi-call-split.h
new file mode 100644 (file)
index 0000000..19c2f76
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef _CALLUI_VIEW_MULTI_CALL_SPLIT_H_
+#define _CALLUI_VIEW_MULTI_CALL_SPLIT_H_
+
+#include "callui-view-manager.h"
+
+/**
+ * @param[in]  ad              Application data
+ * @return new split view data
+ */
+call_view_data_t *_callui_view_multi_call_split_new(callui_app_data_t *ad);
+
+#endif //_CALLUI_VIEW_MULTI_CALL_SPLIT_H_
+
diff --git a/include/callui-view-quickpanel.h b/include/callui-view-quickpanel.h
new file mode 100644 (file)
index 0000000..a7514aa
--- /dev/null
@@ -0,0 +1,35 @@
+/*
+ * 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.
+ *
+ */
+
+
+#ifndef __VCUI_VIEW_QUICKPANEL_H_
+#define __VCUI_VIEW_QUICKPANEL_H_
+
+typedef struct callui_view_qp_priv callui_view_qp_priv_t;
+
+/*voice_call_view_data_t*/
+call_view_data_t *_callui_view_qp_new(callui_app_data_t * ad);
+void _callui_view_qp_hide(callui_app_data_t *ad);
+void _callui_view_qp_install_window(callui_app_data_t *ad);
+void _callui_view_qp_uninstall_window(callui_app_data_t *ad);
+void _callui_view_qp_update_text_status(char *txt_status);
+Evas_Object *_callui_create_quickpanel_mute_button(void *data, Eina_Bool bdisable);
+Evas_Object *_callui_create_quickpanel_speaker_button(void *data, Eina_Bool bdisable);
+void _callui_view_quickpanel_change();
+void _callui_view_qp_set_call_timer(Evas_Object *qp_layout, char *pcall_timer);
+
+#endif                         /*__VCUI_VIEW_QUICKPANEL_H_*/
diff --git a/include/callui-view-single-call.h b/include/callui-view-single-call.h
new file mode 100644 (file)
index 0000000..bbf3cb0
--- /dev/null
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_ONECALL_VIEW_H_
+#define __CALLUI_ONECALL_VIEW_H_
+
+#include "callui.h"
+#include "callui-view-manager.h"
+
+typedef struct incall_one_view_priv incall_one_view_priv_t;
+
+call_view_data_t *_callui_view_single_call_new(callui_app_data_t *ad);
+
+#endif //__CALLUI_ONECALL_VIEW_H_
diff --git a/include/callui.h b/include/callui.h
new file mode 100755 (executable)
index 0000000..c6e06ba
--- /dev/null
@@ -0,0 +1,220 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_H_
+#define __CALLUI_H_
+
+#include <dlog.h>
+#include <efl_extension.h>
+#include <Ecore_X.h>
+#include <call-manager.h>
+#include <call-manager-extension.h>
+
+#include "callui-view-manager.h"
+#include "callui-view-lock-screen.h"
+
+#ifndef CALLUI_EXPORT_API
+#define CALLUI_EXPORT_API __attribute__ ((visibility("default")))
+#endif
+
+#ifndef CALLUI_LOG_TAG
+#define CALLUI_LOG_TAG "CALLUI"
+#endif
+
+#define info(fmt,args...)   { __dlog_print(LOG_ID_MAIN, DLOG_INFO,  CALLUI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+#define dbg(fmt,args...)    { __dlog_print(LOG_ID_MAIN, DLOG_DEBUG, CALLUI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+#define warn(fmt,args...)   { __dlog_print(LOG_ID_MAIN, DLOG_WARN,  CALLUI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+#define err(fmt,args...)    { __dlog_print(LOG_ID_MAIN, DLOG_ERROR, CALLUI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+#define fatal(fmt,args...)  { __dlog_print(LOG_ID_MAIN, DLOG_FATAL, CALLUI_LOG_TAG, "<%s:%d> " fmt "\n", __func__, __LINE__, ##args); }
+
+#define sec_err(fmt, arg...) {SECURE_LOGE(CALLUI_LOG_TAG, "<%s:%d> " fmt"\n", __func__, __LINE__, ##arg); }
+#define sec_warn(fmt, arg...) {SECURE_LOGW(CALLUI_LOG_TAG, "<%s:%d> " fmt"\n", __func__, __LINE__, ##arg); }
+#define sec_dbg(fmt, arg...) {SECURE_LOGD(CALLUI_LOG_TAG, "<%s:%d> " fmt"\n", __func__, __LINE__, ##arg); }
+
+#ifndef CALLUI_RETURN_IF_FAIL
+#define CALLUI_RETURN_IF_FAIL(check_condition) {\
+       if (!(check_condition)) \
+       { \
+               err("%s: Failed", #check_condition); \
+               return; \
+       } \
+}
+#endif
+
+#ifndef CALLUI_RETURN_VALUE_IF_FAIL
+#define CALLUI_RETURN_VALUE_IF_FAIL(check_condition, value)    {\
+       if (!(check_condition)) \
+       { \
+               err("%s: Failed", #check_condition); \
+               return value;   \
+       } \
+}
+#endif
+
+#ifndef CALLUI_RETURN_NULL_IF_FAIL
+#define CALLUI_RETURN_NULL_IF_FAIL(check_condition)    {\
+       if (!(check_condition)) \
+       { \
+               err("%s: Failed", #check_condition); \
+               return NULL;    \
+       } \
+}
+#endif
+
+#define MSG_PKG                "org.tizen.message"
+
+#define MASK_ICON              IMGDIR"/call_photo_id_mask.png"
+#define MULTI_CALL_LIST_MASK_ICON              IMGDIR"/call_resume_play_mask.png"
+
+#define EDJ_NAME EDJDIR"/call.edj"
+#define CALL_THEME EDJDIR"/call_theme.edj"
+#define CALL_GENLIST_THEME EDJDIR"/call_genlist_theme.edj"
+
+#ifndef _EDJ
+#define _EDJ(obj) elm_layout_edje_get(obj)
+#endif
+
+#define CALLUI_TEXT_DOMAIN "call-ui"
+#define _(s)   dgettext(CALLUI_TEXT_DOMAIN, s)
+
+#define GRP_MAIN_LY "main_ly"
+#define GRP_KEYPAD "keypad"
+#define GRP_MULTICALL "multicall-list"
+#define GRP_REJECT_MSG "reject_with_msg"
+#define GRP_QUICKPANEL "quickpanel"
+#define GRP_QUICKPANEL_LS "quickpanel_ls"
+#define GRP_SEPARATOR_LAYOUT "separator-layout"
+#define GRP_SEPARATOR_LAYOUT_1BUTTON "separator-layout-1button"
+#define GRP_SEPARATOR_LAYOUT_2BUTTON "separator-layout-2button"
+#define GRP_BUTTON_LAYOUT "button-layout"
+#define APP_CONTROL_OPERATION_DURING_CALL "http://tizen.org/appcontrol/oparation/during_call"
+#define APP_CONTROL_OPERATION_MESSAGE_REJECT "http://tizen.org/appcontrol/operation/message_reject"
+#define APP_CONTROL_OPERATION_END_CALL "http://tizen.org/appcontrol/operation/end_call"
+#define GRP_CALLER_INFO "caller-info"
+#define GRP_MANAGE_CALLS "manage-calls"
+#define GRP_EXTRA_VOLUME "extra-volume"
+#define GRP_LOCK_ACCEPT "lock_accept"
+#define GRP_LOCK_REJECT "lock_reject"
+#define GRP_LOCK_REJECT_WITH_MSG "lock_reject_with_msg"
+
+#define MAIN_WIN_WVGA_W 480
+#define MAIN_WIN_WVGA_H 800
+
+#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         CALLUI_RINGTONE_PATH_LENGTH_MAX                (255+1)                 /**< Max File length for Ringtone */
+#define         CALLUI_VIB_PATH_LENGTH_MAX                             (255+1)                 /**< Max File length for Vibration */
+#define         CALLUI_DATA_LENGTH_MAX                                 (255+1)                 /**< Max data length for misc */
+#define         CALLUI_PHONE_NUMBER_LENGTH_MAX                 (82+1)                  /**< Maximum length of a phone number  */
+#define         CALLUI_FORMATTED_NUMBER_LENGTH_MAX             (164+1)                 /**< Maximum length of a phone number  */
+#define         CALLUI_PHONE_DISP_NUMBER_LENGTH_MAX    (82+10+1)               /**< Maximum length of a display phone number  */
+#define         CALLUI_PHONE_NAME_LENGTH_MAX                   (80+1)                  /**< Maximum length of a calling name  */
+#define         CALLUI_PHONE_SUBADDRESS_LENGTH_MAX             (40+1)                  /**< Maximum length of a SUB address  */
+#define         CALLUI_PHONE_USSD_LENGTH_MAX                   (182+1)                 /**< Maximum length of a phone number  */
+#define         CALLUI_MAX_CALL_GROUP_MEMBER                   5                               /**< Maximum number of members in a group */
+#define         CALLUI_MAX_CALL_MEMBER                                 8                               /**< This is the maximum number of members possible */
+#define         CALLUI_INVALID_CALL_ID                                 0                               /**< This is the invalid entry for call ID */
+
+#define NO_HANDLE 0
+
+//typedef struct appdata callui_app_data_t;
+typedef struct _call_contact_data_t {
+       gint person_id;                 /**< Contact index of the Caller */
+       char call_disp_name[CALLUI_DISPLAY_NAME_LENGTH_MAX];                    /**< Caller display name */
+       char caller_id_path[CALLUI_IMAGE_PATH_LENGTH_MAX];                              /**< Caller image path */
+} call_contact_data_t;
+
+typedef struct _call_data_t {
+       unsigned int call_id;
+       cm_call_direction_e call_direction;
+       char call_num[CALLUI_PHONE_NUMBER_LENGTH_MAX];
+       char call_disp_num[CALLUI_PHONE_DISP_NUMBER_LENGTH_MAX];                /**< Caller display number */
+       long start_time;
+       cm_call_type_e call_type;                                       /**< Specifies type of call (voice, data, emergency) */
+       cm_call_state_e call_state;                                     /**< Current Call state */
+       int member_count;                                               /**< Whether Call is in Conference or not and indicate the number of members in that conference*/
+       gboolean is_emergency;                                          /**< is emergency*/
+       cm_call_domain_e call_domain;                           /**< Current Call domain */
+       call_contact_data_t call_ct_info;       /**< Contact information */
+}call_data_t;
+
+typedef struct appdata {
+       Evas *evas;
+       Evas_Object *win;
+       Evas_Object *win_conformant;
+       Evas_Object *nf;
+       Evas_Object *bg;
+
+       /* Main Layout contents Start */
+       Evas_Object *main_ly;
+       /* Main Layout contents End */
+       Ecore_X_Atom quickpanel_scroll_state;   /* Quick panel scrollable state */
+       call_view_data_t *view_data;
+
+       Evas_Object *ctxpopup;
+       Evas_Object *second_call_popup;
+       Evas_Object *bt_popup;
+
+       view_manager_data_t *view_manager_handle;
+
+       bool multi_call_list_end_clicked;
+
+       lock_screen_data_t *lock_screen_handle;
+
+       int root_w;     /**<Width of a root window */
+       int root_h;     /**<Height of a root window */
+
+       Eina_Bool speaker_status;
+       Eina_Bool extra_volume_status;
+       Eina_Bool extra_volume_status_force_stop;
+       Eina_Bool headset_status;
+       Eina_Bool mute_status;
+       Eina_Bool b_earset_key_longpress;
+
+       cm_client_h cm_handle;          /**<Call manager client handle */
+       cm_multi_sim_slot_type_e sim_slot;
+
+       /*call list*/
+       call_data_t *incom;
+       call_data_t *active;
+       call_data_t *held;
+
+       bool active_incoming;
+
+       /*Call duration*/
+       Ecore_Timer *blink_timer;
+       Ecore_Timer *ending_timer;
+       Ecore_Timer *duration_timer;
+       int blink_cnt;
+       int current_sec;
+       int current_min;
+       int current_hour;
+
+       Ecore_Event_Handler *downkey_handler;
+       Ecore_Event_Handler *upkey_handler;
+       Ecore_Timer *earset_key_longpress_timer;
+
+       /*quickpanel*/
+       Evas_Object *win_quickpanel;
+       bool landscape;
+       Evas_Object *quickpanel_layout;
+       char *quickpanel_text;
+} callui_app_data_t;
+
+callui_app_data_t *_callui_get_app_data();
+
+#endif// __CALLUI_H_
diff --git a/org.tizen.call-ui.efl b/org.tizen.call-ui.efl
new file mode 100644 (file)
index 0000000..abc7a45
--- /dev/null
@@ -0,0 +1,41 @@
+org.tizen.quickpanel org.tizen.call-ui rwx--- ------
+e17 org.tizen.call-ui -w---- ------
+
+org.tizen.call-ui app-svc::db rw---- ------
+org.tizen.call-ui aul::launch --x--- ------
+org.tizen.call-ui system::crash rwxat- ------
+org.tizen.call-ui system::homedir rwxa-- ------
+org.tizen.call-ui system::share rwx--- ------
+org.tizen.call-ui ug-setting-call-efl r-x--- ------
+org.tizen.call-ui msg-service rw---- ------
+org.tizen.call-ui msg-service::db r----- ------
+org.tizen.call-ui msg-service::read rw---- ------
+org.tizen.call-ui msg-service::write rw---- ------
+org.tizen.call-ui e17::notification rw---- ------
+org.tizen.call-ui enlightenment -w---- ------
+org.tizen.call-ui contacts-service rwx--- ------
+org.tizen.call-ui contacts-service::svc rwx--- ------
+org.tizen.call-ui callmgr::api_call r----- ------
+org.tizen.call-ui callmgr::signal rw---- ------
+
+org.tizen.call-ui dbus rwx--- ------
+org.tizen.call-ui deviced rwx--- ------
+org.tizen.call-ui deviced::display rw---- ------
+org.tizen.call-ui deviced::power rw---- ------
+org.tizen.call-ui device::app_logging -w---- ------
+org.tizen.call-ui xorg -w---- ------
+org.tizen.call-ui pkgmgr::db r----l ------
+org.tizen.call-ui isf rw---- ------
+org.tizen.call-ui pulseaudio rw---- ------
+
+org.tizen.call-ui org.tizen.indicator rwx--- ------
+org.tizen.call-ui org.tizen.indicator_shm r----- ------
+
+org.tizen.call-ui tizen::vconf::message r----l ------
+org.tizen.call-ui tizen::vconf::public::r r----l ------
+org.tizen.call-ui tizen::vconf::platform::rw rw---- ------
+org.tizen.call-ui tizen::vconf::public::r::platform::rw rw---- ------
+org.tizen.call-ui tizen::vconf::setting r----l ------
+org.tizen.call-ui tizen::vconf::setting::admin r----l ------
+org.tizen.call-ui tizen::vconf::camcorder r----l ------
+
diff --git a/org.tizen.call-ui.manifest b/org.tizen.call-ui.manifest
new file mode 100755 (executable)
index 0000000..88c0c8b
--- /dev/null
@@ -0,0 +1,11 @@
+<manifest>
+       <define>
+               <domain name="org.tizen.call-ui"/>
+       </define>
+       <assign>
+               <filesystem path="/usr/share/packages/org.tizen.call-ui.xml" label="_"/>
+       </assign>
+       <request>
+               <domain name="org.tizen.call-ui"/>
+       </request>
+</manifest>
diff --git a/org.tizen.call-ui.xml b/org.tizen.call-ui.xml
new file mode 100755 (executable)
index 0000000..c26e077
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns="http://tizen.org/ns/packages" api-version="2.4" package="org.tizen.call-ui" version="0.0.1" install-location="internal-only">
+       <label>Voice Call</label>
+       <description>Call UI Application</description>
+       <ui-application appid="org.tizen.call-ui" exec="/usr/apps/org.tizen.call-ui/bin/call-ui" nodisplay="true" multiple="false" type="capp" taskmanage="false">
+               <label>Voice Call</label>
+               <label xml:lang="en-gb">Voice Call</label>
+               <application-service>
+                       <operation name="http://tizen.org/appcontrol/operation/call"/>
+                       <uri name="tel"/>
+               </application-service>
+               <background-category value="media"/>
+               <background-category value="background-network"/>
+       </ui-application>
+       <privileges>
+               <privilege>http://tizen.org/privilege/notification</privilege>
+       </privileges>
+</manifest>
diff --git a/packaging/org.tizen.call-ui.spec b/packaging/org.tizen.call-ui.spec
new file mode 100755 (executable)
index 0000000..c2756b9
--- /dev/null
@@ -0,0 +1,74 @@
+Name:       org.tizen.call-ui
+Summary:    Call UI Application
+Version:    0.0.1
+Release:    1
+License:    Apache-2.0
+Group:      devel
+Source0:    %{name}-%{version}.tar.gz
+
+%if "%{?tizen_profile_name}" == "wearable" || "%{?tizen_profile_name}" == "tv"
+ExcludeArch: %{arm} %ix86 x86_64
+%endif
+
+BuildRequires:  pkgconfig(appcore-efl)
+BuildRequires:  pkgconfig(elementary)
+BuildRequires:  pkgconfig(dlog)
+BuildRequires:  pkgconfig(capi-appfw-application)
+BuildRequires:  pkgconfig(appsvc)
+BuildRequires: pkgconfig(callmgr_client)
+BuildRequires: pkgconfig(ecore-x)
+BuildRequires:  pkgconfig(msg-service)
+BuildRequires:  pkgconfig(efl-extension)
+BuildRequires:         pkgconfig(utilX)
+BuildRequires:  cmake
+BuildRequires:  gettext-tools
+BuildRequires:  edje-tools
+BuildRequires:  pkgconfig(capi-network-bluetooth)
+BuildRequires:  pkgconfig(capi-network-connection)
+BuildRequires:  pkgconfig(capi-system-system-settings)
+BuildRequires:  pkgconfig(minicontrol-provider)
+BuildRequires:  pkgconfig(contacts-service2)
+BuildRequires:  pkgconfig(capi-system-device)
+BuildRequires:         pkgconfig(notification)
+BuildRequires:         pkgconfig(capi-system-runtime-info)
+BuildRequires:  pkgconfig(capi-system-info)
+BuildRequires:  pkgconfig(capi-ui-efl-util)
+
+%description
+Call UI application.
+
+%prep
+%setup -q
+
+%build
+export CFLAGS="${CFLAGS} -fvisibility=hidden"
+export CXXFLAGS="${CXXFLAGS} -fvisibility-inlines-hidden -fvisibility=hidden"
+export FFLAGS="${FFLAGS} -fvisibility-inlines-hidden -fvisibility=hidden"
+%define PREFIX /usr
+%define APPDIR %{PREFIX}/apps
+%define        PKGDIR  %{APPDIR}/%{name}
+%define BINDIR %{PKGDIR}/bin
+%define RESDIR %{PKGDIR}/res
+
+cmake . -DCMAKE_INSTALL_PREFIX=%{PREFIX}
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+%make_install
+
+#install license file
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE %{buildroot}/usr/share/license/%{name}
+
+%post
+
+%files
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%{BINDIR}/*
+%{RESDIR}/*
+/usr/share/packages/*
+/usr/share/license/%{name}
+#/etc/smack/accesses2.d/%{name}.rule
+/etc/smack/accesses.d/%{name}.efl
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8368710
--- /dev/null
@@ -0,0 +1,24 @@
+# for i18n
+
+SET(POFILES ar.po az.po bg.po ca.po cs.po da.po de.po el_GR.po en.po en_PH.po en_US.po es_ES.po es_US.po et.po eu.po fi.po fr.po fr_CA.po ga.po gl.po hi.po hr.po hu.po hy.po is.po it_IT.po ja_JP.po ka.po kk.po ko_KR.po lt.po lv.po mk.po nb.po nl.po pl.po pt_BR.po pt_PT.po ro.po ru_RU.po sk.po sl.po sr.po sv.po tr_TR.po uk.po uz.po zh_CN.po zh_HK.po zh_TW.po)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+       SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+       MESSAGE("PO: ${pofile}")
+       GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+       GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+       SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+       ADD_CUSTOM_COMMAND(
+                       OUTPUT ${moFile}
+                       COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+                       DEPENDS ${absPofile}
+       )
+       INSTALL(FILES ${moFile}
+                       DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+       SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/po/ar.po b/po/ar.po
new file mode 100644 (file)
index 0000000..62dcf4a
--- /dev/null
+++ b/po/ar.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "إضافة إلى جهات الاتصال"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "إلغاء"
+
+msgid "IDS_COM_SK_OK"
+msgstr "موافق"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "إنشاء جهة اتصال"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "رسالة"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "رقم الطوارئ"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "الرجوع إلى المكالمة"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "فشل الإرسال."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "رفض الاتصال مع رسالة"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "انتقال"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "لوحة المفاتيح"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "للتبديل إلى استخدام جهاز البلوتوث، سيتم تشغيل البلوتوث."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "مكالمات فائتة"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "لا يمكن تشغيل الصوت الإضافي أثناء توصيل سماعات الأذن أو سماعة الرأس البلوتوث."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "لا يمكن تشغيل الصوت الإضافي أثناء توصيل سماعات الأذن."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "لا يمكن تشغيل الصوت الإضافي أثناء توصيل سماعة الرأس البلوتوث."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "جاري الاتصال..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "مكالمة فائتة"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "تحويل"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "الخدمات"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "استئناف المكالمة"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "إنهاء المكالمة الجماعية"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "إنهاء المكالمة مع %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "إنهاء كل المكالمات الحالية"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "مكالمة متعددة الأطراف"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "انقر نقراً مزدوجاً فوق رمز القفل لإلغاء قفل الجهاز"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "تشغيل البلوتوث"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "الرد على مكالمة"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "عرض تفاصيل جهة الاتصال"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "تحديث الموجود"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "مكبر الصوت"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "استئناف"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "رفض"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "كتم"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "إدارة"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "تعليق"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "جهات الاتصال"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "إنشاء رسالة لإرسالها"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "اتصال"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "البلوتوث"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "إضافة مكالمة"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "قبول"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "مع %d من الأشخاص"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "غير معروف"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "تعليق الاتصال بـ %s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "في انتظار"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "لا توجد رسائل"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "دمج"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "مكالمة واردة"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "تعليق مكالمة جارية"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "إنهاء المكالمات النشطة (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "جارٍ الاتصال عبر %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "متصلة عبر %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "تم الاتصال"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "تم إنهاء المكالمة"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d قيد التعليق"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "وضع %s قيد التعليق"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "اجتماع"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "العودة إلى شاشة الاتصال"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "مكالمة مرفوضة تلقائيا"
+
diff --git a/po/az.po b/po/az.po
new file mode 100644 (file)
index 0000000..5afae48
--- /dev/null
+++ b/po/az.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Kontaktlara əlavə et"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Ləğv et"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Ad yaz"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Təcili yardım nömrəsi"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Zəng etmək üçün geri qayıdın"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Göndərmək mümkün olmadı."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Mesaj ilə zəngdən imtina edin"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Əvəz et"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Klaviat."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth cihazdan istifadəyə keçmək üçün Bluetooth yandırılacaq."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "buraxılmış zənglər"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Bluetooth qulaqlığı və ya qulaqlıqlar qoşulan zaman çox yüksək səsi yandırmaq olmaz."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Qulaqlıqlar qoşulan zaman çox yüksək səsi yandırmaq olmaz."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Bluetooth qulaqlığı qoşulan zaman çox yüksək səsi yandırmaq olmaz."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Yığılır..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Buraxılmış zəng"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Köçürülmə"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM Xidmətləri"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Zəngi bərpa et"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Konfrans zəngi bitir"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%s ilə zəngi bitir"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Bütün cari zəngləri bitir"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konfrans zəngi"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Cihazı kiliddən açmaq üçün kilid nişanına iki dəfə vurun"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetooth-u yandırın"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Zəngə cavab ver"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kontakt məlumatına bax"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Mvcd olanı yenlə"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Dinamik"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Davam et"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "İmtina et"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Səssiz"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "İdarə et"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Gözlət"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Göndərmək üçün mesaj yarat"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Zəng"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Zng əlv.et"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Qəbul et"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d nəfərlə"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Naməlum"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s gözləməyə qoyulur"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Gözlədilr"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Mesaj yoxdur"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Birləşdir"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Gələn zəng"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Aktiv zəngi gözlədin"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Aktiv zəngləri bitir (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s ilə yığılır..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s ilə qoşulmuşdur"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Qoşulmuşdur"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Zəng bitdi"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d gözləmə"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s-i gözlət"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konfrans"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Zəng ekranına qayıt"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Avto-imtina edilmiş zəng"
+
diff --git a/po/bg.po b/po/bg.po
new file mode 100644 (file)
index 0000000..13c4472
--- /dev/null
+++ b/po/bg.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Добави към Тел. Указ."
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Отмени"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Създай запис"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Съобщение"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Номер за спешно повикване"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Назад към повикването"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Неуспешно изпращане."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Отхвърляне пов. със съобщение"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Замени"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Клавиат."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "За да превключите на използване на вашето Bluetooth устройство, Bluetooth ще бъде включен."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Пропyснати разговори"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Допълнителната сила на звука не може да бъде включена, докато има свързани слушалки или Bluetooth слушалка."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Допълнителната сила на звука не може да бъде включена, докато има свързани слушалки."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Допълнителната сила на звука не може да бъде включена, докато има свързана Bluetooth слушалка."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Набиране..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Пропуснат разговор"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Прехвърли"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM услуги"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Подновяване на разговор"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Прекратяване на конферентен разговор"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Край на разговора с %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Край на всички текущи повиквания"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Конферентен разговор"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Докоснете двукратно иконата за заключване, за да отключите устройството"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Включване на Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Отговаряне на повикване"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Преглед подроб. за контакт"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Актуал. съществ."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Високог"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Подновяв."
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Отказ"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Заглуш."
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Управление"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Задръж"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Указател"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Съставяне съобщ. за изпращане"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Повикване"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Доб. разг."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Приеми"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "С %d души"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Няма информация"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Разговорът с %s е задържан"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Задържане"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Няма съобщения"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Сливане"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Входящо повикване"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Задръж акт. разговор"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Край на активните (%d) разговори"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Набиране чрез %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Свързано чрез %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Свързано"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Разговорът завършен"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d задърж."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Задържане на %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Конферентен"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Връщане на екрана на пов."
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Автом. отхвърлено повикв."
+
diff --git a/po/ca.po b/po/ca.po
new file mode 100644 (file)
index 0000000..15de080
--- /dev/null
+++ b/po/ca.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Afegeix a Contactes"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Acceptar"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Crea contacte"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Missatge"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Número d'emergència"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Torna a la trucada"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Error en enviar"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rebutjar trucada amb missatge"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Intercanviar"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teclat"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Per canviar a utilitzar el seu dispositiu Bluetooth, s'activarà Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Trucades perdudes"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "El volum extra no es pot activar mentre els auriculars o els auriculars Bluetooth estan connectats."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "El volum extra no es pot activar mentre els auriculars estan connectats."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "El volum extra no es pot activar mentre els auriculars Bluetooth estan connectats."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Marcant..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Trucada perduda"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferir"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Serveis SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Reprendre trucada"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Finalitzar multiconferència"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Finalitzar trucada amb %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Finalitzar totes les trucades actuals"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Multiconferència"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Toqui dos cops la icona bloquejar per desbloquejar el dispositiu"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activar el Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Respondre trucada"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Veure detalls del contacte"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Actual existents"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Altaveu"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Reprendre"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rebutjar"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Silenci"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gestionar"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Retenir"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contactes"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Redactar missatge per enviar"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Trucar"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Af trucada"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Acceptar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Amb %d persones"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Desconegut"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Posant %s en espera"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Retinguda"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "No hi ha cap missatge"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Fusionar"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Trucada d'entrada"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Retenir truc activa"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Finalitzar les trucades actives (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Marcant amb %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connectat amb %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connectat"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Trucada finalitzada"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d en esp"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Posar %s en espera"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferència"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Tornar a pant de trucada"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Trucada rebutjada auto"
+
diff --git a/po/cs.po b/po/cs.po
new file mode 100644 (file)
index 0000000..e85741e
--- /dev/null
+++ b/po/cs.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Přidat do Kontaktů"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Zrušit"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Vytvořit kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Zpráva"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Číslo tísňového volání"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Zpět k hovoru"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Odeslání se nezdařilo."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Odmítnout hovor se zprávou"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Přepnout"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Klávesnice"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Chcete-li přepnout na zařízení Bluetooth, Bluetooth bude zapnuto."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Nepř. hovory"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Když jsou připojená sluchátka nebo sluchátka Bluetooth, nelze zapnout Dodatečnou hlasitost."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Když jsou připojená sluchátka, nelze zapnout Dodatečnou hlasitost."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Když jsou připojená sluchátka Bluetooth, nelze zapnout Dodatečnou hlasitost."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Připojuji hovor..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Zmeškaný hovor"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Přenos"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Služby karty SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Pokračovat v hovoru"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Ukončit konferenční hovor"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Ukončit hovor s %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Ukončit všechny aktuální hovory"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenční hovor"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Poklepáním na ikonu zámku odemknete zařízení"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Zapnout Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Přijmout hovor"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Zobrazit detaily kontaktu"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Akt. stávající"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Reprod."
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Pokračovat"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Odmítnout"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Ztlumit"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Spravovat"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Podržet"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Vytvořit zprávu pro odeslání"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Volat"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Př. hovor"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Přijmout"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Počet účastníků: %d"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Neznámé"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Přidržení hovoru s %s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Za hovoru"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Žádné zprávy"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Sloučit"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Příchozí hovor"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Držet aktivní hovor"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Ukončit aktivní hovory (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Volám přes %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Připojen přes %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Připojeno"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Hovor ukončen"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d přidrž."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Přidržet %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konference"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Zpět na obrazovku hovoru"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom. odmítnutý hovor"
+
diff --git a/po/da.po b/po/da.po
new file mode 100644 (file)
index 0000000..5da1435
--- /dev/null
+++ b/po/da.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Føj til kontakter"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Annullér"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Opret kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Besked"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Nødopkaldsnummer"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Tilbage til opkald"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Afsendelse mislykkedes."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Afvis opkald med besked"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Skift"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastatur"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Hvis du skifter til at bruge din Bluetooth-enhed, bliver Bluetooth aktiveret."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Ubesvarede opkald"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ekstra lydstyrke kan ikke aktiveres, mens øretelefoner eller Bluetooth-headset er tilsluttet."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Ekstra lydstyrke kan ikke aktiveres, mens øretelefoner er tilsluttet."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ekstra lydstyrke kan ikke aktiveres, mens Bluetooth-headset er tilsluttet."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Ringer op..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Ubesvaret opkald"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Overfør"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-tjenester"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Genoptag samtale"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Afslut konferenceopkald"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Afslut opkald med %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Afslut alle aktuelle opkald"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenceopkald"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dobbelttryk på låseikonet for låse din enhed op"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Tænd for Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Besvar opkald"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Se kontaktdetaljer"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Opd. eksister."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Højttaler"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Genoptag"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Afvis"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Lydløs"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Håndter"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Sæt på hold"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Skriv den besked, du vil sende"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Opkald"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Tilf. opk."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Besvar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Med %d personer"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Ukendt"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Sætter %s på hold"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "På hold"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Ingen meddelelser"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Flet"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Indgående opkald"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Hold aktivt opkald"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Afslut aktive opkald (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Ringer via %s ..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Forbundet via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Forbundet"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Opkald afsluttet"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d på hold"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Sæt %s på hold"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konference"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Tilbage til opkaldsskærm"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autoafviste opkald"
+
diff --git a/po/de.po b/po/de.po
new file mode 100644 (file)
index 0000000..6eb3bae
--- /dev/null
+++ b/po/de.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Zu Kontakten hinzufügen"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Abbrechen"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Neuer Kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Nachricht"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Notrufnummer"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Zurück zu Anruf"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Senden fehlgeschlagen"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Anruf mit Nachricht abweisen"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Tauschen"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastenfeld"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Zur Verwendung Ihres Bluetooth-Geräts wird Bluetooth eingeschaltet."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Anr. in Abwesenheit"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Zusätzliche Lautstärke kann nicht eingeschaltet werden, solange Kopfhörer oder ein Bluetooth-Headset angeschlossen sind."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Zusätzliche Lautstärke kann nicht eingeschaltet werden, solange Kopfhörer angeschlossen sind."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Zusätzliche Lautstärke kann nicht eingeschaltet werden, solange ein Bluetooth-Headset angeschlossen ist."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Wählen ..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Anruf in Abwesenheit"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Übertragen"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-Dienste"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Anruf fortsetzen"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Telefonkonferenz beenden"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Anruf mit %s beenden"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Alle Anrufe beenden"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenz"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Tippen Sie zweimal auf das Sperrsymbol, um das Gerät zu entsperren."
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetooth einschalten"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Anruf annehmen"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kontaktdetails anzeigen"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Zu Kontakt hzfg."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Lautsprecher"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Fortsetzen"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Abweisen"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Stumm"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Verwalten"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Halten"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakte"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Nachricht zum Senden verfassen"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Anruf"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Anruf hzfg."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Annehmen"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Mit %d Personen"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Unbekannt"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s halten"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Gehalten"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Keine Nachrichten"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Konferenz"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Eingehender Anruf"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Aktiven Anruf halten"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Aktive Anrufe beenden (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Wählen über %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Verbindung über %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Verbunden"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Anruf beendet"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d paus."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Anruf von %s halten"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferenz"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Zurück zum Anrufbildschirm"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom. abgelehnter Anruf"
+
diff --git a/po/el_GR.po b/po/el_GR.po
new file mode 100644 (file)
index 0000000..2a67f06
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Προσθήκη στις Επαφές"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Άκυρο"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Δημ/ργία επαφής"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Μήνυμα"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Αριθμός έκτακτης ανάγκης"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Επιστροφή στην κλήση"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Αποτυχία αποστολής."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Απόρριψη κλήσης με μήνυμα"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Εναλλ."
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Πληκτρολ."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Για να κάνετε εναλλαγή στη χρήση τάση συσκευής Bluetooth, θα ενεργοποιηθεί το Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Αναπάντητες"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Δεν είναι δυνατή η ενεργοποίηση της επιπλέον έντασης όταν είναι συνδεδεμένα τα ακουστικά ή το σετ μικροφώνου-ακουστικών Bluetooth."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Δεν είναι δυνατή η ενεργοποίηση της επιπλέον έντασης όταν είναι συνδεδεμένα τα ακουστικά."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Δεν είναι δυνατή η ενεργοποίηση της επιπλέον έντασης όταν είναι συνδεδεμένο το σετ μικροφώνου-ακουστικών Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Κλήση..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Αναπάντητη κλήση"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Μεταφορά"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Υπηρεσίες SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Συνέχιση κλήσης"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Τερματισμός κλήσης συνδιάσκεψης"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Τερματισμός κλήσης με %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Τερματισμός όλων των τρεχουσών κλήσεων"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Τηλεφωνική συνδιάσκεψη"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Πατήστε δύο φορές το εικονίδιο κλειδώματος, για να ξεκλειδώσετε τη συσκευή σας"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Ενεργοποίηση Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Απάντηση κλήσης"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Προβολή στοιχείων επαφής"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Ενημ. υπαρχόντων"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Ηχείο"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Συνέχεια"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Απόρριψη"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Σίγαση"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Διαχείριση"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Αναμονή"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Επαφές"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Σύνταξη μηνύματος για αποστολή"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Κλήση"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Πρ. κλήσ."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Αποδοχή"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Με %d άτομα"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Άγνωστο"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Θέτοντας %s σε αναμονή"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Αναμονή"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Κανένα μήνυμα"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Συγχώνευση"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Εισερχόμενη κλήση"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Ενερ. κλήση σε κράτ."
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Τερματισμός ενεργών κλήσεων (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Κλήση μέσω %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Συνδέθηκε μέσω %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Συνδέθηκε"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "H κλήση τερματίστ."
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d σε ανα."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Ενεργοποίηση αναμονής για %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Συνδιάσκεψη"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Επιστροφή στην οθ. κλήσης"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Αυτ. απόρριψη κλήσης"
+
diff --git a/po/en.po b/po/en.po
new file mode 100644 (file)
index 0000000..508ef0f
--- /dev/null
+++ b/po/en.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Add to Contacts"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Create contact"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Emergency number"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Back to call"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Sending failed."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Reject call with message"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Swap"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Keypad"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "To switch to using your Bluetooth device, Bluetooth will be turned on."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Missed calls"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume cannot be turned on while earphones or Bluetooth headset connected."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Extra volume cannot be turned on while earphones connected."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume cannot be turned on while Bluetooth headset connected."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Dialling..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Missed call"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transfer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM services"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Resume call"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "End conference call"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "End call with %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "End all current calls"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conference call"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Double tap the lock icon to unlock your device"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Turn on Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Answer call"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "View contact details"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Update existing"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Speaker"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Resume"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Reject"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Mute"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Manage"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Hold"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Compose message to send"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Call"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Add call"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Accept"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "With %d people"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Putting %s on hold"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "On hold"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "No messages"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Merge"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Incoming call"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Hold active call"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "End active calls (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Dialling via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connected via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connected"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Call ended"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d on hold"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Put %s on hold"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conference"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Return to call screen"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Auto rejected call"
+
diff --git a/po/en_PH.po b/po/en_PH.po
new file mode 100644 (file)
index 0000000..29b2c87
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Add to contacts"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Create contact"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Emergency number"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Back to call"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Sending failed."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Reject call with message"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Swap"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Keypad"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "To switch to using your Bluetooth device, Bluetooth will be turned on."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Missed calls"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume cannot be turned on while earphones or Bluetooth headset connected."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Extra volume cannot be turned on while earphones connected."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume cannot be turned on while Bluetooth headset connected."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Dialing..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Missed call."
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transfer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM services"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Resume call"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "End conference call"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "End call with %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "End all current calls"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conference call"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Double tap the lock icon to unlock your device"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Turn on Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Answer call"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "View contact details"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Update existing"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Speaker"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Resume"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Reject"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Mute"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Manage"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Hold"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Compose message to send"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Call"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Add call"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Accept"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "With %d people"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Putting %s on hold"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "On hold"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "No messages"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Merge"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Incoming call"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Hold active call"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "End active calls (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Dialing via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connected via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connected"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Call ended"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d on hold"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Put %s on hold"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conference"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Return to call screen"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Auto rejected call"
+
diff --git a/po/en_US.po b/po/en_US.po
new file mode 100644 (file)
index 0000000..d3f8d38
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Add to contacts"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancel"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Create contact"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Emergency number"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Back to call"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Sending failed"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Reject call with message"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Swap"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Keypad"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "To switch to using your Bluetooth device, Bluetooth will be turned on."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Missed calls"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume cannot be turned on while earphones or Bluetooth headset connected."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Extra volume cannot be turned on while earphones connected."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume cannot be turned on while Bluetooth headset connected."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Dialing..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Missed call"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transfer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM services"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Resume call"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "End conference call"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "End call with %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "End all current calls"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conference call"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Double tap the lock icon to unlock your device"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Turn on Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Answer call"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "View contact details"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Update existing"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Speaker"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Resume"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Reject"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Mute"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Manage"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Hold"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Compose message to send"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Call"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Add call"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Accept"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "With %d people"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Unknown"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Putting %s on hold"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "On hold"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "No messages"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Merge"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Incoming call"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Hold active call"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "End active calls (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Dialing via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connected via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connected"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Call ended"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d on hold"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Put %s on hold"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conference"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Return to call screen"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Auto rejected call"
+
diff --git a/po/es_ES.po b/po/es_ES.po
new file mode 100644 (file)
index 0000000..e6c4fc2
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Añadir a Contactos"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Aceptar"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Crear contacto"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mensajes"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Emergencias"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Volver a la llamada"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Error al enviar"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rechazar llamada con mensaje"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Cambiar"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Para usar el dispositivo Bluetooth, se activará el Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Llams perd"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "El volumen extra no se puede activar mientras que el auricular Bluetooth o los auriculares convencionales estén conectados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "El volumen extra no se puede activar mientras que los auriculares estén conectados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "El volumen extra no se puede activar mientras que el auricular Bluetooth esté conectado."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Marcando..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Llamada perdida"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferir"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Servicios SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Reanudar llamada"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Finalizar llamada de conferencia"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Finalizar llamada con %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Finalizar todas las llamadas actuales"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Multiconferencia"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Pulse dos veces el icono de bloqueo para desbloquear su dispositivo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activar Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Responder llamada"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalles de contacto"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Actualiz. exist."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Altavoz"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Reanudar"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rechazar"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Silencio"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gestionar"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Retener"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Crear mensaje para enviar"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Llamar"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Añadir llamada"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Aceptar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Con %d personas"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Poniendo %s en espera"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "En espera"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "No hay mensajes"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Fusionar"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Llamada entrante"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Poner llam act esper"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Finalizar llamadas activas (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Marcando con %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Conectado por %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Conectado"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Fin llamada"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d en esp"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Poner a %s en espera"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferencia"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Volver a pantalla llamada"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Llamada rechazada auto"
+
diff --git a/po/es_US.po b/po/es_US.po
new file mode 100644 (file)
index 0000000..7aba116
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Añadir a Contactos"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Aceptar"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Crear contacto"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mensaje"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Emergencia"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Volver a la llamada"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Error al enviar."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rechazar llamada con un mensaje"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Cambiar"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Para usar el dispositivo Bluetooth, se activará el Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Llamadas perdidas"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "El volumen extra no se puede activar mientras el auricular o el auricular Bluetooth estén conectados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "El volumen extra no se puede activar mientras el auricular esté conectado."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "El volumen extra no se puede activar mientras el auricular Bluetooth esté conectado."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Marcando..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Llamada perdida"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferir"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Servicios SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Reanudar llamada"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Finalizar multiconferencia"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Finalizar llamada con %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Terminar todas las llamada actuales"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Multiconferencia"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Pulsar el ícono de bloqueo dos veces para desbloquear el dispositivo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activar Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Responder llamada"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalles de contacto"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Actualizar"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Altavoz"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Reanudar"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rechazar"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Silenciar"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Administrar"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Retener"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Redactar mensaje para enviar"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Llamar"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Añadir"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Aceptar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Con %d personas"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Desconocido"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Poner a %s en espera"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "En espera"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "No hay mensajes"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Conferencia"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Llamada entrante"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Llam. act. en espera"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Finalizar llamadas activas (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Marcando vía %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Conectado a %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Conectado"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Llamada finalizada"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d en espera"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Poner a %s en espera"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Multiconferencia"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Volver a pantalla llamada"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Llamada rechazada auto."
+
diff --git a/po/et.po b/po/et.po
new file mode 100644 (file)
index 0000000..ccdb9fc
--- /dev/null
+++ b/po/et.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Lisa kontaktidesse"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Tühista"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Loo kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Sõnum"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Hädaabinumber"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Tagasi kõne juurde"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Saatmine nurjus."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Keeldu sõnumiga"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Vaheta"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Klahvid"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth-seadme kasutamiseks lülitatakse Bluetooth sisse."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Vastamata"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Lisahelitugevust ei saa sisse lülitada sel ajal, kui kõrvaklapid või Bluetooth-peakomplekt on ühendatud."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Lisahelitugevust ei saa sisse lülitada sel ajal, kui kõrvaklapid on ühendatud."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Lisahelitugevust ei saa sisse lülitada sel ajal, kui Bluetooth-peakomplekt on ühendatud."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Ühenduse loomine..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Vastamata kõne"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Edasta"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-teenused"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Jätka kõnet"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Lõpeta konverentskõne"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Lõpeta kõne kontaktiga %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Lõpeta kõik aktiivsed kõned"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Liitu konverentskõnega"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Seadme avamiseks toksake kaks korda lukuikooni"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Lülita Bluetooth sisse"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Vasta kõnele"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kuva kontakti üksikasjad"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Uuenda praegune"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Kõlar"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Taasta"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Keeldu"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Vaigista"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Halda"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Ootele"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontaktid"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Koosta sõnum saatmiseks"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Helista"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Lisa kõne"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Nõustu"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Koos %d inimesega"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Tundmatu"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Kõne kontaktiga %s pannakse ootele"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Ootel"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Sõnumid puuduvad"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Ühenda"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Sissetulev kõne"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Aktiivne kõne ootele"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Lõpeta aktiivne kõne (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Valimine üksuse %s kaudu..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Ühendatud üksuse %s kaudu"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Ühendatud"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Kõne lõppes"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d ootel"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Pane %s ootele"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konverentskõne"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Naase kõneekraanile"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom. keeldutud kõne"
+
diff --git a/po/eu.po b/po/eu.po
new file mode 100644 (file)
index 0000000..1e8b3b8
--- /dev/null
+++ b/po/eu.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Kontaktuetara gehitu"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Ezeztatu"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Ados"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Kontaktua sortu"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mezua"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Larrialdietarako zenbakia"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Deira itzuli"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Bidaltzerakoan akatsa"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Ukatu deia mezuaz"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Ordezkatu"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teklatua"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Zure Bluetooth gailua erabiltzen hasteko, Bluetootha piztuko da."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Galdutako deiak"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ezin da bolumen gehigarria piztu aurikularrak edo Bluetooth aurikularrak konektatuta badaude."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Ezin da bolumen gehigarria piztu aurikularrak konektatuta badaude."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ezin da bolumen gehigarria piztu Bluetooth aurikularrak konektatuta badaude."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Markatzen..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Galdutako deia"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferitu"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM zerbitzuak"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Berreskuratu deia"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Amaitu konferentzia deia"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Amaitu %s-(r)ekin duzun deia"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Amaitu oraingo dei guztiak"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Hizketaldi deia"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Ukitu bi aldiz blokeo ikonoa, gailua desblokeatzeko"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Piztu Bluetootha"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Erantzun deia"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ikusi kontaktu xehetasunak"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Eguner. daudenak"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Bozgor."
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Berrabiar."
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Ukatu"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Isilarazi"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Kudeatu"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Mantendu"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontaktuak"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Idatzi bidaltzeko mezua"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Deitu"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetootha"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Gehi. deia"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Onartu"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d pertsonarekin"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Ezezaguna"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s zain jartzen"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Egonean"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Mezurik ez"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Bateratu"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Sarrerako deia"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Eutsi dei aktiboa"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Amaitu aktibo dauden deiak (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s bidez markatzen..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s bidez konektatuta"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Konektatuta"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Deia amaituta"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d egonean"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Jarri %s zain"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferentzia"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Itzuli dei pantailara"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Ukatu deia automatikoki"
+
diff --git a/po/fi.po b/po/fi.po
new file mode 100644 (file)
index 0000000..170fccb
--- /dev/null
+++ b/po/fi.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Lisää yhteystietoihin"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Peruuta"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Luo yhteystieto"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Viesti"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Hätänumero"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Takaisin puheluun"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Lähetys epäonnistui."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Hylkää puhelu viestillä"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Vaihda"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Nronäpp."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth otetaan käyttöön, jotta voit siirtyä käyttämään Bluetooth-laitetta."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Ei vast. puh"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Lisävoimakkuutta ei voi ottaa käyttöön, kun kuulokkeet tai Bluetooth-kuulokemikrofoni on yhdistetty."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Lisävoimakkuutta ei voi ottaa käyttöön, kun kuulokkeet on yhdistetty."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Lisävoimakkuutta ei voi ottaa käyttöön, kun Bluetooth-kuulokemikrofoni on yhdistetty."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Soitetaan..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Vastaamaton puhelu"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Siirrä"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-palvelut"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Jatka puhelua"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Lopeta neuvottelupuhelu"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Lopeta puhelu henkilön %s kanssa"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Lopeta kaikki käynnissä olevat puhelut"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Neuvottelupuhelu"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Poista laitteen lukitus kaksoisnapauttamalla lukon kuvaketta"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Käynnistä Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Vastaa puheluun"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Näytä yhteystiedot"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Päivitä nykyiset"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Kaiutin"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Jatka"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Hylkää"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Mykistä"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Hallinta"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Pitoon"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Yhteystiedot"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Luo lähetettävä viesti"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Puhelu"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Lisää puh."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Vastaa"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d ihmisen kanssa"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Tuntematon"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s on asetettu pitoon"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Pidossa"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Ei viestejä"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Yhdistä"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Saapuva puhelu"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Akt. puhelu pitoon"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Lopeta aktiiviset puhelut (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Soitto kortilta %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Yhdistetty kortilta %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Yhdistetty"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Puhelu päättyi"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d pidossa"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Aseta %s pitoon"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Neuvottelu"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Palaa puhelunäyttöön"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom. hylätty puhelu"
+
diff --git a/po/fr.po b/po/fr.po
new file mode 100644 (file)
index 0000000..96b1b70
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Ajouter aux contacts"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Créer un contact"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Numéro d'urgence"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Retour à l'appel"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Échec de l'envoi."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rejeter l'appel avec un message"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Permuter"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Clavier"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Pour passer en mode Bluetooth sur votre appareil, le Bluetooth va être activé."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Appels manqués"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Impossible d'utiliser le volume supplémentaire lorsque des écouteurs ou un casque Bluetooth sont connectés."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Impossible d'utiliser le volume supplémentaire lorsque des écouteurs sont connectés."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Impossible d'utiliser le volume supplémentaire lorsqu'un casque Bluetooth est connecté."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Composition..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Appel manqué"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transférer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Services SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Reprendre l'appel"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Interrompre la conférence audio"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Terminer l'appel avec %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Terminer tous les appels en cours"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conférence téléphonique"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Appuyer deux fois sur l'icône de verrouillage pour déverrouiller l'appareil"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activer Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Répondre à l'appel"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Afficher les détails"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "MAJ cont. exist."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "HP"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Reprendre"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Refuser"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Muet"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gérer"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Attente"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Composer le message à envoyer"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Appeler"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Ajouter"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Accepter"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Avec %d personnes"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Appel masqué"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Mettre %s en attente"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Attente"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Aucun message"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Fusionner"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Appel entrant"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Mettre en attente"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Terminer appels actifs (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Numérotation via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connecté via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connecté"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Appel terminé"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d en att."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Mettre %s en attente"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conférence"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Revenir à l'écran d'appel"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Appel rejeté auto"
+
diff --git a/po/fr_CA.po b/po/fr_CA.po
new file mode 100644 (file)
index 0000000..20c1d7a
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Ajouter aux contacts"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Annuler"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Nouveau contact"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Message"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Numéro d'urgence"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Retour à l'appel"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Échec de l'envoi."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rejeter l'appel avec un message"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Permuter"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Clavier"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Pour passer en mode Bluetooth sur votre appareil, le Bluetooth va être activé."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Appels manqués"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Impossible d'utiliser le volume supplémentaire lorsque des écouteurs ou un casque Bluetooth sont connectés."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Impossible d'utiliser le volume supplémentaire lorsque des écouteurs sont connectés."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Impossible d'utiliser le volume supplémentaire lorsqu'un casque Bluetooth est connecté."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Composition..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Appel manqué"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transférer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Services SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Reprendre l'appel"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Interrompre la conférence audio"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Terminer l'appel avec %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Terminer tous les appels en cours"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conférence téléphonique"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Touchez deux fois sur l'icône de verrouillage pour déverrouiller l'appareil"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activer Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Répondre à l'appel"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Afficher les détails"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "MÀJ contact"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "HP"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Reprendre"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Refuser"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Muet"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gérer"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Attente"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacts"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Composer le message à envoyer"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Appel"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Ajouter"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Accepter"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Avec %d personnes"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Appel masqué"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Mettre %s en attente"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "En attente"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Aucun message"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Fusionner"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Appel entrant"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Mettre en attente"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Terminer appels actifs (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Numérotation via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connecté via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connecté"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Appel terminé"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d en att."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Mettre %s en attente"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conférence"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Revenir à l'écran d'appel"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Appel rejeté auto"
+
diff --git a/po/ga.po b/po/ga.po
new file mode 100644 (file)
index 0000000..3f8e477
--- /dev/null
+++ b/po/ga.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Cuir le Teagmhálaithe"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cuir ar ceal"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Déan teagmhálaí"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Teachtaireacht"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Uimhir éigeandála"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Siar chuig glao"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Theip ar sheoladh."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Diúltaigh do ghlao le tcht"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Malartú"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Eochaircheap"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Casfar Bluetooth air le haistriú chuig do gléas Bluetooth a úsáid"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Glaonna caillte"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ní féidir airde bhreise a chasadh air agus cluasáin nó gléas cinn Bluetooth ceangailte."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Ní féidir airde bhreise a chasadh air agus na cluasáin ceangailte."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ní féidir airde bhreise a chasadh air agus gléas cinn Bluetooth ceangailte."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Ag diailiú..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Glao caillte"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Aistrigh"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Seirbhísí SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Téigh ar ais chuig an nglao"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Scoir glao comhdhála"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Scoir glao le %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Scoir gach glao reatha"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Glao comhdhála"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Déthapáil an cnaipe Glasáil le do ghléas a dhíghlasáil"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Cas Bluetooth air"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Freagair glao"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Amh. ar shonraí teagmhálaí"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Nuashonraigh é"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Callaire"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Atosaigh"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Diúltaigh"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Balbh"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Bainistigh"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Ar Fionraí"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Teagmhálaithe"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Cum teachtaireacht le seoladh"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Glaoigh"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Glao leis"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Glac leis"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Le %d duine"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Anaithnid"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s á chur ar fionraí"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Ar fionraí"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Níl teachtaireachtaí ann"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Cumasc"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Glao isteach"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Fionraigh glao gníomhach"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Críochnaigh glaonna gníomhacha (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Diailiú le %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Nasctha trí %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Nasctha"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Glao scortha"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d ar fionraí"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Cuir %s ar fionraí"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Comhdháil"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Fill ar an scáileán glao"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Glao diúlt. go huathoib."
+
diff --git a/po/gl.po b/po/gl.po
new file mode 100644 (file)
index 0000000..c1270aa
--- /dev/null
+++ b/po/gl.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Engadir a Contactos"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Aceptar"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Crear contacto"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mensaxe"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Número de urxencia"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Volver á chamada"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Erro de envío"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rexeitar chamada cunha mensaxe"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Cambiar"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Para cambiar a usar o dispositivo Bluetooth, o Bluetooth activarase."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Non se pode activar Volume extra cos auriculares ou o auricular Bluetooth conectados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Non se pode activar Volume extra cos auriculares conectados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Non se pode activar Volume extra cos auriculares Bluetooth conectados."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Marcando..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Chamada perdida"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferir"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Aplicacións SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Continuar chamada"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Finalizar chamada de conferencia"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Finalizar chamada con %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Finalizar todas as chamadas actuais"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Multiconferencia"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Toca dúas veces na icona de bloqueo para desbloquear o dispositivo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activar o Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Responder chamada"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalles do contacto"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Actualizar exist"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Altof."
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Continuar"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rexeitar"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Silenc."
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Xestionar"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "En esp."
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Redactar mensaxe para enviar"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Chamar"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Eng cham"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Aceptar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Con %d persoas"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Descoñecido"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Colocando a %s en espera"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "En espera"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Non hai mensaxes"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Fusionar"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chamada entrante"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Manter chamada act."
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Finalizar chamadas activas (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Marcando con %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Conectado por %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Conectado"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Chamada finalizada"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d en esp."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Poñer %s en espera"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferencia"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Volver á pantalla chamada"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Chamada rexeitada autom."
+
diff --git a/po/hi.po b/po/hi.po
new file mode 100644 (file)
index 0000000..aea9889
--- /dev/null
+++ b/po/hi.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "संपर्को में जोड़ें"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "रद्द"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ओके"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "संपर्क बनाएं"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "सन्देश"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "आपातकालीन नंबर"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "कॉल पर वापस"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "भेजना विफल हुआ।"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "संदेश के साथ कॉल अस्वीकारें"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "स्वैप"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "कीपैड"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "अपने ब्लूटूथ डिवाइस का उपयोग करने हेतु स्विच करने के लिए, ब्लूटूथ को चालू किया जाएगा।"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "छूटी कॉल्स"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "इयरफ़ोन्स या ब्‍लूटूथ हेडसेट कनेक्ट रहने के दौरान अतिरिक्त वॉल्यूम चालू नहीं किया जा सकता है।"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "इयरफ़ोन्स कनेक्ट रहने के दौरान अतिरिक्त वॉल्यूम चालू नहीं किया जा सकता।"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "ब्‍लूटूथ हेडसेट कनेक्ट रहने के दौरान अतिरिक्त वॉल्यूम चालू नहीं किया जा सकता।"
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "डायल हो रहा है..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "छूटी कॉल"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "स्थानांतरण"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM सेवाएँ"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "कॉल फिर शुरू करें"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "कॉन्‍फ़्रेंस कॉल समाप्त करें"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%s के साथ कॉल समाप्त करें"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "सभी चालू कॉल्स समाप्त करें"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "कॉन्फ्रेंस कॉल"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "अपने डिवाइस को अनलॉक करने के लिए लॉक चिह्न पर दो बार टैप करें"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "ब्लूटूथ चालू करें"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "कॉल का उत्तर दें"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "संपर्क विवरण देखें"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "मौजूदा अपडेट करें"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "स्पीकर"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "पुनः शुरू"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "अस्वीकारे"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "मूक"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "प्रबंधित करें"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "होल्ड"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "सं‍पर्क"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "भेजने के लिए सन्देश लिखें"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "कॉल"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "ब्लूटूथ"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "कॉल जोड़ें"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "स्‍वीकारे"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d लोगों के साथ"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "अज्ञात"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s को प्रतीक्षा में रख रहे है"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "होल्‍ड पर"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "सन्देश नहीं"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "मिलाएं"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "आनेवाली कॉल"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "सक्रिय कॉल होल्ड करें"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "सक्रिय कॉल समाप्त करें (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s के द्वारा डायल कर रहा है..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s द्वारा कनेक्ट किया गया"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "कनेक्ट किया गया"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "कॉल समाप्त"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d होल्ड पर"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s होल्ड पर रखें"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "कॉन्‍फ़्रेंस"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "कॉल स्क्रीन पर वापस जाएँ"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "स्वतः अस्वीकृत कॉल"
+
diff --git a/po/hr.po b/po/hr.po
new file mode 100644 (file)
index 0000000..cb26109
--- /dev/null
+++ b/po/hr.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Dodaj u Imenik"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Prekid"
+
+msgid "IDS_COM_SK_OK"
+msgstr "U redu"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Novi kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Poruka"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "SOS broj"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Natrag na poziv"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Slanje neuspješno."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Odbijanje poziva\nuz poruku"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Zamijeni"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tipkovnica"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Za prebacivanje na korištenje Bluetooth uređaja uključit će se Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Propušteni pozivi"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Nije moguće uključiti dodatnu glasnoću dok su uključene slušalice ili Bluetooth slušalice."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Nije moguće uključiti dodatnu glasnoću dok su uključene slušalice."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Nije moguće uključiti dodatnu glasnoću dok su uključene Bluetooth slušalice."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Pozivanje..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Propušteni poziv"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Prijenos"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM usluge"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Nastavak poziva"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Prekini konferencijski poziv"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Prekid poziva s %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Prekini sve trenutne pozive"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferencijski poziv"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dvaput dodirnite ikonu zaključavanja da biste otključali uređaj"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Uključi Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Preuzmi poziv"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Detalji kontakta"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Aktualiziraj"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Zvučnik"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Nastavi"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Odbaci"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Bešumno"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Uredi"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Čekanje"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Imenik"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Sastavi poruku za slanje"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Poziv"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Dodaj poziv"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Prihvati"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "S %d ljudi"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Nepoznato"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Staviti %s na čekanje"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Na ček."
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nema poruka"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Spoji"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Dolazni poziv"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Preuzmi drugi poziv"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Prekini aktivne pozive (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Biranje putem %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Povezano putem %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Spojen"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Završen poziv"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d na ček."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Stavi %s na čekanje"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferencija"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Natrag na zaslon za poziv."
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Poziv auto. odbačen"
+
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..250822f
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Kapcsolatokhoz ad"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Mégse"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Új névjegy"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Üzenet"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Segélyhívó szám"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Vissza a híváshoz"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "A küldés sikertelen."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Híváselutasítás üzenetben"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Átvált"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Bill.-zet"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Ha átvált a Bluetooth-eszköz használatára, bekapcsol a Bluetooth funkció."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Nem fogadott"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Csatlakoztatott fülhallgató vagy Bluetooth-headset mellett nem kapcsolható be a többlethangerő."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Csatlakoztatott fülhallgató mellett nem kapcsolható be a többlethangerő."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Csatlakoztatott Bluetooth-headset mellett nem kapcsolható be a többlethangerő."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Hívás..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Nem fogadott hívás"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Átad"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-szolgáltatások"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Hívás folytatása"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Konferenciahívás befejezése"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%s partnerrel folytatott hívás befejezése"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Minden zajló hívás befejezése"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenciahívás"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Az eszköz feloldásához érintse meg kétszer a Lakat ikont"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Kapcsolja be a Bluetooth-t"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Hívás fogadása"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Névjegyadatok megtekintése"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Megl. frissítése"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Hangsz."
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Folytatás"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Elutasít"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Némít"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Kezelés"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Tart"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Névjegyek"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Elküldendő üzenet írása"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Hívás"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Új hívás"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Fogad"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d résztvevő"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Ismeretlen"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s tartásba helyezése"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Tartásban"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nincs üzenet"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Egyesítés"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Bejövő hívás"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Aktív hívás tartása"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Aktív hívások bontása (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Hívás a(z) %s használatával..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s használatával kapcsolódott"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Kapcsolódva"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Hívás vége"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d tartva"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s tartásba helyezése"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferencia"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Vissza a hívásképernyőhöz"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Aut. elutasított hívás"
+
diff --git a/po/hy.po b/po/hy.po
new file mode 100644 (file)
index 0000000..341b267
--- /dev/null
+++ b/po/hy.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Ավելացնել Կոնտակտներում"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Չեղարկել"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Ընդունել"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Ստեղծել կոնտակտ"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Հաղորդագրություն"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Վթարային համար"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Ետ դառնալ կանչին"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Ուղարկումը ձախողվեց:"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Մերժել զանգը հաղորդագրությամբ"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Փոխարկում"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Ստեղնաշար"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Ձեր Bluetooth սարքով փոխարկելու համար միացրեք Bluetooth-ը:"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Բցթղծ կանչեր"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ձայնի լրացուցիչ ուժգնությունը չի կարող միացվել, երբ ականջակալները կամ Bluetooth գլխային հեռախոսը միացված են:"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Ձայնի լրացուցիչ ուժգնությունը չի կարող միացվել, երբ ականջակալները միացված են:"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ձայնի լրացուցիչ ուժգնությունը չի կարող միացվել, երբ Bluetooth գլխային հեռախոսը միացված է:"
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Համարհավաքում..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Բացթողած զանգ"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Փոխանցել"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM ծառայություններ"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Վերսկսել կանչը"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Ավարտել հեռախոսային խորհրդակցությունը"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Ավարտել կանչը %sի հետ"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Ավարտել բոլոր ընթացիկ կանչերը"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Հեռախոսային կոնֆերանս"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Կրկնակի թակեք կողպման պատկերակը՝ սարքն արգելաբացելու համար"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Միացնել Bluetooth-ը"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Պատասխանել կանչին"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Դիտել կոնտակտային տվյալներ"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Թարմացնել եղածը"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Բրձրխոս"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Վերսկսել"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Մերժել"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Անձայն"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Կառավարել"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Պահել"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Կոնտակտներ"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Հղրդգրթյուն գրել ուղարկելու հր"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Կանչ"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Ավլց. կանչ"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Ընդունել"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d հոգու հետ"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Անհայտ"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s հետաձգվում է"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Սպասման մեջ է"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Հաղորդագրություններ չկան"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Միավորել"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Մուտքային կանչ"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Պահել ակտիվ զանգը"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Ավարտել ակտիվ կանչերը (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Համարը հավաքվում է %s-ով..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Միացված է %s-ով"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Միացված է"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Կանչն ավարտված է"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d` սպասող"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Հետաձգել %sի կանչը"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Կոնֆերանս"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Վերադառնալ կանչի էկրան"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Ինքնաբերաբար մերժված զանգ"
+
diff --git a/po/is.po b/po/is.po
new file mode 100644 (file)
index 0000000..da9e689
--- /dev/null
+++ b/po/is.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Bæta við tengiliði"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Hætta við"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Í lagi"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Nýr tengiliður"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Skilaboð"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Neyðarnúmer"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Aftur í símtal"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Sending mistókst."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Hafna símtali með skilaboðum"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Skipta"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Takkaborð"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Til að hægt sé að nota Bluetooth-tækið þitt verður kveikt á Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Ósvöruð símtöl"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ekki er hægt að kveikja á auknum hljóðstyrk þegar heyrnartól eða Bluetooth-höfuðtól eru tengd."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Ekki er hægt að kveikja á auknum hljóðstyrk þegar heyrnartól eru tengd."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ekki er hægt að kveikja á auknum hljóðstyrk þegar Bluetooth-höfuðtól eru tengd."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Verið er að hringja..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Ósvarað"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Flytja"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-þjónusta"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Halda símtali áfram"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Ljúka símafundi"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Ljúka símtali við %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Ljúka öllum símtölum"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Símafundur"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Pikkaðu tvisvar á lástáknið til að taka tækið úr lás"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Kveikja á Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Svara símtali"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Skoða samskiptaupplýsingar"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Uppfæra"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Hátalari"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Halda áfr."
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Hafna"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Hljóð af"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Umsjón"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Setja í bið"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Símaskrá"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Skrifa skilaboð til að senda"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Símtal"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Símtal"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Samþykkja"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Með %d aðilum"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Óþekkt"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Setja %s í bið"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Í bið"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Engin boð"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Sameina"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Móttekið símtal"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Virkt símtal í bið"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Ljúka símtali í gangi (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Hringt um %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Tengt gegnum %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Tengt"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Símtali lokið"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d í bið"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Setja %s í bið"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Símafundur"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Fara aftur á símtalsskjá"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Sjálfkrafa hafnað símtal"
+
diff --git a/po/it_IT.po b/po/it_IT.po
new file mode 100644 (file)
index 0000000..9d566be
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Aggiungi a Rubrica"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Annulla"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Aggiungi"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Messaggio"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Numero di emergenza"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Torna alla chiamata"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Invio non riuscito."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rifiuta chiamata con messaggio"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Scambia"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastiera"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Il Bluetooth verrà attivato per iniziare a usare il dispositivo Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Chiamate perse"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Non è possibile attivare il volume aggiuntivo quando gli auricolari o l'auricolare Bluetooth sono connessi."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Non è possibile attivare il volume aggiuntivo quando gli auricolari sono connessi."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Non è possibile attivare il volume aggiuntivo quando l'auricolare Bluetooth è connesso."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Composizione..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Chiamata persa"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Trasferisci"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Servizi SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Riprendi chiamata"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Termina conferenza"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Termina chiamata con %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Termina tutte le chiamate correnti"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conferenza"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Toccate due volte l'icona Blocca per sbloccare il dispositivo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Attiva Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Rispondi"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Vedi dettagli contatto"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Aggiorna"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Vivavoce"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Riprendi"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rifiuta"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Muto"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gestisci"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "In attesa"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Rubrica"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Crea messaggio da inviare"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Chiama"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Chiama"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Accetta"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Con %d persone"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Sconosciuto"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Metti %s in attesa"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "In attesa"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nessun messaggio"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Unisci"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chiamata in arrivo"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Ch. attiva in attesa"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Termina chiamate attive (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Composizione con %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Connesso con %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Connesso"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Chiamata terminata"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d in att."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Metti %s in attesa"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferenza"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Ritorna a scherm. chiamata"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Chiamata rifiutata autom."
+
diff --git a/po/ja_JP.po b/po/ja_JP.po
new file mode 100644 (file)
index 0000000..31b2dc5
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "連絡先に追加"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "キャンセル"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "連絡先を登録"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "メッセージ"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "緊急通報番号"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "通話に戻る"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "送信に失敗しました。"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "着信拒否時にメッセージを送信"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "切替"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "キーパッド"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetoothデバイスを使用するために、[Bluetooth]をONにします。"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "不在着信"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "イヤホンやBluetoothヘッドセットを接続しているときは、[最大音量]をONにできません。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "イヤホンを接続しているときは、[最大音量]をONにできません。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Bluetoothヘッドセットを接続しているときは、[最大音量]をONにできません。"
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "発信中..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "不在着信"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "転送"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIMサービス"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "通話を再開"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "電話会議を終了"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%sとの通話を終了"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "全ての通話を終了"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "グループ通話"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "端末のロックを解除するには、ロックアイコンをダブルタップしてください"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "BluetoothをON"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "着信に応答"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "連絡先の詳細を表示"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "連絡先を更新"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "スピーカー"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "再開"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "拒否"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "消音"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "管理"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "保留"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "連絡先"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "送信するメッセージを作成"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "発信"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "通話を追加"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "応答"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d人と通話中"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "通知不可能"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%sとの通話を保留"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "保留中"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "メッセージが​ありません"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "グループ通話"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "音声着信"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "現在の通話を保留"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "アクティブ通話を終了する(%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%sで発信中..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%sで接続"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "接続中"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "通話終了"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d件保留中"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%sとの通話を保留"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "会議"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "通話画面に戻る"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "自動着信拒否"
+
diff --git a/po/ka.po b/po/ka.po
new file mode 100644 (file)
index 0000000..ca3f275
--- /dev/null
+++ b/po/ka.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "კონტაქტებში დამატება"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "გაუქმება"
+
+msgid "IDS_COM_SK_OK"
+msgstr "კი"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "კონტაქტის შექმნა"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "შეტყობინება"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "გადაუდებელი ზარის ნომრები"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "ზარზე დაბრუნება"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "ვერ გაიგზავნა."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "ზარის უარყოფა შეტყობინებით"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "გადართვა"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "კლავიატ."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth აპარატის გამოყენებაზე გადართვისას Bluetooth ჩაირთვება."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "გამორჩენილი ზარები"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "ხმის დამატებითი სიმაღლე ვერ ჩაირთვება, სანამ მიერთებულია Bluetooth გარნიტურა ან ყურსასმენი."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "ხმის დამატებითი სიმაღლე ვერ ჩაირთვება, სანამ მიერთებულია ყურსასმენი."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "ხმის დამატებითი სიმაღლე ვერ ჩაირთვება, სანამ მიერთებულია Bluetooth გარნიტურა."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "იკრიფება..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "გამოტოვებული ზარი"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "გადაცემა"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM მომსახურება"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "ზარის გაგრძელება"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "საკონფერენციო ზარის დასრულება"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "ზარის დასრულება %s-თან"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "ყველა მიმდინარე ზარის დასრულება"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "კონფერენც-ზარი"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "მოწყობილობის განსაბლოკად ორჯერ შეეხეთ დაბლოკვის ნიშანს"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetooth-ის ჩართვა"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "პასუხი ზარზე"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "იხ. საკონტაქტო მონაცემები"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "განახლდეს არსებ."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "დინამ."
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "გაგრძელება"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "უარყოფა"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "უხმო"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "მართვა"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "დაკავება"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "კონტაქტები"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "შეადგინეთ გასაგზავნი წერილი"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "დარეკვა"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "ზარის დამ."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "მიღება"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d ადამიანით"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "უცნობი"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s-ის დაკავება"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "დაკავებული"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "წერილები არ არის"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "გაერთიანება"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "შემოსული ზარი"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "აქტიური ზრ. დაკავება"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "აქტიური ზარების დასრულება (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "ირეკება %s-ით..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "კავშირი %s-ით"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "დაკავშირებული"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "ზარი დასრულდა"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d იცდის"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "გადადეთ %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "კონფერენცია"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "ზარის ეკრანზე დაბრუნება"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "ავტოუარყოფილი ზარი"
+
diff --git a/po/kk.po b/po/kk.po
new file mode 100644 (file)
index 0000000..4aa7186
--- /dev/null
+++ b/po/kk.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Кітапшаға қосыңыз"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Тоқтату"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Байланыс кітапшасын құру"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Хабарлама"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Төтенше қызмет нөмірі"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Қайта қоңырау шалу"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Жіберілген  үзіліп кеті."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Қоңыраудан хабар арқылы бас тарту"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Ауыстыру"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Пернетақ."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth құрылғысын пайдалануды қосу үшін Bluetooth іске қосылады."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Қабылданбаған"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Құлаққап немесе Bluetooth гарнитурасы қосылғанда қосымша дыбыс іске қосылмайды."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Құлаққап қосылғанда қосымша дыбыс іске қосылмайды."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Bluetooth гарнитурасы қосылғанда қосымша дыбыс іске қосылмайды."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Терілуде..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Қабылданбаған қоңырау"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Трансфер"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM- қызметі"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Қоңырауды қалпына келтіру"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Конф.қоң-ң соңы"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Қоңырауды %s арқылы аяқтау"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Барлық ағымдық қоңырауларды аяқтау"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Конференциалық қоңырау"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Құрылғы құлпын алу үшін, құлып белгішесін екі рет түртіңіз"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetooth қосу"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Жауа қоңырауы"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Контакт мәлімет-н көрсету"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Барын жаңарту"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Динамик"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Жалғастыру"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Қабылдамау"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Дыбыссыз"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Басқару"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Ұстау"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Контактілер"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Жіберу үшін хабар жазу"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Қоңырау"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Қоңы. қосу"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Қабылдау"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d адаммен"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Белгісіз"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s ұстауға қою"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Ұсталуда"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Хабарлама жоқ"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Біріктіру"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Қабылданған қоңырау"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Белс. қоңыр-ды ұстау"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Белсенді қоңырауларды аяқтау (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s арқылы теруде..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s арқылы қосылған"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Қосылды"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Коңырау аяқталды"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d ұстал."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s ұстап тұрыңыз"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Конференция"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Қоңырау экранына оралу"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Авто қабылданбаған қңру"
+
diff --git a/po/ko_KR.po b/po/ko_KR.po
new file mode 100644 (file)
index 0000000..19e0f3c
--- /dev/null
@@ -0,0 +1,179 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "연락처에 추가"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "취소"
+
+msgid "IDS_COM_SK_OK"
+msgstr "확인"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "새 연락처 추가"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "메시지"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "긴급 전화번호"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "통화로 돌아가기"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "보내지 못하였습니다."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "메시지로 전화 거절"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "전환"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "키패드"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "블루투스 디바이스를 사용하려면 블루투스를 실행하세요."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "부재중 전화"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "이어폰 또는 블루투스 헤드셋이 연결된 경우 [추가 음량 높이기]를 실행할 수 없습니다."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "이어폰이 연결된 경우 [추가 음량 높이기]를 실행할 수 없습니다."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "블루투스 헤드셋이 연결된 경우 [추가 음량 높이기]를 실행할 수 없습니다."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "전화 연결 중..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "부재중 전화"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "상대방 전화 연결"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM 서비스"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "다시 통화"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "컨퍼런스 콜 종료"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%s 님의 통화 종료"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "모든 통화 종료"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "컨퍼런스 콜"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "디바이스 잠금을 해제하려면 잠금 아이콘을 두 번 누르세요"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "블루투스 실행"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "전화받기"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "연락처 상세정보 보기"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "기존 연락처에 추가"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "한뼘통화"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "계속"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "거절"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "내 소리 차단"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "관리"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "대기"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "연락처"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "보낼 메시지 작성"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "통화"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "블루투스"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "통화 추가"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "통화"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d명과 함께 통화 중"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "번호정보 없음"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s 님의 통화 대기"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "대기 중"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "메시지가 없습니다"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "통합"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "수신전화"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "현재 통화 보류"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "현재 통화(%d) 종료"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s로 전화 연결 중..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s로 연결"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "연결됨"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "통화 종료"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d명 대기"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s 님의 통화 대기"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "컨퍼런스 콜"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "통화 화면으로 돌아가기"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "자동 거절된 전화"
diff --git a/po/lt.po b/po/lt.po
new file mode 100644 (file)
index 0000000..e5b1335
--- /dev/null
+++ b/po/lt.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Įtraukti į adresatus"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Atšaukti"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Gerai"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Kurti adresatą"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Žinutė"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Pagalbos numeris"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Grįžti į pokalbį"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Išsiųsti nepavyko."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Atmesti skambutį žinute"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Sukeisti"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Klaviat."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Jei norite pradėti naudotis „Bluetooth“ įrenginiu, įjunkite „Bluetooth“."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Pral.skamb."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Papildomo garsumo funkcijos negalima įjungti, kai prijungtos ausinės arba „Bluetooth“ ausinės."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Papildomo garsumo funkcijos negalima įjungti, kai prijungtos ausinės."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Papildomo garsumo funkcijos negalima įjungti, kai prijungtos „Bluetooth“ ausinės."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Jungiamasi..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Neatsakytas skambutis"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Perkelti"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM paslaugos"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Atnaujinti skambutį"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Baigti konferencinį skambutį"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Baigti pokalbį su %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Baigti visus dabartinius skambučius"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konf. skambutis"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dukart bakstelėkite užrakinimo piktogramą ir atrakinkite įrenginį"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Įjungti „Bluetooth“"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Atsiliepti į skambutį"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Peržiūrėti adresato infor."
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Naujinti esamus"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Garsiak."
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Atnaujinti"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Atmesti"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Nutildyti"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Tvarkyti"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Atidėti"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Adresatai"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Kurti siunčiamą žinutę"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Skamb."
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Įtr. skam."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Priimti"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Su %d žmon."
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Nežinomas"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "sulaikius pokalbį su %s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Atidėtas"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Žinučių nėra"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Sujungti"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Įeinantis skambutis"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Sulaik. aktyvų skam."
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Baigti aktyvius skambučius (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Skambinama naudojant %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Prisijungta naudojant %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Prisijungta"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Pokalbis baigtas"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d sulaik."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Pokalbis su %s sulaikytas"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferencija"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Grįžti į skambinimo ekraną"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Automat. atmesti skambutį"
+
diff --git a/po/lv.po b/po/lv.po
new file mode 100644 (file)
index 0000000..f93fa79
--- /dev/null
+++ b/po/lv.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Pievienot kontaktiem"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Atcelt"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Labi"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Izveidot kontaktu"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Ziņa"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Ārkārtas numurs"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Atpakaļ uz zvanu"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Neizdevās nosūtīt."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Noraidīt zvanu ar ziņu"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Pārslēgt"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastatūra"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Lai pārslēgtos uz Bluetooth ierīces lietošanu, tiks ieslēgta funkcija Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Neatb.zvani"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Papildu skaļumu nevar ieslēgt, kamēr ir pievienotas austiņas vai Bluetooth brīvroku ierīce."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Papildu skaļumu nevar ieslēgt, kamēr ir pievienotas austiņas."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Papildu skaļumu nevar ieslēgt, kamēr ir pievienota Bluetooth brīvroku ierīce."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Savienojas..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Neatbildēts zvans"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Pārsūtīt"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM pakalpojumi"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Atsākt sarunu"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Beigt konferences zvanu"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Beigt sarunu ar %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Beigt visas pašreizējās sarunas"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferences zvans"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Veiciet dubultskārienu uz bloķēšanas ikonas, lai atbloķētu ierīci"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Ieslēgt Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Atbildēšana uz zvanu"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Skatīt kontakta datus"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Atjaun. esošo"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Skaļrunis"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Atsākt"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Atteikt"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Izsl. sk."
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Pārvaldīt"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Aizturēt"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Izveidojiet ziņu, lai sūtītu"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Zvans"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Piev. zv."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Pieņemt"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Ar %d personām"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Nezināms"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Aiztur sarunu ar %s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Aizt.sar."
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nav ziņu"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Apvienot"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Ienākošais zvans"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Aiztur. aktīvu zvanu"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Beigt aktīvās sarunas (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Zvana, izmantojot %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Savienots, izmantojot %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Savienots"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Saruna ir pabeigta"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d aiztur."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Aizturēt sarunu ar %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konference"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Atgriezties zvana ekrānā"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom. noraidīts zvans"
+
diff --git a/po/mk.po b/po/mk.po
new file mode 100644 (file)
index 0000000..1e7ef7a
--- /dev/null
+++ b/po/mk.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Додај во Контакти"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Откажи"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Нов запис"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Порака"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "SOS број"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Назад на повикот"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Неуспешно праќање."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Одбивање повик со порака"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Префрли"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Тастатура"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "За да се префрли на користење на Вашиот уред Bluetooth, ќе се вклучи Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "пропуштени повици"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Дополнителната гласност не може да се вклучи додека се поврзани слушалки или слушалка Bluetooth."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Дополнителната гласност не може да се вклучи кога се поврзани слушалки."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Дополнителната гласност не може да се вклучи кога е поврзана слушалка Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Бирање..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Пропуштен повик"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Пренеси"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM услуги"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Продолжи повик"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Заврши конференција"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Заврши повик со %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Заврши ги сите моментални повици"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Конференција"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Допрете ја двапати иконата за заклучување за да го отклучите уредот"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Вклучи Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Одговори на повик"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Види детали за контакт"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Ажур. постојни"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Звучник"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Продолжи"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Отфрли"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Иск.мик"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Уреди"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "На чекање"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Именик"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Состави порака за праќање"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Повик"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Дод. повик"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Прифати"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Со %d луѓе"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Непознато"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s се задржува"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "На чекање"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Нема пораки"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Преклопи"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Дојдовен повик"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Задржи акт. повик"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Прекини активни повици (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Се бира преку %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Поврзано преку %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Поврзано"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Повикот заврши"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d на чек."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Ставете го %s на чекање"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Конференција"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Врати се на екран на повик"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Автом. одбиен повик"
+
diff --git a/po/nb.po b/po/nb.po
new file mode 100644 (file)
index 0000000..661bb7f
--- /dev/null
+++ b/po/nb.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Legg til i Kontakter"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Opprett kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Melding"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Nødnummer"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Tilbake til anrop"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Mislykket..."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Avvis anrop med melding"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Bytt"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastatur"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth blir slått på for å bytte til å bruke Bluetooth-enheten."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Tapte anrop"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ekstra volum kan ikke være slått på mens øretelefoner eller Bluetooth-hodesett er koblet til."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Ekstra volum kan ikke være slått på mens øretelefoner er koblet til."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Ekstra volum kan ikke være slått på mens Bluetooth-hodesett er koblet til."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Ringer opp..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Ubesvart anrop"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Overfør"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-tjenester"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Gjenoppta samtale"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Avslutt konferansesamtale"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Avslutt samtale med %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Avslutt alle gjeldende samtaler"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Telefonmøte"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Trykk raskt to ganger på låseikonet for å låse opp enheten"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Slå på Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Besvar anrop"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Vis kontaktdetaljer"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Oppdater kontakt"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Høyttaler"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Fortsett"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Avvis"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Lyd av"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Admin."
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Parker"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Skriv meldingen du vil sende"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Ring"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Nytt anrop"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Godta"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Med %d personer"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Ukjent"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Setter %s på vent"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "På vent"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Ingen meldinger"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Slå sammen"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Innkommende anrop"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Akt. samt. på vent"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Avslutte aktive samtaler (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Ringer via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Koblet til via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Tilkoblet"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Samtale avsluttet"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d på vent"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Sett %s på vent"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferanse"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Gå tilbake til samt.skj.b."
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autoavvist anrop"
+
diff --git a/po/nl.po b/po/nl.po
new file mode 100644 (file)
index 0000000..10b0b2b
--- /dev/null
+++ b/po/nl.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Toevoegen aan contacten"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Annuleren"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Contact toevoegen"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Bericht"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Alarmnummer"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Terug naar oproep"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Verzenden mislukt."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Oproep met bericht weigeren"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Wisselen"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Toetsenbord"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Als u wilt overschakelen naar uw Bluetooth-apparaat, wordt Bluetooth ingeschakeld."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Gemiste oproepen"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume kan niet worden ingeschakeld wanneer oortelefoons of Bluetooth-headset zijn aangesloten."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Extra volume kan niet worden ingeschakeld wanneer oortelefoons zijn aangesloten."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra volume kan niet worden ingeschakeld wanneer Bluetooth-headset is aangesloten."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Kiezen..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Gemiste oproep"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Doorverbinden"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-diensten"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Oproep hervatten"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Einde vergaderoproep"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Oproep beëindigen met %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Alle huidige oproepen beëindigen"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Vergaderoproep"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Tik twee keer op het pictogram Vergrendelen om uw apparaat te ontgrendelen"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetooth inschakelen"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Oproep aannemen"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Contactdetails weergeven"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Best. bijwerken"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Luidspreker"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Hervatten"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Weigeren"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Stil"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Beheren"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "In wacht"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacten"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Bericht schrijven en verzenden"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Bellen"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Nieuwe opr."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Aannemen"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Met %d personen"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Onbekend"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s in de wacht zetten"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "In wacht"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Geen berichten"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Samenvoegen"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Inkomende oproep"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Huidige opr in wacht"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Actieve oproepen (%d) beëindigen"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Kiezen via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Verbonden via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Verbonden"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Oproep beëindigd"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d in wacht"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s in de wacht zetten"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Vergaderen"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Terug naar oproepscherm"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom geweigerde oproep"
+
diff --git a/po/pl.po b/po/pl.po
new file mode 100644 (file)
index 0000000..230d29a
--- /dev/null
+++ b/po/pl.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Dodaj do kontaktów"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Anuluj"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Utwórz kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Wiadomość"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Numer alarmowy"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Powrót do połączenia"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Błąd wysyłania"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Odrzuć połącz. i wyślij wiadomość"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Zamień"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Klawiat."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Aby przełączyć na korzystanie z urządzenia Bluetooth, łącze Bluetooth zostanie włączone."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Nieodebrane"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Nie można włączyć dodatkowej głośności, gdy są podłączone słuchawki lub zestaw słuchawkowy Bluetooth."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Nie można włączyć dodatkowej głośności, gdy są podłączone słuchawki."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Nie można włączyć dodatkowej głośności, gdy jest podłączony zestaw słuchawkowy Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Wybieranie numeru..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Połączenie nieodebrane"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transfer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Usługi SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Wznów połączenie"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Zakończ połączenie konferencyjne"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Zakończ połączenie z %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Zakończ wszystkie bieżące połączenia"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferencja"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dotknij dwukrotnie ikony blokowania, aby odblokować urządzenie"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Włączanie funkcji Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Odebranie połączenia"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Wyświetl szczeg. kontaktu"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Akt. istniejący"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Głośnik"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Wznów"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Odrzuć"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Wycisz"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Zarządzaj"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Zawieś"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Utwórz wiadomość do wysłania"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Połącz"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Dod. poł."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Akceptuj"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Z %d osobami"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Numer Prywatny"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Zawieszanie połączenia z %s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Zawiesz."
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Brak wiadomości"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Dodaj"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Połączenie"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Zawieś aktywne poł."
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Zakończ aktywne połączenia (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Wybieranie przez %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Połączono przez %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Połączono"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Rozłączono"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "Zaw.: %d"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Zawieś połączenie z %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferencja"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Wróć do ekranu połączenia"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Poł. odrzucone autom."
+
diff --git a/po/pt_BR.po b/po/pt_BR.po
new file mode 100644 (file)
index 0000000..2ba9f26
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Adicionar aos Contatos"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Novo contato"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mensagem"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Número de emergência"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Voltar à chamada"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Falha de envio."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Recusar chamada com mensagem"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Alternar"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Para alternar para usar seu dispositivo Bluetooth, o Bluetooth será ativado."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Chamadas perdidas"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "O Volume adicional não pode ser ativado durante a conexão dos fones de ouvido ou fone de ouvido Bluetooth."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "O Volume adicional não pode ser ativado durante a conexão do fone de ouvido."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "O Volume adicional não pode ser ativado durante a conexão do fone de ouvido Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Discando..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Chamada Perdida"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferir"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Serviços SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Recuperar chamada"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Encerrar chamada em conferência"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Encerrar a chamada com %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Encerrar todas as chamadas atuais"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conferência"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Toque duas vezes no ícone de bloqueio para desbloquear seu dispositivo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Ativar Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Atender chamada"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Exibir detalhes do contato"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Atualiz. exist."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Viva-voz"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Continuar"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rejeitar"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Silenciar"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gerenciar"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Espera"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contatos"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Escrever mensagem para enviar"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Chamar"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Ad. Cham."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Aceitar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Com %d pessoas"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Colocar %s em espera"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Em espera"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nenhuma mensagem"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Conferên."
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chamada recebida"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Ch. ativa em espera"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Encerrar chamadas ativas (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Chamando pelo %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Conectado por %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Conectado"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Chamada encerrada"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d espera"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Colocar %s em espera"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferência"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Retornar à tela de chamada"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Chamada recusada autom."
+
diff --git a/po/pt_PT.po b/po/pt_PT.po
new file mode 100644 (file)
index 0000000..6a59dfe
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Adicionar aos contactos"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Cancelar"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Criar contacto"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mensagem"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Número de emergência"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Regressar à chamada"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Falha no envio."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Rejeitar chamadas com mensagem"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Alternar"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Teclado"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Para mudar para a utilização do seu dispositivo Bluetooth, o Bluetooth vai ser ligado."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Ch. perdidas"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Volume extra não pode ser ligado com os auriculares ou o auricular Bluetooth ligados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Volume extra não pode ser ligado com os auriculares ligados."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Volume extra não pode ser ligado com o auricular Bluetooth ligado."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "A marcar..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Chamada não atendida"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transferência"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Serviços SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Retomar a chamada"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Terminar chamada de conferência"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Terminar chamada com %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Terminar todas chamadas actuais"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Chamada de conferência"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Tocar duas vezes no ícone de bloqueio para desbloquear o seu dispositivo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Ligar Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Atender chamada"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Ver detalhes do contacto"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Actualizar"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Altifalante"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Retomar"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rejeitar"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Silenciar"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gerir"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Reter"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contactos"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Compor mensagem para enviar"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Chamada"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Adicionar"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Aceitar"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Com %d pessoas"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Desconhecido"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Colocar %s em espera"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Em espera"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nenhuma mensagem"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Unir"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Chamada recebida"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Col. ch. act. em es."
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Terminar chamadas activas (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "A marcar via %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Ligado via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Ligado"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Chamada terminada"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d espera"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Pôr %s em espera"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferência"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Regressar a ecrã chamada"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Chamada rejeitada autom."
+
diff --git a/po/ro.po b/po/ro.po
new file mode 100644 (file)
index 0000000..fef712d
--- /dev/null
+++ b/po/ro.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Adăugare la Contacte"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Anulare"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Creare contact"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Număr de urgenţă"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Înapoi la apel"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Trimitere eşuată"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Respingere apel cu mesaj"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Schimb."
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastatură"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Pentru a trece la utilizarea dispozitivului Bluetooth, caracteristica Bluetooth va fi activată."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Apel. pierd."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Volumul suplimentar nu poate fi activat când sunt conectate căştile sau casca Bluetooth."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Volumul suplimentar nu poate fi activat când sunt conectate căştile."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Volumul suplimentar nu poate fi activat când este conectată casca Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Apelare nr...."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Apel pierdut"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Transfer"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Servicii SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Reluare apel"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Încheiere apel conferinţă"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Încheiaţi apelul cu %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Încheiaţi toate apelurile actuale"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Conferinţă prin telefon"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Atingeţi de două ori pictograma de deblocare pentru a debloca dispozitivul"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Activaţi Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Preluare apel"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Vizualiz. detalii contact"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Act. existentă"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Difuzor"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Reluare"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Resping."
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Mc. oprit"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Gestionare"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "În aşteptare"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Contacte"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Compunere mesaj de trimis"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Apel"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Ad. apel"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Acceptare"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Cu %d persoane"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Necunoscut"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Se trece %s în aşteptare"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "În aşt."
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nici un mesaj"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Îmbinare"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Apel de intrare"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Reţinere apel activ"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Terminare apeluri active (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Se apelează prin %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Conectat prin %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Conectat"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Apel terminat"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d în aşt."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Puneţi în aşteptare numărul %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Conferinţă"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Înapoi la ecranul de apel"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Apel respins automat"
+
diff --git a/po/ru_RU.po b/po/ru_RU.po
new file mode 100644 (file)
index 0000000..9ef8d45
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Добавить в Контакты"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Отмена"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Создать контакт"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Сообщение"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Экстренная служба"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Вернуться к вызову"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Сбой при отправке."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Отклонить вызов и отправить SMS"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Переключить"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Клавиатура"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Для переключения на использование устройства Bluetooth будет включена функция Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Пропущенные"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Невозможно использовать дополнительную громкость, если подключена гарнитура Bluetooth или наушники."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Невозможно использовать дополнительную громкость, если подключены наушники."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Невозможно использовать дополнительную громкость, если подключена гарнитура Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Вызов..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Пропущенный вызов"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Перевести"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Услуги SIM-карты"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Возобновить вызов"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Завершить конференц-вызов"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Завершить вызов с %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Завершить все текущие вызовы"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Конференция"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Чтобы разблокировать устройство, дважды нажмите значок блокировки"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Включить Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Ответить на вызов"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Просм. сведений о контакте"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Обновить контакт"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Динамик"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Возобнов."
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Отказ"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Звук"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Функции"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Удержать"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Контакты"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Создать сообщение для отправки"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Вызов"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Доб. вызов"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Принять"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Число участников: %d"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Неизвестно"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Помещение вызова %s на удержание"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Удержание"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Нет сообщений"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Объединить"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Входящий вызов"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Удержать акт. вызов"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Завершить активные вызовы (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Вызов с %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Подключен через %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Подключено"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Вызов завершен"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "Удерж.: %d"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Поместить %s на удержание"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Конференция"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Возврат на экран вызова"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Автоотклоненный вызов"
+
diff --git a/po/sk.po b/po/sk.po
new file mode 100644 (file)
index 0000000..5d01d41
--- /dev/null
+++ b/po/sk.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Pridať do kontaktov"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Zrušiť"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Vytvoriť kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Správa"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Tiesňové číslo"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Späť na hovor"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Odosielanie sa nepodarilo."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Odmietnuť hovor s odoslaním správy"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Prepnúť"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Kláv."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Ak chcete prepnúť na používanie vášho zariadenia Bluetooth, zapne sa spojenie Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Zmešk. hov."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra hlasitosť nemožno zapnúť počas pripojenia slúchadla s mikrofónom Bluetooth alebo slúchadiel."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Extra hlasitosť nemožno zapnúť počas pripojenia slúchadiel."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Extra hlasitosť nemožno zapnúť počas pripojenia slúchadla s mikrofónom Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Vytáčanie..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Zmeškaný hovor"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Presmerovať"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Služby karty SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Pokračovať v hovore"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Ukončiť konferenčný hovor"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Ukončiť hovor s účastníkom %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Ukončiť všetky aktuálne hovory"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenčný hovor"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dvojitým ťuknutím na ikonu zámku môžete odomknúť zariadenie"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Zapnúť Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Prijať hovor"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Zobraziť kontaktné údaje"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Aktual. exist."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Reproduktor"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Pokračovať"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Odmietnuť"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Stlmiť"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Spravovať"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Podržať"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakty"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Napísať správu na odoslanie"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Hovor"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Pr. hovor"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Prijať"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "S %d ľuďmi"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Neznáme"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s sa podrží"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Podržaný"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Žiadne správy"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Zlúčiť"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Prichádzajúci hovor"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Podrž. aktívny hovor"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Ukončiť aktívne hovory (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Vytáča sa cez %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Pripojené cez %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Pripojené"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Hovor bol ukončený"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d podrž."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Podržať hovor s účastníkom %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferencia"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Návrat na obrazovku hovoru"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Autom. odmietnutý hovor"
+
diff --git a/po/sl.po b/po/sl.po
new file mode 100644 (file)
index 0000000..ebb228e
--- /dev/null
+++ b/po/sl.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Dodaj nov stik"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Prekliči"
+
+msgid "IDS_COM_SK_OK"
+msgstr "V redu"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Ustvari stik"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Sporočilo"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Številka za klic v sili"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Nazaj na klic"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Pošiljanje ni uspelo."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Zavrnite klic s sporočilom"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Menjaj"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tipkovn."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Zaradi preklopa na uporabo naprave Bluetooth se bo vklopil vmesnik Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Neodgovorjeni klici"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Funkcije Dodana glasnost ni mogoče vklopiti, če so priključene slušalke ali slušalka Bluetooth."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Funkcije Dodana glasnost ni mogoče vklopiti, če so priključene slušalke."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Funkcije Dodana glasnost ni mogoče vklopiti, če je priključena slušalka Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Kličem..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Neodgovorjen klic"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Prenesi"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Storitve SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Nadaljuj klic"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Končaj konferenčni klic"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Končaj klic z osebo %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Končaj vse trenutne klice"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenčni klic"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dvakrat pritisnite ikono za zaklepanje, da odklenete napravo"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Vklopite Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Sprejmite klic"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Prikaz podrobnosti stika"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Posod. obstoječe"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Zvočnik"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Nadaljuj"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Zavrni"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Nemo"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Uredi"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Zadrži"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Stiki"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Sest. sporočila za pošiljanje"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Klic"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Dodaj klic"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Sprejmi"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "S toliko ljudmi: %d"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Neznano"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Daj osebo %s na čakanje"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Zadržano"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Ni sporočil"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Združi"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Dohodni klic"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Zadrži aktivni klic"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Končaj aktivne klice (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Klic prek %s ..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Povezano prek %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Povezano"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Klic je končan"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d na čak."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Dajte osebo %s na čakanje"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferenca"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Vrnitev na zaslon klica"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Samodejno zavrnjen klic"
+
diff --git a/po/sr.po b/po/sr.po
new file mode 100644 (file)
index 0000000..6318cb3
--- /dev/null
+++ b/po/sr.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Dodaj u kontakte"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Otkaži"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Kreiraj kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Poruka"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Broj za hitne pozive"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Povratak na poziv"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Slanje neuspešno."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Odbaci poziv uz slanje poruke"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Zameni"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tastatura"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Za prelazak korišćenja Bluetooth uređaja, Bluetooth će biti uključen."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Propušteni pozivi"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Dodatna jačina zvuka ne može da se uključi dok su povezane slušalice ili Bluetooth slušalice."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Dodatna jačina zvuka ne može da se uključi dok su povezane slušalice."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Dodatna jačina zvuka ne može da se uključi dok su povezane Bluetooth slušalice."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Biranje..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Propušten poziv"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Prebaci"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Usluge SIM kartice"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Nastavi poziv"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Prekini konferencijski poziv"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Prekini poziv sa osobom %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Prekini sve trenutne pozive"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferencijski poziv"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dvaput kucni ikonu za zaključavanje da bi otključao/la uređaj"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Uključi Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Odgovori na poziv"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Prikaži detalje o kontaktu"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Ažur. postojeći"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Zvučnik"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Nastavi"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Odbaci"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Isklj.ton"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Upravljaj"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Čekanje"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakti"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Sastavi poruku za slanje"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Poziv"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Dodaj poz."
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Prihvati"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Sa %d osobe/a"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Nepoznato"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Stavljanje %s na čekanje"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Na ček."
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Nema poruka"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Preklopi"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Dolazni poziv"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Akt. poz. na čekanje"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Prekini aktivne pozive (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Biranje putem %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Povezan putem %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Povezano"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Poziv je završen"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "Čeka: %d"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Stavi osobu %s na čekanje"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferencija"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Vrati se na ekran poziva"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Automatski odbijeni poziv"
+
diff --git a/po/sv.po b/po/sv.po
new file mode 100644 (file)
index 0000000..d3894ca
--- /dev/null
+++ b/po/sv.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Lägg till i Kontakter"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Avbryt"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Skapa kontakt"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Meddelande"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Nummer för nödsituationer"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Tillbaka till samtal"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Sändningsfel."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Avvisa samtal med meddelande"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Växla"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Knappsats"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Om du växlar till att använda din Bluetooth-enhet, aktiveras Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Missade samtal"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Det går inte att slå på extra volym när hörlurar eller ett Bluetooth-headset har anslutits."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Det går inte att slå på extra volym när hörlurar är anslutna."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Det går inte att slå på extra volym när ett Bluetooth-headset är anslutet."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Ringer upp..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Missat samtal"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Överför"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-tjänster"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Återuppta samtalet"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Avsluta konferenssamtal"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Avsluta samtal med %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Avsluta alla aktuella samtal"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferenssamtal"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Dubbeltryck på låsikonen om du vill låsa upp enheten"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Slå på Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Svara på samtal"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Visa kontaktinformation"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Uppdat. befintl."
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Högtalare"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Fortsätt"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Avvisa"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Ljud av"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Hantera"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Parkera"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontakter"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Skriv medd. som ska skickas"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Samtal"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "L t samtal"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Svara"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Med %d personer"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Okänd"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Parkerar %s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Parkerat"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Inga meddelanden"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Sammanfoga"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Inkommande samtal"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Parkera akt. samtal"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Avsluta aktiva samtal (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Ringer via %s ..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Ansluten via %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Ansluten"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Samtalet avslutades"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d park."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Parkera %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferens"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Återgå till samtalsskärm"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Automatavvisat samtal"
+
diff --git a/po/tr_TR.po b/po/tr_TR.po
new file mode 100644 (file)
index 0000000..ee074dc
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Rehbere ekle"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "İptal"
+
+msgid "IDS_COM_SK_OK"
+msgstr "Tamam"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Yeni kişi ekle"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Mesaj"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Acil durum numarası"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Çağrıya dön"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Gönderme başarısız."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Aramayı mesajla reddet"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Değiştir"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Tuşlar"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth cihazınızı kullanmaya geçmek için Bluetooth açılır."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Cevapsız arama"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Kulaklık veya Bluetooth kulaklık bağlıyken ekstra ses açılamaz."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Kulaklık bağlıyken ekstra ses açılamaz."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Bluetooth kulaklık bağlıyken ekstra ses açılamaz."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Aranıyor..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Cevapsız arama"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "İletim"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Servisler"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Aramayı sürdür"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Konferans aramasını sonlandır"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%s ile aramayı sonlandır"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Tüm geçerli aramaları sonlandır"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferans görüşmesi"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Cihazınızın kilidini açmak için kilit simgesine çift dokunun"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetooth'u aç"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Aramayı yanıtla"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kişi ayrıntlarnı görüntüle"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Kişiyi güncelle"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Hoparlör"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Sürdür"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Reddet"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Sessiz"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Yönet"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Beklet"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kişiler"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Göndermek için mesaj yaz"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Arama"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Çağrı ekle"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Kabul et"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%d kişiyle"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Gizli numara"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%s bekletiliyor"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Beklemede"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Mesaj yok"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Birleştir"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Gelen arama"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Aktif görüşme beklet"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Aktif çağrıları sonlandır (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s ile aranıyor..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s ile bağlandı"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Bağlandı"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Arama sonlandırıldı"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d beklmde"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%s kişisini beklemeye al"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferans"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Arama ekranına dön"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Oto reddedilmiş arama"
+
diff --git a/po/uk.po b/po/uk.po
new file mode 100644 (file)
index 0000000..a9096ff
--- /dev/null
+++ b/po/uk.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Додати в контакти"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Скасувати"
+
+msgid "IDS_COM_SK_OK"
+msgstr "ОК"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Створити контакт"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Повідом."
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Екстрений виклик"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Повернутися до виклику"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Збій надсилання."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Відхилити виклик із повідомленням"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Замінити"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Клавіат."
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Для переключення на пристрій Bluetooth буде ввімкнено функцію Bluetooth."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Проп. вик-и"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Додаткову гучність неможливо ввімкнути під час підключення гарнітури Bluetooth або навушників."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Додаткову гучність неможливо ввімкнути під час підключення навушників."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Додаткову гучність неможливо ввімкнути під час підключення гарнітури Bluetooth."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Набір..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Пропущений виклик"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Перевести"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "Послуги SIM"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Поновити виклик"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Завершити конференц-виклик"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "Завершення виклику із абонентом %s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Завершення усіх поточних викликів"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Конференц-зв'язок"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Двічі торкніться значка блокування, щоб розблокувати пристрій"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Увімкніть Bluetooth"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Відповідь на виклик"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Переглянути контактні дані"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Оновити існуючий"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Динамік"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Поновити"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Відхилити"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Вимк.звук"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Керування"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Утримання"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Контакти"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Створ. повідом. для надсилання"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Виклик"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Дод.виклик"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Прийняти"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "Із %d абонентами"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Невідомо"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "Переведення абонента %s на утримання"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Утрим."
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Немає повідомлень"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Об'єднати"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Вхідний виклик"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Утрим.активн.виклик"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Завершити активні виклики (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "Набір номера через %s..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "Підключено через %s"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Підключено"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Виклик завершено"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d на утр."
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "Перев.абонента %s на утримання"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Конференція"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Повернутися на екр.виклику"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Автовідхилений виклик"
+
diff --git a/po/uz.po b/po/uz.po
new file mode 100644 (file)
index 0000000..c26d975
--- /dev/null
+++ b/po/uz.po
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "Kontaktlarga qo‘shish"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "Bekor qilish"
+
+msgid "IDS_COM_SK_OK"
+msgstr "OK"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "Kontakt yaratish"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "Xabar"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "Favqulodda raqam"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "Qo‘ng‘iroqqa qaytish"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "Yuborib bo‘lmadi."
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "Qo‘ng‘iroqni xabar bilan rad etish"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "Almashish"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "Klaviatura"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "Bluetooth qurilmangizdan foydalanishga o‘tish uchun Bluetooth yoqiladi."
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "Jav-siz qo‘."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Oddiy quloqlik yoki Bluetooth quloqligi ulanganda ortiqcha ovozni yoqib bo‘lmaydi."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "Quloqlik ulanganda ortiqcha ovozni yoqib bo‘lmaydi."
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "Bluetooth quloqligi ulanganda ortiqcha ovozni yoqib bo‘lmaydi."
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "Terilmoqda..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "Qabul qilinmagan qo‘ng‘iroq"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "Uzatish"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM-karta xizmatlari"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "Qo‘ng‘iroqni davom ettirish"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "Konferens qo‘ng‘iroqni tugatish"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "%s bilan qo‘ng‘iroqni tugatish"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "Barcha joriy qo‘ng‘iroqlarni tugatish"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "Konferensiya qo'ng'irog'i"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "Qurilmangizni blokdan chiqarish uchun bloklash ikonachasiga ikki marta teging"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "Bluetoothni yoqish"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "Qo‘ng‘iroqqa javob berish"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "Kontakt ma’l-ni ko‘rsat"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "Mavjudni yangila"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "Dinamik"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "Davom et"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "Rad etish"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "Ovozsiz"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "Boshqarish"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "Kutish"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "Kontaktlar"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "Yuborish uhcun xabar yaratish"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "Qo‘ng‘ir."
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "Bluetooth"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "Qo‘n.qo‘sh"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "Qabul qil"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "%dta odam bilan"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "Noma’lum"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "%sni kutish rejimiga qo‘yish"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "Kutish"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "Xabarlar yo‘q"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "Birlashtirish"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "Kiruvchi qo‘ng‘iroq"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "Faol qo‘n-ni ush/tur"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "Faol qo‘ng‘iroqlarni yakunlash (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "%s orqali raqam terilmoqda..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "%s orqali ulangan"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "Ulangan"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "Qo‘ng‘. yakunlandi"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d kutish"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "%sni kutish rejimiga qo‘yish"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "Konferensiya"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "Qo‘ng‘iroq ekraniga qayt"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "Qo‘n-ni avtomatik rad et"
+
diff --git a/po/zh_CN.po b/po/zh_CN.po
new file mode 100644 (file)
index 0000000..da26912
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "添加到联系人"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "取消"
+
+msgid "IDS_COM_SK_OK"
+msgstr "确定"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "新建联系人"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "信息"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "紧急号码"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "返回通话"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "发送失败"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "用信息拒绝通话"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "切换"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "键盘"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "若要切换至使用您的蓝牙设备,蓝牙将开启。"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "未接来电"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "连接耳机或蓝牙耳机时无法开启更大音量。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "连接耳机时无法开启更大音量。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "连接蓝牙耳机时无法开启更大音量。"
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "拨号中..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "未接来电"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "转换"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM卡服务"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "恢复通话"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "结束电话会议"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "结束%s"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "结束当前通话"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "电话会议"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "双击锁定图标以解锁您的设备"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "开启蓝牙"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "接听电话"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "查看联系人详情"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "更新现有联系人"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "扬声器"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "继续"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "拒绝"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "静音"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "管理"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "保持"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "联系人"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "编写信息以发送"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "通话"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "蓝牙"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "添加通话"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "接听"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "与 %d 人"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "保持%s"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "保持中"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "无信息"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "合并"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "来电"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "保持通话"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "结束当前通话 (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "正在通过 %s 拨号..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "已通过 %s 连接"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "已连接"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "通话已结束"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d 个保持中"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "保持 %s"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "多方通话"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "返回至通话屏幕"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "自动拒绝通话"
+
diff --git a/po/zh_HK.po b/po/zh_HK.po
new file mode 100644 (file)
index 0000000..8d674ec
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "加到聯絡人"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "取消"
+
+msgid "IDS_COM_SK_OK"
+msgstr "確定"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "建立聯絡人"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "訊息"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "緊急號碼"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "返回通話"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "發送失敗。"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "發訊息以拒絕來電"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "切換"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "鍵盤"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "若要切換至使用您的藍牙裝置,藍牙將被開啟。"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "未接電話"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "在耳機或藍牙耳機連接時無法開啟額外音量。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "在耳機連接時無法開啟額外音量。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "在藍牙耳機連接時無法開啟額外音量。"
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "正在撥號..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "未接電話"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "轉送"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM 卡服務"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "繼續通話"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "結束電話會議"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "結束與 %s 的通話"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "結束目前通話"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "電話會議"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "輕觸兩下鎖定圖示以解鎖您的裝置"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "開啟藍牙"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "接聽電話"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "檢視聯絡人詳細資料"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "更新現有的"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "揚聲器"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "繼續"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "拒絕"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "靜音"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "管理"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "保留"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "撰寫訊息以發送"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "通話"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "藍牙"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "加入通話"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "接受"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "與 %d 人"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "保留與 %s 的通話"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "保留中"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "無訊息"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "合併"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "來電"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "保留當前通話"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "結束啟動中的通話(%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "正在透過 %s 撥打..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "已透過 %s 連接"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "已連接"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "通話已結束"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d 位已保留"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "保留與 %s 的通話"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "會議"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "返回至通話螢幕"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "自動拒絕來電"
+
diff --git a/po/zh_TW.po b/po/zh_TW.po
new file mode 100644 (file)
index 0000000..be702c9
--- /dev/null
@@ -0,0 +1,180 @@
+msgid "IDS_COM_OPT_ADD_TO_CONTACTS"
+msgstr "新增至聯絡人"
+
+msgid "IDS_COM_SK_CANCEL"
+msgstr "取消"
+
+msgid "IDS_COM_SK_OK"
+msgstr "確定"
+
+msgid "IDS_COM_OPT_CREATE_CONTACT"
+msgstr "建立聯絡人"
+
+msgid "IDS_COM_BODY_MESSAGE"
+msgstr "訊息"
+
+msgid "IDS_COM_BODY_EMERGENCY_NUMBER"
+msgstr "緊急電話號碼"
+
+msgid "IDS_COM_BODY_BACK_TO_CALL"
+msgstr "返回通話"
+
+msgid "IDS_MSGC_POP_SENDINGFAILED"
+msgstr "傳送失敗"
+
+msgid "IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"
+msgstr "以訊息拒接來電"
+
+msgid "IDS_CALL_SK_MULTICALL_SWAP"
+msgstr "切換"
+
+msgid "IDS_CALL_SK3_KEYPAD"
+msgstr "鍵盤"
+
+msgid "IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"
+msgstr "若要切換為使用您的藍牙裝置,將開啟藍牙。"
+
+msgid "IDS_CALL_POP_MISSED_CALLS_ABB"
+msgstr "未接電話"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "連接耳機或藍牙耳機時無法開啟最大音量。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED"
+msgstr "連接耳機時無法開啟最大音量。"
+
+msgid "IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED"
+msgstr "連接藍牙耳機時無法開啟最大音量。"
+
+msgid "IDS_CALL_POP_DIALLING"
+msgstr "正在撥號..."
+
+msgid "IDS_CALL_POP_CALLMISSED"
+msgstr "未接電話"
+
+msgid "IDS_CALL_OPT_TRANSFER"
+msgstr "轉移"
+
+msgid "IDS_CALL_OPT_SIM_SERVICES"
+msgstr "SIM 卡服務"
+
+msgid "IDS_CALL_OPT_RESUME_CALL"
+msgstr "繼續通話"
+
+msgid "IDS_CALL_OPT_END_CONFERENCE_CALL"
+msgstr "結束電話會議"
+
+msgid "IDS_CALL_OPT_END_CALL_WITH_PS"
+msgstr "結束與 %s 的通話"
+
+msgid "IDS_CALL_OPT_END_ALL_CURRENT_CALLS"
+msgstr "結束目前所有的通話"
+
+msgid "IDS_CALL_OPT_CONFERENCE_CALL"
+msgstr "電話會議"
+
+msgid "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE"
+msgstr "輕觸兩下鎖定圖示來解鎖您的裝置"
+
+msgid "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB"
+msgstr "開啟藍牙"
+
+msgid "IDS_CALL_HEADER_ANSWER_CALL_ABB"
+msgstr "接聽來電"
+
+msgid "IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"
+msgstr "檢視聯絡人詳細資訊"
+
+msgid "IDS_CALL_BUTTON_UPDATE_EXISTING"
+msgstr "更新現有的"
+
+msgid "IDS_CALL_BUTTON_SPEAKER"
+msgstr "喇叭"
+
+msgid "IDS_CALL_BUTTON_RESUME_ABB"
+msgstr "繼續"
+
+msgid "IDS_CALL_BUTTON_REJECT"
+msgstr "拒絕"
+
+msgid "IDS_CALL_BUTTON_MUTE_ABB"
+msgstr "靜音"
+
+msgid "IDS_CALL_BUTTON_MANAGE"
+msgstr "管理"
+
+msgid "IDS_CALL_BUTTON_HOLD"
+msgstr "保留"
+
+msgid "IDS_CALL_BUTTON_CONTACTS"
+msgstr "聯絡人"
+
+msgid "IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"
+msgstr "撰寫要傳送的訊息"
+
+msgid "IDS_CALL_BUTTON_CALL"
+msgstr "通話"
+
+msgid "IDS_CALL_BUTTON_BLUETOOTH_ABB"
+msgstr "藍牙"
+
+msgid "IDS_CALL_BUTTON_ADD_CALL"
+msgstr "新增通話"
+
+msgid "IDS_CALL_BUTTON_ACCEPT"
+msgstr "接受"
+
+msgid "IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"
+msgstr "和 %d 個人"
+
+msgid "IDS_CALL_BODY_UNKNOWN"
+msgstr "未知"
+
+msgid "IDS_CALL_BODY_PUTTING_PS_ON_HOLD"
+msgstr "保留與 %s 的通話"
+
+msgid "IDS_CALL_BODY_ON_HOLD_ABB"
+msgstr "保留"
+
+msgid "IDS_CALL_BODY_NO_MESSAGES"
+msgstr "無訊息"
+
+msgid "IDS_CALL_BODY_MERGE_T_CALL"
+msgstr "合併通話"
+
+msgid "IDS_CALL_BODY_INCOMING_CALL"
+msgstr "來電"
+
+msgid "IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"
+msgstr "保留當前通話"
+
+msgid "IDS_CALL_BODY_END_ACTIVE_CALLS_HPD"
+msgstr "結束當前通話 (%d)"
+
+msgid "IDS_CALL_BODY_DIALLING_VIA_PS_ING_ABB2"
+msgstr "正在經由 %s 撥號..."
+
+msgid "IDS_CALL_BODY_CONNECTED_VIA_PS_M_STATUS_ABB2"
+msgstr "已透過 %s 連接"
+
+msgid "IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"
+msgstr "已連線"
+
+msgid "IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"
+msgstr "通話已結束"
+
+msgid "IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"
+msgstr "%d 保留中"
+
+msgid "IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB"
+msgstr "保留 %s 的來電"
+
+msgid "IDS_CALL_BODY_CONFERENCE"
+msgstr "會議"
+
+msgid "IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"
+msgstr "返回通話螢幕"
+
+msgid "IDS_CALL_MBODY_AUTO_REJECTED_CALL"
+msgstr "自動拒接的來電"
+
diff --git a/res/call_edc/call.edc b/res/call_edc/call.edc
new file mode 100755 (executable)
index 0000000..de77158
--- /dev/null
@@ -0,0 +1,154 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../../include/callui-view-layout-wvga.h"
+#include "../../include/callui-view-layout-hd.h"
+#include "edc_image_macro.edc"
+
+#define        IMG_SRC_DIR "/res/images"
+#define IMG_ICN_DIR "/res/images/icon"
+
+images {
+       image: IMG_SRC_DIR/"vc_keypad_btn_normal.jpg" COMP;
+       image: IMG_SRC_DIR/"vc_keypad_btn_press.png" COMP;
+       image: IMG_SRC_DIR/"vc_keypad_btn_voice_mail_icon.png" COMP;
+       image: IMG_SRC_DIR/"vc_keypad_btn_mute_icon.png" COMP;
+       image: IMG_SRC_DIR/"call_during_record.png" COMP;
+       image: IMG_SRC_DIR/"call_pattern_bg.png" COMP;
+       image: IMG_SRC_DIR/"call_inline_button_open.png" COMP;
+       image: IMG_SRC_DIR/"call_inline_button_close.png" COMP;
+       image: IMG_SRC_DIR/"call_inline_button_close_1.png" COMP;
+       image: IMG_SRC_DIR/"call_photo_id_outer.png" COMP;
+       image: IMG_SRC_DIR/"call_photo_id.png" COMP;
+       image: IMG_SRC_DIR/"call_photo_id_mask.png" COMP;
+       image: IMG_SRC_DIR/"call_button_div_01.png" COMP;
+       image: IMG_SRC_DIR/"call_btn_circle.png" COMP;
+       image: IMG_SRC_DIR/"Call_button_bg_accept_reject.png" COMP;
+       image: IMG_SRC_DIR/"call_btn_ic_accept.png" COMP;
+       image: IMG_SRC_DIR/"Call_button_bg_reject.png" COMP;
+       image: IMG_SRC_DIR/"call_btn_ic_reject.png" COMP;
+       image: IMG_SRC_DIR/"call_button_circle.png" COMP;
+       image: IMG_SRC_DIR/"call_button_accept_circle_arrow.png" COMP;
+       image: IMG_SRC_DIR/"call_button_reject_circle_arrow.png" COMP;
+       image: IMG_SRC_DIR/"call_button_accept_arrow.png" COMP;
+       image: IMG_SRC_DIR/"call_button_reject_arrow.png" COMP;
+       image: IMG_SRC_DIR/"call_button_div_02.png" COMP;
+       image: IMG_SRC_DIR/"call_button_div_03.png" COMP;
+       image: IMG_SRC_DIR/"call_button_div_04.png" COMP;
+       image: IMG_SRC_DIR/"keypad_bg_div.png" COMP;
+       image: IMG_SRC_DIR/"keypad_input_del.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_00.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_01.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_02.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_03.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_04.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_05.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_06.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_07.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_08.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_09.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_asterisk.png" COMP;
+       image: IMG_SRC_DIR/"keypad_number_sharp.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_01.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_02.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_03.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_04.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_05.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_06.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_07.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_08.png" COMP;
+       image: IMG_SRC_DIR/"keypad_english_13.png" COMP;
+       image: IMG_SRC_DIR/"call_lock_icon.png" COMP;
+       image: IMG_SRC_DIR/"call_photo_id_emergency.png" COMP;
+       image: IMG_SRC_DIR/"call_photo_id_conference.png" COMP;
+       image: IMG_SRC_DIR/"call_extra_play.png" COMP;
+       image: IMG_SRC_DIR/"call_during_volume.png" COMP;
+       image: IMG_SRC_DIR/"call_extra_merge.png" COMP;
+       image: IMG_SRC_DIR/"call_extra_swap.png" COMP;
+       image: IMG_SRC_DIR/"call_resume_add.png" COMP;
+       image: IMG_SRC_DIR/"call_ic_controll_01.png" COMP;
+       image: IMG_SRC_DIR/"call_ic_controll_02.png" COMP;
+       image: IMG_SRC_DIR/"call_resume_group_icon.png" COMP;
+       image: IMG_SRC_DIR/"call_resume_play_bg.png" COMP;
+       image: IMG_SRC_DIR/"Call_controller.png" COMP;
+       image: IMG_SRC_DIR/"sound_volume_popup_bg.#.png" COMP;
+       image: IMG_SRC_DIR/"call_vivo.png" COMP;
+       image: IMG_SRC_DIR/"call_claro.png" COMP;
+       image: IMG_SRC_DIR/"call_oi.png" COMP;
+       image: IMG_SRC_DIR/"call_tim.png" COMP;
+       image: IMG_SRC_DIR/"call_open_bg.png" COMP;
+       image: IMG_SRC_DIR/"call_open_arrow_2.png" COMP;
+       image: IMG_SRC_DIR/"call_open_arrow_01.png" COMP;
+       image: IMG_SRC_DIR/"call_photo_id_bg.png" COMP;
+       image: IMG_SRC_DIR/"quick_extra_press.png" COMP;
+       image: IMG_SRC_DIR/"quick_extra.png" COMP;
+       image: IMG_SRC_DIR/"quick_extra_off_press.png" COMP;
+       image: IMG_SRC_DIR/"quick_extra_off.png" COMP;
+       image: IMG_SRC_DIR/"quick_end.png" COMP;
+       image: IMG_SRC_DIR/"quick_end_press.png" COMP;
+       image: IMG_SRC_DIR/"call_button_bg_line_accept_reject.png" COMP;
+       image: IMG_SRC_DIR/"lock_circle_line_camera_drag.png" COMP;
+       image: IMG_SRC_DIR/"lock_circle_line_camera.png" COMP;
+       image: IMG_SRC_DIR/"without_proximity_seneor_bg.png" COMP;
+       image: IMG_ICN_DIR/"call_button_add.png" COMP;
+       image: IMG_SRC_DIR/"handler_btn_02.png" COMP;
+       image: IMG_SRC_DIR/"button_edit_bg_new.png" COMP;
+       image: IMG_SRC_DIR/"call_btn_circle_02.png" COMP;
+       image: IMG_SRC_DIR/"background.png" COMP;
+       image: IMG_SRC_DIR/"background_dim.png" COMP;
+}
+
+collections {
+       base_scale: 2.6;
+
+       RESOURCE_IMAGE("vc_volume_icon.png", IMG_SRC_DIR/"vc_volume_icon.png");
+       RESOURCE_IMAGE("vc_volume_icon_bt.png", IMG_SRC_DIR/"vc_volume_icon_bt.png");
+       RESOURCE_IMAGE("vc_volume_mute_icon.png", IMG_SRC_DIR/"vc_volume_mute_icon.png");
+       RESOURCE_IMAGE("call_resume_icon.png", IMG_SRC_DIR/"call_resume_icon.png");
+       RESOURCE_IMAGE("call_button_add.png", IMG_ICN_DIR/"call_button_add.png");
+       RESOURCE_IMAGE("call_button_icon_01.png", IMG_SRC_DIR/"call_button_icon_01.png");
+       RESOURCE_IMAGE("call_inline_button_close.png", IMG_SRC_DIR/"call_inline_button_close.png");
+       RESOURCE_IMAGE("call_inline_button_close_1.png", IMG_SRC_DIR/"call_inline_button_close_1.png");
+       RESOURCE_IMAGE("call_button_icon_04.png", IMG_SRC_DIR/"call_button_icon_04.png");
+       RESOURCE_IMAGE("call_button_icon_03.png", IMG_SRC_DIR/"call_button_icon_03.png");
+       RESOURCE_IMAGE("call_button_icon_02.png", IMG_SRC_DIR/"call_button_icon_02.png");
+       RESOURCE_IMAGE("call_dual_sim_1.png", IMG_SRC_DIR/"call_dual_sim_1.png");
+       RESOURCE_IMAGE("call_dual_sim_2.png", IMG_SRC_DIR/"call_dual_sim_2.png");
+       RESOURCE_IMAGE("call_dual_sim_bg.png", IMG_SRC_DIR/"call_dual_sim_bg.png");
+       RESOURCE_IMAGE("logs_icon_sim_1.png", IMG_SRC_DIR/"logs_icon_sim_1.png");
+       RESOURCE_IMAGE("logs_icon_sim_2.png", IMG_SRC_DIR/"logs_icon_sim_2.png");
+       RESOURCE_IMAGE("logs_icon_sim_heart.png", IMG_SRC_DIR/"logs_icon_sim_heart.png");
+       RESOURCE_IMAGE("logs_icon_sim_home.png", IMG_SRC_DIR/"logs_icon_sim_home.png");
+       RESOURCE_IMAGE("logs_icon_sim_internet.png", IMG_SRC_DIR/"logs_icon_sim_internet.png");
+       RESOURCE_IMAGE("logs_icon_sim_data.png", IMG_SRC_DIR/"logs_icon_sim_data.png");
+       RESOURCE_IMAGE("logs_icon_sim_office.png", IMG_SRC_DIR/"logs_icon_sim_office.png");
+       RESOURCE_IMAGE("logs_icon_sim_phone.png", IMG_SRC_DIR/"logs_icon_sim_phone.png");
+       RESOURCE_IMAGE("logs_icon_sim_messages.png", IMG_SRC_DIR/"logs_icon_sim_messages.png");
+       #include "callui-view-button-layout.edc"
+       #include "callui-view-caller-info.edc"
+       #include "callui-view-incoming-lock.edc"
+       #include "callui-view-multi-call-list.edc"
+       #include "callui-keypad.edc"
+       #include "callui-view-main-layout.edc"
+       #include "callui_view_end_call.edc"
+       #include "callui-view-lock-screen.edc"
+       #include "callui-view-quick-pannel.edc"
+       #include "callui-view-quick-pannel-landscape.edc"
+       #include "callui_view_incoming_active.edc"
+       #include "callui-view-one-hold-in-conference.edc"
+       #include "callui-view-elements.edc"
+}
diff --git a/res/call_edc/callui-keypad.edc b/res/call_edc/callui-keypad.edc
new file mode 100755 (executable)
index 0000000..e8ed4e8
--- /dev/null
@@ -0,0 +1,404 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+#define VC_KEYPAD_MAIN_SUB_TEXT_FONT "Samsung Sans Num45v:style=Light"
+
+#define PART_KEYPAD_CUSTOM_ONE_ICON(txt, column, row, left_icon) \
+                       part { \
+                               name: txt; \
+                               type: RECT; \
+                               scale: 1; \
+                               mouse_events: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       visible: 1; \
+                                       rel1 { relative: (column * (KEYPAD_EACH_BTN_W + KEYPAD_DIVIDER_SIZE) / TOTAL_W) (row * (KEYPAD_EACH_BTN_H + KEYPAD_DIVIDER_SIZE) / KEYPAD_H); to:"keypad_btns/rect";} \
+                                       rel2 { relative: (((column + 1) * KEYPAD_EACH_BTN_W + column * KEYPAD_DIVIDER_SIZE) / TOTAL_W) (((row + 1) * KEYPAD_EACH_BTN_H + row * KEYPAD_DIVIDER_SIZE) / KEYPAD_H); to:"keypad_btns/rect"; } \
+                                       fixed: 1 1; \
+                                       color_class: "AO005_C"; \
+                               } \
+                               description { \
+                                       state: "pressed" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: "AO005P"; \
+                               } \
+                               description { \
+                                       state: "hide" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                       } \
+                       part { \
+                               name: txt"_left"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               repeat_events: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       aspect: 0.0 1.0; \
+                                       aspect_preference: SOURCE; \
+                                       rel1 { relative: (KEYPAD_BTN_OFFSET_X / KEYPAD_EACH_BTN_W) (KEYPAD_BTN_OFFSET_Y / KEYPAD_EACH_BTN_H); to: txt;} \
+                                       rel2 { relative: ((KEYPAD_BTN_OFFSET_X + KEYPAD_BTN_ICON_W) / KEYPAD_EACH_BTN_W) ((KEYPAD_BTN_OFFSET_Y + KEYPAD_BTN_NUMBER_H) / KEYPAD_EACH_BTN_H); to: txt;} \
+                                       align: 0.5 0.5; \
+                                       image.normal: left_icon;\
+                                       color_class: "AO003"; \
+                                       aspect_preference: SOURCE; \
+                                       visible: 1; \
+                               } \
+                               description { \
+                                       state: "hide" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                       } \
+                       part { name: "over_"txt; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       rel1 { relative: 0 0; to: txt; } \
+                                       rel2 { relative: 1 1; to: txt; } \
+                                       color: 0 0 0 0; \
+                               } \
+                       }
+
+#define PART_KEYPAD_CUSTOM_TWO_ICON(txt, column, row, left_icon, right_icon) \
+                       part { \
+                               name: txt; \
+                               type: RECT; \
+                               scale: 1; \
+                               mouse_events: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       visible: 1; \
+                                       rel1 { relative: (column * (KEYPAD_EACH_BTN_W + KEYPAD_DIVIDER_SIZE) / TOTAL_W) (row * (KEYPAD_EACH_BTN_H + KEYPAD_DIVIDER_SIZE) / KEYPAD_H); to:"keypad_btns/rect";} \
+                                       rel2 { relative: (((column + 1) * KEYPAD_EACH_BTN_W + column * KEYPAD_DIVIDER_SIZE) / TOTAL_W) (((row + 1) * KEYPAD_EACH_BTN_H + row * KEYPAD_DIVIDER_SIZE) / KEYPAD_H); to:"keypad_btns/rect"; } \
+                                       fixed: 1 1; \
+                                       color_class: "AO005_C"; \
+                               } \
+                               description { \
+                                       state: "pressed" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: "AO005P"; \
+                               } \
+                               description { \
+                                       state: "hide" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                       } \
+                       part { \
+                               name: txt"_left"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               repeat_events: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       aspect: 0.0 1.0; \
+                                       aspect_preference: SOURCE; \
+                                       rel1 { relative: (KEYPAD_BTN_OFFSET_X / KEYPAD_EACH_BTN_W) (KEYPAD_BTN_OFFSET_Y / KEYPAD_EACH_BTN_H); to: txt;} \
+                                       rel2 { relative: ((KEYPAD_BTN_OFFSET_X + KEYPAD_BTN_ICON_W) / KEYPAD_EACH_BTN_W) ((KEYPAD_BTN_OFFSET_Y + KEYPAD_BTN_NUMBER_H) / KEYPAD_EACH_BTN_H); to: txt;} \
+                                       image.normal: left_icon;\
+                                       color_class: "AO003"; \
+                                       aspect_preference: SOURCE; \
+                                       visible: 1; \
+                               } \
+                               description { \
+                                       state: "hide" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                       } \
+                       part { \
+                               name: txt"_right"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               repeat_events: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       aspect: 1.0 1.0; \
+                                       aspect_preference: SOURCE; \
+                                       rel1 { relative: (KEYPAD_BTN_OFFSET_X / KEYPAD_EACH_BTN_W) ((KEYPAD_BTN_OFFSET_Y + KEYPAD_BTN_NUMBER_H) / KEYPAD_EACH_BTN_H); to: txt;} \
+                                       rel2 { relative: ((KEYPAD_BTN_OFFSET_X + KEYPAD_BTN_ICON_W) / KEYPAD_EACH_BTN_W) ((KEYPAD_BTN_OFFSET_Y + KEYPAD_BTN_NUMBER_H + KEYPAD_BTN_LETTERS_H) / KEYPAD_EACH_BTN_H); to: txt;} \
+                                       align: 0.5 0.5; \
+                                       image.normal: right_icon; \
+                                       color_class: "AO004_C"; \
+                                       aspect_preference: SOURCE; \
+                                       visible: 1; \
+                               } \
+                               description { \
+                                       state: "hide" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                       } \
+                       part { name: "over_"txt; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       rel1 { relative: 0 0; to: txt; } \
+                                       rel2 { relative: 1 1; to: txt; } \
+                                       color: 0 0 0 0; \
+                               } \
+                       }
+
+#define PROG_KEYPAD(txt) \
+       program { \
+               name: "down_"txt; \
+               signal: "mouse,down,*"; \
+               source: "over_"txt; \
+               script { \
+                       set_state(PART:txt, "pressed", 0.0); \
+                       emit("pad_down", txt); \
+               } \
+       } \
+       program { \
+               name: "ani_"txt; \
+               signal: "ani"; \
+               source: "over_"txt; \
+               action: STATE_SET "default" 0.0; \
+               transition: SINUSOIDAL 0.1; \
+               target: txt; \
+       } \
+       program { \
+               name: "up_"txt; \
+               signal: "mouse,up,1"; \
+               source: "over_"txt; \
+               script { \
+                       set_state(PART:txt, "default", 0.0); \
+                       emit("pad_up", txt); \
+                       emit("ani", "over_"txt); \
+               } \
+       } \
+       program { \
+               name: "clicked_"txt; \
+               signal: "mouse,clicked,1"; \
+               source: "over_"txt; \
+               script { \
+                       emit("pad_clicked", txt); \
+               } \
+       }
+
+group{
+       name: "keypad";
+               parts {
+                       part { name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                       }
+               }
+
+               part {
+                       name: "keypad_arrow_bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               color: 0 0 0 0;
+                               rel1 { relative: 0.0 ((KEYPAD_AREA_H - KEYPAD_H - KEYPAD_ARROW_BTN_BG_H) / KEYPAD_AREA_H); to: "background";}
+                               rel2 { relative: 1.0 ((KEYPAD_AREA_H - KEYPAD_H) / KEYPAD_AREA_H); 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: "sweep_area";
+                       type: RECT;
+                       mouse_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                               rel1 { relative: 0 0; to: "background";}
+                               rel2 { relative: 1 ((KEYPAD_AREA_H - KEYPAD_H) / KEYPAD_AREA_H); to: "background";}
+                       }
+               }
+
+               part {
+                       name: "keypad_arrow_rect";
+                       type: RECT;
+                       mouse_events:1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               color: 0 0 0 0;
+                               rel1 { relative: 225/480 6/42; to: "keypad_arrow_bg";}
+                               rel2 { relative: 255/480 29/42; to: "keypad_arrow_bg";}
+                       }
+               }
+
+               part {
+                       name: "keypad_down_arw";
+                       type: IMAGE;
+                       mouse_events:1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {relative: 0 0; to: "keypad_arrow_rect";}
+                               rel2 {relative: 1 1; to: "keypad_arrow_rect";}
+                               align: 0.5 0.0;
+                               image {
+                                       normal: IMG_SRC_DIR/"call_open_arrow_2.png";
+                               }
+                               max: -1 3;
+                               fixed: 0 1;
+                               aspect_preference: HORIZONTAL;
+                               visible: 1;
+                       }
+                       description {
+                               state: "move" 0.0;
+                               rel1 { relative: 0 0; to: "keypad_arrow_rect";}
+                               rel2 { relative: 1 1; to: "keypad_arrow_rect";}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_open_arrow_2.png";
+                               }
+                               aspect_preference: SOURCE;
+                               align: 0.5 1.0;
+                       }
+               }
+
+               part {  name: "keypad_btns/rect";
+                       type: RECT;
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 ((KEYPAD_AREA_H - KEYPAD_H) / KEYPAD_AREA_H); to: "background"; }
+                               rel2 { relative: 1.0 1.0; to: "background"; }
+                               color_class: "AO008";
+                               fixed: 1 1;
+                               visible: 1;
+                       }
+                       description {
+                                       state: "show" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                       }
+                       description {
+                                       state: "hide" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 0;
+                       }
+               }
+
+               PART_KEYPAD_CUSTOM_ONE_ICON("1", 0, 0, IMG_SRC_DIR/"keypad_number_01.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("2", 1, 0, IMG_SRC_DIR/"keypad_number_02.png", IMG_SRC_DIR/"keypad_english_01.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("3", 2, 0, IMG_SRC_DIR/"keypad_number_03.png", IMG_SRC_DIR/"keypad_english_02.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("4", 0, 1, IMG_SRC_DIR/"keypad_number_04.png", IMG_SRC_DIR/"keypad_english_03.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("5", 1, 1, IMG_SRC_DIR/"keypad_number_05.png", IMG_SRC_DIR/"keypad_english_04.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("6", 2, 1, IMG_SRC_DIR/"keypad_number_06.png", IMG_SRC_DIR/"keypad_english_05.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("7", 0, 2, IMG_SRC_DIR/"keypad_number_07.png", IMG_SRC_DIR/"keypad_english_06.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("8", 1, 2, IMG_SRC_DIR/"keypad_number_08.png", IMG_SRC_DIR/"keypad_english_07.png")
+               PART_KEYPAD_CUSTOM_TWO_ICON("9", 2, 2, IMG_SRC_DIR/"keypad_number_09.png", IMG_SRC_DIR/"keypad_english_08.png")
+               PART_KEYPAD_CUSTOM_ONE_ICON("star", 0, 3, IMG_SRC_DIR/"keypad_number_asterisk.png")
+               PART_KEYPAD_CUSTOM_ONE_ICON("0", 1, 3, IMG_SRC_DIR/"keypad_number_00.png")
+               PART_KEYPAD_CUSTOM_ONE_ICON("sharp", 2, 3, IMG_SRC_DIR/"keypad_number_sharp.png")
+       }
+
+       programs{
+               script {
+                       public animation_cnt;
+               }
+
+               program { name: "show_keypadbtn";
+                       signal: "SHOW";
+                       source: "KEYPADBTN";
+                       action: STATE_SET "show" 0.0;
+                       //target: "keypad/area";
+                       target: "keypad_arrow_bg";
+                       target: "keypad_btns/rect";
+                       //target: "keypad_btns/bg";
+               }
+
+               program {
+                       name: "init_animation";
+                       signal: "init";
+                       source: "down_arrow";
+                       action: STATE_SET "default" 0.0;
+                       target: "keypad_down_arw";
+                       script {
+                               set_int(animation_cnt, 0);
+                       }
+               }
+
+               program {
+                       name: "start_animation";
+                       signal: "start_animation";
+                       source: "down_arrow";
+                       action: STATE_SET "default" 0.0;
+                       target: "keypad_down_arw";
+                       after: "move_arrow";
+               }
+
+               program {
+                       name: "move_arrow";
+                       signal: "move";
+                       source: "down_arrow";
+                       action: STATE_SET "move" 0.0;
+                       target: "keypad_down_arw";
+                       transition: DECELERATE 0.6;
+                       after: "repeat";
+               }
+
+               program {
+                       name: "repeat";
+                       script {
+                               set_int(animation_cnt, get_int(animation_cnt)+1);
+                               if (get_int(animation_cnt) >= 2) {
+                                       set_int(animation_cnt, 0);
+                               }
+                               else {
+                                       run_program(PROGRAM:"start_animation");
+                               }
+                       }
+               }
+
+               PROG_KEYPAD("1")
+               PROG_KEYPAD("2")
+               PROG_KEYPAD("3")
+               PROG_KEYPAD("4")
+               PROG_KEYPAD("5")
+               PROG_KEYPAD("6")
+               PROG_KEYPAD("7")
+               PROG_KEYPAD("8")
+               PROG_KEYPAD("9")
+               PROG_KEYPAD("star")
+               PROG_KEYPAD("0")
+               PROG_KEYPAD("sharp")
+       }
+}
diff --git a/res/call_edc/callui-view-button-layout.edc b/res/call_edc/callui-view-button-layout.edc
new file mode 100755 (executable)
index 0000000..af2ed4c
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+#include "../../include/callui-view-caller-info-defines.h"
+
+#define SWL_BUTTON(part_name, left, top, right, bottom) \
+       part { name: part_name; \
+               type: SWALLOW; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: left top; to: "background";} \
+                       rel2 { relative: right bottom; to: "background";} \
+               } \
+       }
+
+group{
+       name: "button-layout";
+       parts{
+               part { name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               //color: COLOR_BG_ALPHA;
+                               color_class: "AO001";
+                       }
+               }
+
+               /*part { name: "swl_bg_image";
+                       type: IMAGE;
+                       mouse_events:1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; to: "background"; }
+                               rel2 { relative: 1 1; to: "background"; }
+                               align: 0.5 0.5;
+                               color_class: AO015;
+                               image { normal: IMG_SRC_DIR/"call_button_div_01.png"; }
+                       }
+               }*/
+
+               /*TOP FIRST BUTTON*/
+               SWL_BUTTON(PART_TOP_FIRST_BTN, TOP_FIRST_BUTTON_L, TOP_FIRST_BUTTON_T,
+                       TOP_FIRST_BUTTON_R, TOP_FIRST_BUTTON_B)
+
+               /*TOP SECOND BUTTON*/
+               SWL_BUTTON(PART_TOP_SECOND_BTN, TOP_SECOND_BUTTON_L, TOP_SECOND_BUTTON_T,
+                       TOP_SECOND_BUTTON_R, TOP_SECOND_BUTTON_B)
+
+               /*TOP THIRD BUTTON*/
+               SWL_BUTTON(PART_TOP_THIRD_BTN, TOP_THIRD_BUTTON_L, TOP_THIRD_BUTTON_T,
+                       TOP_THIRD_BUTTON_R, TOP_THIRD_BUTTON_B)
+
+               /*BOTTOM FIRST BUTTON*/
+               SWL_BUTTON(PART_BOTTOM_FIRST_BTN, BOTTOM_FIRST_BUTTON_L, BOTTOM_FIRST_BUTTON_T,
+                       BOTTOM_FIRST_BUTTON_R, BOTTOM_FIRST_BUTTON_B)
+
+               /*BOTTOM SECOND BUTTON*/
+               SWL_BUTTON(PART_BOTTOM_SECOND_BTN, BOTTOM_SECOND_BUTTON_L, BOTTOM_SECOND_BUTTON_T,
+                       BOTTOM_SECOND_BUTTON_R, BOTTOM_SECOND_BUTTON_B)
+
+               /*BOTTOM THIRD BUTTON*/
+               SWL_BUTTON(PART_BOTTOM_THIRD_BTN, BOTTOM_THIRD_BUTTON_L, BOTTOM_THIRD_BUTTON_T,
+                       BOTTOM_THIRD_BUTTON_R, BOTTOM_THIRD_BUTTON_B)
+       }
+
+       programs{
+       }
+}
+
diff --git a/res/call_edc/callui-view-caller-info.edc b/res/call_edc/callui-view-caller-info.edc
new file mode 100755 (executable)
index 0000000..bf993ea
--- /dev/null
@@ -0,0 +1,769 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+styles {
+       style {
+               name: "caller_info_name";
+               base: "text_class="ATO002" wrap=mixed ellipsis=1.0";
+               tag: "br" "\n";
+               tag: "tab" "\t";
+       }
+       style {
+               name: "caller_info_name_land";
+               base: "font="VC_FONT_REGULAR" text_class="ATO002" font_size=28 color=#FFFFFFFF color_class: "ATO002" style=shadow align=center wrap=mixed ellipsis=1.0";
+               tag: "br" "\n";
+               tag: "ps" "ps";
+       }
+       style {
+               name: "easy_caller_info_name";
+               base: "font="VC_FONT_REGULAR" text_class="VC_TEXT_CLASS_REGULAR" font_size=28 color=#FFFFFFFF style=shadow align=center wrap=mixed ellipsis=1.0";
+               tag: "br" "\n";
+               tag: "tab" "\t";
+       }
+       style {
+               name: "extra_info_txt_style";
+                base: "font="VC_FONT_REGULAR" font_size=24 color=#070707FF color_class:"ATO010" align=left text_class="ATO010" wrap=mixed ellipsis=1.0";
+                tag: "br" "\n";
+                tag: "tab" "\t";
+       }
+       style {
+               name: "extra_caller_name_style";
+                base: "font="VC_FONT_REGULAR" font_size=26 color=#FFFFFF color_class:"ATO027" align=left text_class:"ATO027" wrap=mixed ellipsis=1.0";
+                tag: "br" "\n";
+                tag: "tab" "\t";
+       }
+       style {
+               name: "extra_caller_status_style";
+                base: "font="VC_FONT_REGULAR" font_size=40 color=#FFFFFF color_class:"ATO007" align=right text_class:"ATO007" wrap=mixed ellipsis=1.0";
+                tag: "br" "\n";
+                tag: "tab" "\t";
+       }
+       style {
+               name: "merge_swap_style";
+                base: "font="VC_FONT_REGULAR" font_size=24 color=#FFFFFF color_class:"ATO028" align=center text_class:"ATO028" wrap=mixed ellipsis=1.0";
+                tag: "br" "\n";
+                tag: "tab" "\t";
+       }
+       style {
+               name: "call_name_light";
+               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";
+               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";
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: COLOR_BG_ALPHA;
+                       }
+               }
+               part {
+                       name: "btn";
+                       type: IMAGE;
+                       scale: 1;
+                       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_ic_controll_01.png";
+                               }
+                               color_class: "AO026";
+                               align: 0.5 0.5;
+                       }
+               }
+       }
+}
+
+group {
+       name: "extra-volume";
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: COLOR_BG_ALPHA;
+                       }
+               }
+
+               part {
+                       name: "extra_icon";
+                       type: IMAGE;
+                       scale: 1;
+                       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_during_volume.png";
+                               color_class: "AO026";
+                               align: 0.5 0.5;
+                               visible: 1;
+                       }
+               }
+       }
+}
+
+group{
+       name: "caller-info";
+       parts{
+               part { name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                       }
+               }
+
+               part {
+                       name: "carrier_icon";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {relative: CALLER_INFO_CARRIER_L CALLER_INFO_CARRIER_T; to: "background";}
+                               rel2 {relative: CALLER_INFO_CARRIER_R CALLER_INFO_CARRIER_B; to: "background";}
+                               image.normal:IMG_SRC_DIR/"call_vivo.png";
+                               aspect_preference: SOURCE;
+                               align: 0.5 0.5;
+                               visible: 0;
+                       }
+                       description {
+                               state: "vivo" 0.0;
+                               inherit: "default" 0.0;
+                               image.normal: IMG_SRC_DIR/"call_vivo.png";
+                               visible: 1;
+                       }
+                       description {
+                               state: "claro" 0.0;
+                               inherit: "default" 0.0;
+                               image.normal: IMG_SRC_DIR/"call_claro.png";
+                               visible: 1;
+                       }
+                       description {
+                               state: "oi" 0.0;
+                               inherit: "default" 0.0;
+                               image.normal: IMG_SRC_DIR/"call_oi.png";
+                               visible: 1;
+                       }
+                       description {
+                               state: "tim" 0.0;
+                               inherit: "default" 0.0;
+                               image.normal: IMG_SRC_DIR/"call_tim.png";
+                               visible: 1;
+                       }
+               }
+
+               /*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;
+                               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;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "ending_2line" 0.0;
+                               inherit: "default" 0.0;
+                               text {
+                                       text_class: "ATO030";
+                               }
+                               color_class: "ATO030";
+                       }
+                       description {
+                               state: "ending_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";}
+                       }
+               }
+
+               /*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;
+                               text {
+                                       fit: 1 1;
+                                       style: "call_2line_light";
+                               }
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "ending_2line" 0.0;
+                               inherit: "default" 0.0;
+                               text {
+                                       text_class: "ATO031";
+                               }
+                               color_class: "ATO031";
+                       }
+                       description {
+                               state: "ending_1line" 0.0;
+                               inherit: "hide" 0.0;
+                       }
+               }
+
+               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: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part { name: "caller_id";
+                       type: SWALLOW;
+                       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";}
+                               fixed: 1 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               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";
+                               }
+                               aspect_preference: SOURCE;
+                       }
+                       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: "dim" 0.0;
+                               inherit: "default" 0.0;
+                               color_class: "AO151";
+                       }
+               }
+
+               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";
+                               }
+                               aspect_preference: SOURCE;
+                               color_class: "AO003L2";
+                               fixed: 1 1;
+                               align: 0.5 0.5;
+                               visible: 1;
+                       }
+                       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: "conference" 0.0;
+                               inherit: "default" 0.0;
+                               image {
+                                       normal: IMG_SRC_DIR/"call_photo_id_conference.png";
+                               }
+                               color_class: "AO003L2";
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               /* effect */
+               part { name: "caller_id_effect";
+                       type: SWALLOW;
+                       scale: 1;
+                       description { state: "default" 0.0;
+                               rel1 { relative: VC_CALLER_ID_EFFECT_L VC_CALLER_ID_EFFECT_T; to: "background";}
+                               rel2 { relative: VC_CALLER_ID_EFFECT_R VC_CALLER_ID_EFFECT_B; to: "background";}
+                               min: 200 200;
+                               max: 200 200;
+                               fixed: 1 1;
+                               align: 0.5 0.5;
+                       }
+               }
+
+               /*EXTRA INFO - hold, resume, extra volume*/
+               part {
+                       name: "extra_info";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 {relative: EXTRA_LAYOUT_L EXTRA_LAYOUT_T; to: "background";}
+                               rel2 {relative: EXTRA_LAYOUT_R EXTRA_LAYOUT_B; to: "background";}
+                               color: COLOR_BG_ALPHA;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "extra1_swl";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 {relative: 0 0; to: "extra_info";}
+                               rel2 {relative: 1 1; to: "extra_info";}
+                       }
+                       description {
+                                       state: "hide" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 0;
+                       }
+               }
+
+               part {
+                       name: "extra_info2";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 {relative: EXTRA2_LAYOUT_L EXTRA2_LAYOUT_T; to: "background";}
+                               rel2 {relative: EXTRA2_LAYOUT_R EXTRA2_LAYOUT_B; to: "background";}
+                               color: COLOR_BG_ALPHA;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "extra2_swl";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 {relative: 0 0; to: "extra_info2";}
+                               rel2 {relative: 1 1; to: "extra_info2";}
+                       }
+               }
+
+               part {
+                       name: "divider";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 1; to: "extra_info"; }
+                               rel2 { relative: 1 0; to: "extra_info2"; }
+                               color_class: "AO039";
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "extra_info3";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 {relative: EXTRA3_LAYOUT_L EXTRA3_LAYOUT_T; to: "background";}
+                               rel2 {relative: EXTRA3_LAYOUT_R EXTRA3_LAYOUT_B; to: "background";}
+                               color: COLOR_BG_ALPHA;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "extra3_swl";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 {relative: 0 0; to: "extra_info3";}
+                               rel2 {relative: 1 1; to: "extra_info3";}
+                       }
+               }
+
+               part {
+                       name: "divider2";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 1; to: "extra_info2"; }
+                               rel2 { relative: 1 0; to: "extra_info3"; }
+                               color_class: "AO039";
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "manage_calls_icon_swallow";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: MANAGE_BTN_L MANAGE_BTN_T; to: "background";}
+                               rel2 { relative: MANAGE_BTN_R MANAGE_BTN_B; to: "background";}
+                               max: 39 39;
+                               min: 39 39;
+                               fixed: 1 1;
+                               align: 0.5 0.5;
+                       }
+                       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";
+                       }
+                       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: "call_info_bg";
+                               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";
+//                             after: "hide_caller_info_bg";
+                       }
+                       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";
+                       }
+
+                       program {
+                               name: "show_conference_icon";
+                               signal: "set_conference_mode";
+                               source: "";
+                               action: STATE_SET "conference" 0.0;
+                               target: "caller_id_img";
+                               after: "caller_name_2line";
+                       }
+
+                       program {
+                               name: "show_extra_info1";
+                               signal: "show_extra_info1";
+                               source: "";
+                               action: STATE_SET "show" 0.0;
+                               target: "extra_info";
+                       }
+                       program {
+                               name: "hide_extra_info1";
+                               signal: "hide_extra_info1";
+                               source: "";
+                               action: STATE_SET "default" 0.0;
+                               target: "extra_info";
+                       }
+                       program {
+                               name: "show_extra_info2";
+                               signal: "show_extra_info2";
+                               source: "";
+                               action: STATE_SET "show" 0.0;
+                               target: "divider";
+                               target: "extra_info2";
+                       }
+                       program {
+                               name: "hide_extra_info2";
+                               signal: "hide_extra_info2";
+                               source: "";
+                               action: STATE_SET "default" 0.0;
+                               target: "divider";
+                               target: "extra_info2";
+                       }
+                       program {
+                               name: "show_extra_info3";
+                               signal: "show_extra_info3";
+                               source: "";
+                               action: STATE_SET "show" 0.0;
+                               target: "divider2";
+                               target: "extra_info3";
+                       }
+                       program {
+                               name: "hide_extra_info3";
+                               signal: "hide_extra_info3";
+                               source: "";
+                               action: STATE_SET "default" 0.0;
+                               target: "divider2";
+                               target: "extra_info3";
+                       }
+
+                       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";
+                       }
+
+                       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";
+                       }
+
+                       program {
+                               name: "show_carrier_vivo";
+                               signal: "show_carrier_vivo";
+                               source: "";
+                               action: STATE_SET "vivo" 0.0;
+                               target: "carrier_icon";
+                       }
+                       program {
+                               name: "show_carrier_claro";
+                               signal: "show_carrier_claro";
+                               source: "";
+                               action: STATE_SET "claro" 0.0;
+                               target: "carrier_icon";
+                       }
+                       program {
+                               name: "show_carrier_oi";
+                               signal: "show_carrier_oi";
+                               source: "";
+                               action: STATE_SET "oi" 0.0;
+                               target: "carrier_icon";
+                       }
+                       program {
+                               name: "show_carrier_tim";
+                               signal: "show_carrier_tim";
+                               source: "";
+                               action: STATE_SET "tim" 0.0;
+                               target: "carrier_icon";
+                       }
+                       program {
+                               name: "hide_carrier_icon";
+                               signal: "hide_carrier_icon";
+                               source: "";
+                               action: STATE_SET "default" 0.0;
+                               target: "carrier_icon";
+                       }
+                       program {
+                               name: "caller_name_1line";
+                               signal: "1line";
+                               source: "caller_name";
+                               action: STATE_SET "1line" 0.0;
+                               target: "txt_call_name";
+                       }
+                       program {
+                               name: "caller_name_2line";
+                               signal: "2line";
+                               source: "caller_name";
+                               action: STATE_SET "default" 0.0;
+                               target: "txt_call_name";
+                       }
+                       program {
+                               name: "ending_1line";
+                               signal: "ending_1line";
+                               source: "caller_info";
+                               action: STATE_SET "ending_1line" 0.0;
+                               target: "txt_call_name";
+                               target: "txt_phone_num";
+                               after: "dim_caller_id";
+                       }
+                       program {
+                               name: "ending_2line";
+                               signal: "ending_2line";
+                               source: "caller_info";
+                               action: STATE_SET "ending_2line" 0.0;
+                               target: "txt_call_name";
+                               target: "txt_phone_num";
+                               after: "dim_caller_id";
+                       }
+                       program {
+                               name: "dim_caller_id";
+                               action: STATE_SET "dim" 0.0;
+                               target: "caller_id_bg";
+                       }
+               }
+       }
+}
diff --git a/res/call_edc/callui-view-elements.edc b/res/call_edc/callui-view-elements.edc
new file mode 100644 (file)
index 0000000..693fdc0
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../../include/callui-view-elements-defines.h"
+#include "../callui-color-classes.h"
+
+RESOURCE_IMAGE_WITH_MASK(GROUP_THUMBNAIL_186, IMG_SRC_DIR/"call_photo_id_bg.png", PART_SWALLOW_IMAGE)
+RESOURCE_IMAGE_WITH_MASK(GROUP_THUMBNAIL_98, IMG_SRC_DIR/"call_btn_circle_02.png", PART_SWALLOW_IMAGE)
+
+RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE(GROUP_DEFAULT_THUMBNAIL_98, "call_photo_id_98.png", "call_photo_id_bg.png", "AO001", "AO002")
+RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE(GROUP_DEFAULT_THUMBNAIL_186, "call_photo_id.png", "call_photo_id_bg.png", "AO001", "AO002")
+RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE(GROUP_DEFAULT_CONFERENCE_THUMBNAIL_186, "call_photo_id_conference.png", "call_photo_id_bg.png", "AO001", "AO002")
+
+RESOURCE_IMAGE_WITH_BG_AND_TOUCH(GROUP_CALL_BTN_IC_SPLIT, "call_btn_ic_split.png", "call_btn_circle_02.png", CALL_BTN_IC_SIZE, CALL_BTN_IC_BG_SIZE, "btn_ic", "btn_ic_split_bg", "btn_ic_split_bg_pressed")
+RESOURCE_IMAGE_WITH_BG_AND_TOUCH(GROUP_CALL_BTN_IC_END, "call_btn_ic_end.png", "call_btn_circle_02.png", CALL_BTN_IC_SIZE, CALL_BTN_IC_BG_SIZE, "btn_ic", "btn_ic_end_bg", "btn_ic_end_bg_pressed")
\ No newline at end of file
diff --git a/res/call_edc/callui-view-incoming-lock.edc b/res/call_edc/callui-view-incoming-lock.edc
new file mode 100755 (executable)
index 0000000..a0f0ba6
--- /dev/null
@@ -0,0 +1,843 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+#define        COLOR_OPACITY_100 255 255 255 255
+#define        COLOR_OPACITY_80 255 255 255 204
+#define        COLOR_OPACITY_75 255 255 255 191
+#define        COLOR_OPACITY_60 255 255 255 153
+#define        COLOR_OPACITY_50 255 255 255 128
+#define        COLOR_OPACITY_40 255 255 255 102
+#define        COLOR_OPACITY_25 255 255 255 64
+#define        COLOR_OPACITY_20 255 255 255 51
+#define        COLOR_OPACITY_0 255 255 255 0
+#define SHIFT_VALUE (20/720)
+
+#define CREATE_OUTER_CIRCLE_RECT(part_name, lpos, tpos, rpos, bpos) \
+       part { \
+               name: part_name; \
+               type: RECT; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       color: COLOR_BG_ALPHA; \
+               } \
+       }
+
+#define CREATE_OUTER_CIRCLE_CLIP(part_name, lpos, tpos, rpos, bpos) \
+       part { \
+               name: part_name; \
+               type: RECT; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+               } \
+       }
+
+#define CREATE_OUTER_CIRCLE(part_name, reference, icon_name, clip_to_rect, color_code) \
+       part { \
+               name: part_name; \
+               type: IMAGE; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               scale: 1.0; \
+               clip_to: clip_to_rect; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: 0.4 0.4; to: reference; } \
+                       rel2 { relative: 0.6 0.6; to: reference; } \
+                       image { \
+                               normal: IMG_SRC_DIR/icon_name; \
+                       } \
+                       align: 0.0 0.5; \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "bright" 0.0; \
+                       inherit: "default" 0.0; \
+                       rel1 { relative: 0.0 0.0; to: reference; } \
+                       rel2 { relative: 1.0 1.0; to: reference; } \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "bright" 0.1; \
+                       inherit: "bright" 0.0; \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "bright" 0.2; \
+                       inherit: "bright" 0.0; \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "bright" 0.3; \
+                       inherit: "bright" 0.0; \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "show" 0.0; \
+                       inherit: "bright" 0.0; \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       }
+
+#define CREATE_INNER_CIRCLE_SIMPLE_IMAGE(part_name, lpos, tpos, rpos, bpos, clip_to_rect, icon_name, color_code) \
+       part { \
+               name: part_name; \
+               type: IMAGE; \
+               mouse_events: 0; \
+               repeat_events: 1; \
+               scale: 1; \
+               clip_to: clip_to_rect; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       image { \
+                               normal: IMG_SRC_DIR/icon_name; \
+                       } \
+                       align: 0.0 0.5; \
+                       color_class: color_code; \
+                       aspect_preference: SOURCE; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+
+#define CREATE_INNER_CIRCLE_SIMPLE_IMAGE_R(part_name, lpos, tpos, rpos, bpos, icon_name, color_code) \
+       part { \
+               name: part_name; \
+               type: IMAGE; \
+               mouse_events: 0; \
+               repeat_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       image { \
+                               normal: IMG_SRC_DIR/icon_name; \
+                       } \
+                       align: 0.5 0.5; \
+                       color_class: color_code; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       } \
+
+#define        CREATE_INNER_CIRCLE(part_name, lpos, tpos, rpos, bpos, icon_name, color_code) \
+       part { \
+               name: part_name; \
+               type: IMAGE; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       image { \
+                               normal: IMG_SRC_DIR/"call_btn_circle.png"; \
+                       } \
+                       align: 0.0 0.5; \
+                       color_class: color_code; \
+                       aspect_preference: SOURCE; \
+               } \
+               description { \
+                       state: "dim" 0.0; \
+                       inherit: "default" 0.0; \
+                       color_class: color_code; \
+                       color: COLOR_OPACITY_80; \
+               } \
+               description { \
+                       state: "dim" 0.1; \
+                       inherit: "default" 0.0; \
+                       color_class: color_code; \
+                       color: COLOR_OPACITY_60; \
+               } \
+               description { \
+                       state: "dim" 0.2; \
+                       inherit: "default" 0.0; \
+                       color_class: color_code; \
+                       color: COLOR_OPACITY_40; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       color_class: color_code; \
+                       color: COLOR_OPACITY_40; \
+               } \
+               description { \
+                       state: "pressed" 0.0; \
+                       inherit: "default" 0.0; \
+                       color_class: color_code"P"; \
+               } \
+       } \
+       part { \
+               name: "call_btn_icon"; \
+               type: IMAGE; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: 0.0 0.0; to: part_name; } \
+                       rel2 { relative: 1.0 1.0; to: part_name; } \
+                       image { \
+                               normal: IMG_SRC_DIR/icon_name; \
+                       } \
+                       align: 0.5 0.5; \
+                       max: MTLOCK_CALL_ICON_W MTLOCK_CALL_ICON_H; \
+                       min: MTLOCK_CALL_ICON_W MTLOCK_CALL_ICON_H; \
+               } \
+       } \
+       part { \
+               name: part_name"_ao"; \
+               type: RECT; \
+               mouse_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       color: 0 0 0 0; \
+               } \
+       }
+
+#define        CREATE_ICON(part_name, lpos, tpos, rpos, bpos, normal_icon_name, dim_icon_name) \
+       part { \
+               name: part_name; \
+               type: IMAGE; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       image { \
+                               normal: IMG_SRC_DIR/normal_icon_name; \
+                       } \
+                       align: 0.5 0.5; \
+                       color: COLOR_OPACITY_100; \
+               } \
+               description { \
+                       state: "dim" 0.0; \
+                       inherit: "default" 0.0; \
+                       image { \
+                               normal: IMG_SRC_DIR/dim_icon_name; \
+                       } \
+               } \
+       }
+
+#define        CREATE_ARROW_ICON(part_name, lpos, tpos, rpos, bpos, shift_value, icon_name, color_code, opacity_1, opacity_2, opacity_3, opacity_4, opacity_5) \
+       part { \
+               name: part_name; \
+               type: IMAGE; \
+               mouse_events: 1; \
+               repeat_events: 1; \
+               scale: 1; \
+               description { \
+                       state: "default" 0.0; \
+                       rel1 { relative: lpos tpos; } \
+                       rel2 { relative: rpos bpos; } \
+                       image { \
+                               normal: icon_name; \
+                       } \
+                       align: 0.5 0.5; \
+                       color_class: color_code; \
+                       color: opacity_1; \
+                       visible: 1; \
+               } \
+               description { \
+                       state: "init" 0.0; \
+                       inherit: "default" 0.0; \
+                       rel1 { relative: lpos+shift_value tpos; } \
+                       rel2 { relative: rpos+shift_value bpos; } \
+               } \
+               description { \
+                       state: "flicker" 0.0; \
+                       inherit: "default" 0.0; \
+                       color: opacity_2; \
+               } \
+               description { \
+                       state: "flicker" 0.1; \
+                       inherit: "default" 0.0; \
+                       color: opacity_3; \
+               } \
+               description { \
+                       state: "flicker" 0.2; \
+                       inherit: "default" 0.0; \
+                       color: opacity_4; \
+               } \
+               description { \
+                       state: "flicker" 0.3; \
+                       inherit: "default" 0.0; \
+                       color: opacity_5; \
+               } \
+               description { \
+                       state: "hide" 0.0; \
+                       inherit: "default" 0.0; \
+                       visible: 0; \
+               } \
+       }
+
+#define        CREATE_PROGRAM(prog_name, signal_name, source_name, state_name, target_name) \
+       program { \
+               name: prog_name; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET state_name 0.0; \
+               target: target_name; \
+       }
+
+#define        CREATE_PROGRAM_IN_TRANSITION(prog_name, signal_name, source_name, state_name, state_ver, target_name) \
+       program { \
+               name: prog_name; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET state_name state_ver; \
+               target: target_name; \
+               transition: LINEAR 0.2; \
+       }
+
+#define        CREATE_ARROW_ANIMATION(prog_1, prog_2, prog_3, prog_4, prog_5, target_1, target_2, target_3, target_4, signal_name, source_name) \
+       program { \
+               name: prog_1; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "default" 0.0; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               transition: LINEAR 0.5; \
+               after: prog_2; \
+       } \
+       program { \
+               name: prog_2; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.0; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               transition: LINEAR 0.3; \
+               after: prog_3; \
+       } \
+       program { \
+               name: prog_3; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.1; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               transition: LINEAR 0.3; \
+               after: prog_4; \
+       } \
+       program { \
+               name: prog_4; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.2; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               transition: LINEAR 0.3; \
+               after: prog_5; \
+       } \
+       program { \
+               name: prog_5; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.3; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               transition: LINEAR 0.3; \
+               after: prog_1; \
+       }
+
+#define        CREATE_EASY_ARROW_ANIMATION(prog_1, prog_2, prog_3, prog_4, prog_5, target_1, target_2, target_3, target_4, target_5, signal_name, source_name) \
+       program { \
+               name: prog_1; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "default" 0.0; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               target: target_5; \
+               transition: LINEAR 0.5; \
+               after: prog_2; \
+       } \
+       program { \
+               name: prog_2; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.0; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               target: target_5; \
+               transition: LINEAR 0.3; \
+               after: prog_3; \
+       } \
+       program { \
+               name: prog_3; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.1; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               target: target_5; \
+               transition: LINEAR 0.3; \
+               after: prog_4; \
+       } \
+       program { \
+               name: prog_4; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.2; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               target: target_5; \
+               transition: LINEAR 0.3; \
+               after: prog_5; \
+       } \
+       program { \
+               name: prog_5; \
+               signal: signal_name; \
+               source: source_name; \
+               action: STATE_SET "flicker" 0.3; \
+               target: target_1; \
+               target: target_2; \
+               target: target_3; \
+               target: target_4; \
+               target: target_5; \
+               transition: LINEAR 0.3; \
+               after: prog_1; \
+       }
+
+#define        CREATE_PROGRAM_EXPAND_ANIMATION(prog_name, target_name) \
+       program { \
+               name: prog_name; \
+               signal: "outer_circle,expand"; \
+               source: "outer-circle"; \
+               action: STATE_SET "bright" 0.0; \
+               transition: LINEAR 0.5; \
+               target: target_name; \
+       }
+
+#define        CREATE_PROGRAM_CONTRACT_ANIMATION(prog_name, target_name, after_prog_name) \
+       program { \
+               name: prog_name; \
+               signal: "outer_circle,contract"; \
+               source: "outer-circle"; \
+               action: STATE_SET "default" 0.0; \
+               transition: LINEAR 0.5; \
+               target: target_name; \
+               after: after_prog_name; \
+       }
+
+color_classes {
+       color_class {
+               name: "ATO004";
+               color: 3 61 133 255;
+       }
+}
+
+group {
+       name: "lock_accept";
+
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               color: COLOR_BG_ALPHA;
+                       }
+               }
+
+               CREATE_OUTER_CIRCLE_RECT("rect_outer_circle", MTLOCK_ACCEPT_OUTER_CIRCLE_L, MTLOCK_ACCEPT_OUTER_CIRCLE_T, MTLOCK_ACCEPT_OUTER_CIRCLE_R, MTLOCK_ACCEPT_OUTER_CIRCLE_B)
+               CREATE_OUTER_CIRCLE_CLIP("rect_outer_circle_clipper", MTLOCK_ACCEPT_OUTER_CIRCLE_L, MTLOCK_ACCEPT_OUTER_CIRCLE_CLIP_RECT_T, MTLOCK_ACCEPT_OUTER_CIRCLE_R, MTLOCK_ACCEPT_OUTER_CIRCLE_CLIP_RECT_B)
+               CREATE_OUTER_CIRCLE("accept_outer_circle", "rect_outer_circle", "call_button_bg_line_accept_reject.png", "rect_outer_circle_clipper", "AO046L1")
+               CREATE_INNER_CIRCLE_SIMPLE_IMAGE("accept_inner_circle_bg", MTLOCK_ACCEPT_INNER_CIRCLE_L, MTLOCK_ACCEPT_INNER_CIRCLE_T, MTLOCK_ACCEPT_INNER_CIRCLE_R, MTLOCK_ACCEPT_INNER_CIRCLE_B, "rect_outer_circle_clipper", "Call_button_bg_accept_reject.png", "AO046");
+
+               CREATE_INNER_CIRCLE("accept_inner_circle", MTLOCK_ACCEPT_INNER_CIRCLE_L, MTLOCK_ACCEPT_INNER_CIRCLE_T, MTLOCK_ACCEPT_INNER_CIRCLE_R, MTLOCK_ACCEPT_INNER_CIRCLE_B, "call_btn_ic_accept.png", "AO004")
+       }
+
+       programs {
+               CREATE_PROGRAM_IN_TRANSITION("accept_outer_circle,show", "outer_circle,show", "outer-circle", "show", 0.0, "accept_outer_circle")
+               CREATE_PROGRAM_IN_TRANSITION("accept_outer_circle,hide", "outer_circle,hide", "outer-circle", "hide", 0.0, "accept_outer_circle")
+       }
+}
+
+group {
+       name: "lock_reject";
+
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       mouse_events: 1;
+                       repeat_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               color: COLOR_BG_ALPHA;
+                       }
+               }
+               CREATE_OUTER_CIRCLE_RECT("rect_outer_circle", MTLOCK_REJECT_OUTER_CIRCLE_L, MTLOCK_REJECT_OUTER_CIRCLE_T, MTLOCK_REJECT_OUTER_CIRCLE_R, MTLOCK_REJECT_OUTER_CIRCLE_B)
+               CREATE_OUTER_CIRCLE_CLIP("rect_outer_circle_clipper", MTLOCK_REJECT_OUTER_CIRCLE_L, MTLOCK_REJECT_OUTER_CIRCLE_CLIP_RECT_T, MTLOCK_REJECT_OUTER_CIRCLE_R, MTLOCK_REJECT_OUTER_CIRCLE_CLIP_RECT_B)
+               CREATE_OUTER_CIRCLE("reject_outer_circle", "rect_outer_circle", "call_button_bg_line_accept_reject.png", "rect_outer_circle_clipper", "AO047L1")
+               CREATE_INNER_CIRCLE_SIMPLE_IMAGE("reject_inner_circle_bg", MTLOCK_REJECT_INNER_CIRCLE_L, MTLOCK_REJECT_INNER_CIRCLE_T, MTLOCK_REJECT_INNER_CIRCLE_R, MTLOCK_REJECT_INNER_CIRCLE_B, "rect_outer_circle_clipper", "Call_button_bg_accept_reject.png", "AO047");
+
+               CREATE_INNER_CIRCLE("reject_inner_circle", MTLOCK_REJECT_INNER_CIRCLE_L, MTLOCK_REJECT_INNER_CIRCLE_T, MTLOCK_REJECT_INNER_CIRCLE_R, MTLOCK_REJECT_INNER_CIRCLE_B, "call_btn_ic_reject.png", "AO005")
+       }
+
+       programs {
+               CREATE_PROGRAM_IN_TRANSITION("reject_outer_circle,show", "outer_circle,show", "outer-circle", "show", 0.0, "reject_outer_circle")
+               CREATE_PROGRAM_IN_TRANSITION("reject_outer_circle,hide", "outer_circle,hide", "outer-circle", "hide", 0.0, "reject_outer_circle")
+       }
+}
+
+
+group {
+       name: "lock_reject_with_msg";
+
+       parts {
+               part {
+                       name: "reject_msg_bg";
+                       type: RECT;
+                       mouse_events:1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_BG_L MTLOCK_REJECT_MSG_BG_T;}
+                               rel2 { relative: MTLOCK_REJECT_MSG_BG_R 1.0;}
+                               align: 0.0 0.5;
+                               color: 0 0 0 0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "reject_msg_arw";
+                       type: IMAGE;
+                       mouse_events:1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_ARW_L MTLOCK_REJECT_MSG_ARW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_ARW_R MTLOCK_REJECT_MSG_ARW_B; }
+                               align: 0.5 0.5;
+                               color_class: "AO001";
+                               visible: 0;
+                       }
+                       description {
+                               state: "list_close" 0.0;
+                               inherit: "default" 0.0;
+                               image { normal: IMG_SRC_DIR/"call_inline_button_open.png"; }
+                               visible: 1;
+                       }
+                       description {
+                               state: "list_open" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part {
+                       name: "reject_msg_text_area";
+                       type: SPACER;
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_TEXT_L MTLOCK_REJECT_MSG_TEXT_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_TEXT_R MTLOCK_REJECT_MSG_TEXT_B; }
+                       }
+               }
+               part {
+                       name: "reject_msg_text";
+                       type: TEXT;
+                       mouse_events: 0;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; to: "reject_msg_text_area";}
+                               rel2 { relative: 1 1; to: "reject_msg_text_area";}
+                               fixed: 1 1;
+                               text { font, VC_FONT_REGULAR; align, 0.5 0.5; size:38; }
+                               color_class: "AO001";
+                               visible: 1;
+                               align: 0.5 0.5;
+                       }
+                       description {
+                               state: "list_close" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "list_open" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part {
+                       name: "swl_msglist_bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               color: 255 255 255 255;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_1ITEM_B; }
+                       }
+                       description {
+                               state: "1item" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_1ITEM_B; }
+                       }
+                       description {
+                               state: "2items" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_2ITEMS_B; }
+                       }
+                       description {
+                               state: "3items" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_3ITEMS_B; }
+                       }
+                       description {
+                               state: "4items" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_4ITEMS_B; }
+                       }
+                       description {
+                               state: "5items" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_5ITEMS_B; }
+                       }
+                       description {
+                               state: "6items" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_LIST_NEW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_LIST_6ITEMS_B; }
+                       }
+               }
+
+               part {
+                       name: "swl_msglist";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 { relative: 0.0 0.0; to: "swl_msglist_bg"; }
+                               rel2 { relative: 1.0 1.0; to: "swl_msglist_bg"; }
+                       }
+               }
+               part {
+                       name: "arrow_bg";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               color: 255 255 255 255;
+                               rel1 { relative: MTLOCK_REJECT_MSG_LIST_L MTLOCK_REJECT_MSG_DOWN_ARROW_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_LIST_R MTLOCK_REJECT_MSG_DOWN_ARROW_B; }
+                       }
+               }
+               part {
+                       name: "reject_msg_down_arw";
+                       type: IMAGE;
+                       mouse_events:1;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: MTLOCK_REJECT_MSG_ARW_L MTLOCK_REJECT_MSG_ARW_CLOSE_T; }
+                               rel2 { relative: MTLOCK_REJECT_MSG_ARW_R MTLOCK_REJECT_MSG_ARW_CLOSE_B; }
+                               image { normal: IMG_SRC_DIR/"call_inline_button_close.png"; }
+                               align: 0.5 0.5;
+                               color_class: "AO001";
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "bottom_btn/rect";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               color: 255 255 255 255;
+                               rel1 { relative: MTLOCK_REJECT_MSG_BTN_L MTLOCK_REJECT_MSG_BTN_T;}
+                               rel2 { relative: MTLOCK_REJECT_MSG_BTN_R MTLOCK_REJECT_MSG_BTN_B;}
+                               align: 0.5 0.0;
+                       }
+               }
+               part {
+                       name: "bottom_btn";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {
+                                       relative: (REJ_MSG_LIST_CREATE_MSG_BTN_L_PAD/MTLOCK_REJECT_MSG_LIST_WIDTH) (BUTTON_OFFSET_T/ITEM_SIZE_H);
+                                       to: "bottom_btn/rect";
+                               }
+                               rel2 {
+                                       relative: ((MTLOCK_REJECT_MSG_LIST_WIDTH-REJ_MSG_LIST_CREATE_MSG_BTN_R_PAD)/MTLOCK_REJECT_MSG_LIST_WIDTH) ((BUTTON_REJECT_SIZE_H + BUTTON_OFFSET_T)/ITEM_SIZE_H);
+                                       to: "bottom_btn/rect";
+                               }
+                       }
+               }
+       }
+
+       programs {
+               program {
+                       name: "up_arrow";
+                       signal: "show-up-arrow";
+                       source: "reject_msg";
+                       action: STATE_SET "list_close" 0.0;
+                       target: "reject_msg_arw";
+                       target: "reject_msg_text";
+                       transition: LINEAR 0.0;
+               }
+
+               program {
+                       name: "down_arrow";
+                       signal: "show-down-arrow";
+                       source: "reject_msg";
+                       action: STATE_SET "list_open" 0.0;
+                       target: "reject_msg_arw";
+                       target: "reject_msg_text";
+                       transition: LINEAR 0.0;
+               }
+
+               program {
+                       name: "set_portrait";
+                       signal: "set_portrait";
+                       source: "reject_with_msg_layout";
+                       in: 0.0 0.0;
+                       action: STATE_SET "default" 0.0;
+
+                       target: "reject_msg_bg";
+                       target: "reject_msg_arw";
+                       target: "reject_msg_text_area";
+                       target: "reject_msg_text";
+                       target: "swl_msglist_bg";
+               }
+               program {
+                       name: "1item_list";
+                       signal: "set_1item_list";
+                       source: "";
+                       action: STATE_SET "1item" 0.0;
+                       target: "swl_msglist_bg";
+               }
+               program {
+                       name: "2items_list";
+                       signal: "set_2items_list";
+                       source: "";
+                       action: STATE_SET "2items" 0.0;
+                       target: "swl_msglist_bg";
+               }
+               program {
+                       name: "3items_list";
+                       signal: "set_3items_list";
+                       source: "";
+                       action: STATE_SET "3items" 0.0;
+                       target: "swl_msglist_bg";
+               }
+               program {
+                       name: "4items_list";
+                       signal: "set_4items_list";
+                       source: "";
+                       action: STATE_SET "4items" 0.0;
+                       target: "swl_msglist_bg";
+               }
+               program {
+                       name: "5items_list";
+                       signal: "set_5items_list";
+                       source: "";
+                       action: STATE_SET "5items" 0.0;
+                       target: "swl_msglist_bg";
+               }
+               program {
+                       name: "6items_list";
+                       signal: "set_6items_list";
+                       source: "";
+                       action: STATE_SET "6items" 0.0;
+                       target: "swl_msglist_bg";
+               }
+       }
+}
+
+group {
+       name: "dimming_ly";
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               color_class: "AO012";
+                               visible: 1;
+                       }
+               }
+       }
+}
+
diff --git a/res/call_edc/callui-view-lock-screen.edc b/res/call_edc/callui-view-lock-screen.edc
new file mode 100755 (executable)
index 0000000..614a418
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+styles {
+       style {
+               name: "lock_screen_txt_style";
+               base: "font="VC_FONT_REGULAR" font_size=30 color=#FFFFFF color_class:"ATO011" align=center text_class="ATO011" wrap=mixed";
+               tag: "br" "\n";
+               tag: "tab" "\t";
+       }
+}
+
+group {
+       name: "lock-screen";
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                       }
+               }
+
+               part { name: "bg_img";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; to: "background";}
+                               rel2 { relative: 1 1; to: "background";}
+                               image {
+                                       normal: IMG_SRC_DIR/"without_proximity_seneor_bg.png";
+                               }
+                               aspect_preference: BOTH;
+                               align: 0.0 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: "lock-icon";
+                       type: IMAGE;
+                       scale: 1;
+                       mouse_events: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {relative: LOCK_SCREEN_ICON_L LOCK_SCREEN_ICON_T; to: background; }
+                               rel2 {relative: LOCK_SCREEN_ICON_R LOCK_SCREEN_ICON_B; to: background; }
+                               image.normal: IMG_SRC_DIR/"call_lock_icon.png";
+                               aspect_preference: SOURCE;
+                       }
+               }
+
+               part {
+                       name: "lock-text";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1 {relative: LOCK_SCREEN_TEXT_L LOCK_SCREEN_TEXT_T; to: background; }
+                               rel2 {relative: LOCK_SCREEN_TEXT_R LOCK_SCREEN_TEXT_B; to: background; }
+                               text {
+                                       style: "lock_screen_txt_style";
+                                       text_class: "ATO011";
+                                       align: 0 0;
+                               }
+                               color_class: "ATO011";
+                       }
+               }
+
+
+       }
+}
+
diff --git a/res/call_edc/callui-view-main-layout.edc b/res/call_edc/callui-view-main-layout.edc
new file mode 100644 (file)
index 0000000..56fe3c8
--- /dev/null
@@ -0,0 +1,760 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+#include "../../include/callui-view-caller-info-defines.h"
+
+#define ACTION_PANEL_WIDTH 720
+#define ACTION_OFFSET_X 308
+#define ACTION_OFFSET_Y 24
+#define ACTION_HEIGHT 169
+#define ACTION_HEIGHT_OFFSET_Y 24
+
+styles {
+       style {
+               name: "call_timer_style";
+                base: "font="VC_FONT_REGULAR" font_size=24 color=#FFFFFF color_class:"ATO007" align=right text_class:"ATO007" wrap=mixed ellipsis=1.0";
+                tag: "br" "\n";
+                tag: "tab" "\t";
+       }
+}
+
+group {
+    name: "main_ly";
+       parts {
+               part { name: "background";
+                       type: IMAGE;
+                       description {
+                               state: "default" 0.0;
+                               image.normal: "background.png";
+                       }
+               }
+               part {
+                       name: "textblock_bg";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 KEYPAD_ENTRY_TEXT_T; to: "background"; }
+                               rel2 { relative: 1 KEYPAD_ENTRY_TEXT_B; to: "background"; }
+                               color: 0 0 0 0;
+                               //color_class: "AO001";
+                               visible: 1;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_TEXTBLOCK_AREA;
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               align: 0.5 1.0;
+                               rel1 { relative: KEYPAD_ENTRY_TEXT_L 0; to: "textblock_bg"; }
+                               rel2 { relative: KEYPAD_ENTRY_TEXT_R 1; to: "textblock_bg"; }
+                               visible: 1;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part {
+                       name: "call_info_upper/rect";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 CALLER_INFO_STATUS_T_PAD/MAIN_SCREEN_H; to: "background"; }
+                               rel2 { relative: 1 (CALLER_INFO_STATUS_T_PAD+CALLER_INFO_STATUS_HEIGHT)/MAIN_SCREEN_H; to: "background"; }
+                               color: 0 0 0 0;
+                       }
+               }
+
+               part {
+                       name: "call_info_lower/rect";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 ((CALLER_INFO_STATUS_T_PAD+CALLER_INFO_STATUS_HEIGHT)/MAIN_SCREEN_H); to: "background"; }
+                               rel2 { relative: 1 ((CALLER_INFO_STATUS_T_PAD+CALLER_INFO_STATUS_HEIGHT+CALLER_INFO_STATUS_HEIGHT)/MAIN_SCREEN_H); to: "background"; }
+                               color: 0 0 0 0;
+                       }
+               }
+
+               part { name: "extra_volume_icon_swallow";       /*Call time or Call status*/
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; to_x: "icon_padding"; to_y: "call_info_upper/rect";}
+                               rel2 { relative: 0 1; to_x: "icon_padding"; to_y: "call_info_upper/rect";}
+                               max: 27 27;
+                               min: 27 27;
+                               fixed: 1 1;
+                               align: 1.0 0.5;
+                       }
+
+               }
+
+               part { name: "icon_padding";
+                       type: SPACER;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 0;
+                               min: 7 0;
+                               align: 1 0;
+                               rel1 { relative: 0 0; to: "resume_icon_swallow";}
+                               rel2 { relative: 0 1; to: "resume_icon_swallow";}
+                       }
+               }
+
+               part { name: "resume_icon_swallow";     /*Call time or Call status*/
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; to_x: "txt_padding"; to_y: "call_info_upper/rect";}
+                               rel2 { relative: 0 1; to_x: "txt_padding"; to_y: "call_info_upper/rect";}
+                               max: 27 27;
+                               min: 27 27;
+                               fixed: 1 1;
+                               align: 1.0 0.5;
+                       }
+               }
+
+               part { name: "txt_padding";
+                       type: SPACER;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 0;
+                               min: 14 0;
+                               align: 1 0;
+                               rel1 { relative: 0 0; to: "txt_timer";}
+                               rel2 { relative: 0 1; to: "txt_timer";}
+                       }
+               }
+
+               part { name: "call_txt_status";
+                       type: TEXT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: CALLER_INFO_STATUS_L 0; to: "call_info_upper/rect";}
+                               rel2 { relative: 1 1;  to: "call_info_upper/rect";}
+                               fixed: 1 1;
+                               text {
+                                       align: 0 0.5;
+                                       text_class: "ATO001";
+                               }
+                               align: 0 0.5;
+                               max: CALL_STATUS_MAX_TEXT_WIDTH CALLER_INFO_STATUS_HEIGHT;
+                               color_class: "ATO001";
+                       }
+               }
+
+               /* CALL TIME*/
+               part { name: "txt_timer";       /*Call time or Call status*/
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: CALLER_INFO_STATUS_R 0; to: "call_info_upper/rect";}
+                               rel2 { relative: CALLER_INFO_STATUS_R 1; to: "call_info_upper/rect";}
+                               text {
+                                       align: 1 0.5;
+                                       min: 1 0;
+                                       style: "call_timer_style";
+                                       text_class: "ATO007";
+                               }
+                               align: 1 0.5;
+                               max: TXT_TIMER_MAX_TEXT_WIDTH CALLER_INFO_STATUS_HEIGHT;
+                               fixed: 1 1;
+                               color_class: "ATO007";
+                       }
+               }
+
+               part { name: "rec_timer";       /*recording Call time */
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: CALLER_INFO_STATUS_R 0; to: "call_info_lower/rect";}
+                               rel2 { relative: CALLER_INFO_STATUS_R 1; to: "call_info_lower/rect";}
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                               text {
+                                       min: 1 0;
+                                       style: "call_timer_style";
+                                       text_class: ATO032;
+                               }
+                               align: 1 0.5;
+                               color_class: ATO032;
+                               max: TXT_TIMER_MAX_TEXT_WIDTH+10 CALLER_INFO_STATUS_HEIGHT;
+                               fixed: 1 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part { name: "rec_image_spacer";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {relative: 0.0 0.0; to: "rec_timer";}
+                               rel2 {relative: 0.0 1.0; to: "rec_timer";}
+                               visible: 0;
+                               align: 1 0;
+                               min: 5 30;
+                               max: 5 30;
+                               fixed: 0 0;
+                       }
+               }
+
+               part { name: "rec_image";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {relative: 0.0 0.0; to: "rec_image_spacer";}
+                               rel2 {relative: 0.0 1.0; to: "rec_image_spacer";}
+                               image.normal: IMG_SRC_DIR/"call_during_record.png" ;
+                               aspect_preference: SOURCE;
+                               min:30 30;
+                               align: 1.0 0.5;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default";
+                               visible: 0;
+                       }
+               }
+
+               part { name: "caller_info_rect";
+                                               type: RECT;
+                                               scale: 1;
+                                               description {
+                                                               state: "default" 0.0;
+                                                               visible: 1;
+                                                               rel1 { relative: CALLER_INFO_L CALLER_INFO_T; to: "background";}
+                                                               rel2 { relative: CALLER_INFO_R CALLER_INFO_B; to: "background";}
+                                                               color: COLOR_BG_ALPHA;
+                                                               //min: CALLER_INFO_WIDTH CALLER_INFO_HEIGHT;
+                                               }
+               }
+
+               part { name: "caller_info";
+                               type: SWALLOW;
+                               scale: 1;
+                               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";}
+                               }
+                               description {
+                                       state: "show" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 1;
+                               }
+                               description {
+                                       state: "hide" 0.0;
+                                       inherit: "default" 0.0;
+                                       visible: 0;
+                               }
+               }
+
+               part { name: "circle_btn_area";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 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;
+                               color: 255 255 255 255;
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "btn_area";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                               state: "default" 0.0;
+                                               visible: 1;
+                                               rel1{ relative: SIX_BTN_LAYOUT_L SIX_BTN_LAYOUT_T; to: "background";}
+                                               rel2{ relative: SIX_BTN_LAYOUT_R SIX_BTN_LAYOUT_B; to: "background";}
+                                               color: COLOR_BG_ALPHA;
+                                               align: 0.5 0.0;
+                               }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part { name: PART_SWALLOW_KEYPAD;
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: 0 KEYPAD_AREA_T_HIDE; to: "background";}
+                               rel2 { relative: 1 KEYPAD_AREA_B_HIDE; to: "background";}
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                               rel1 { relative: 0 0; to: "background";}
+                               rel2 { relative: 1 (KEYPAD_AREA_H / TOTAL_H); to: "background";}
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: 0 KEYPAD_AREA_T_HIDE; to: "background";}
+                               rel2 { relative: 1 KEYPAD_AREA_B_HIDE; to: "background";}
+                       }
+               }
+
+               part { name: "btn_region";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: 0.0 0.0; to: "btn_area";}
+                               rel2 { relative: 1.0 1.0; to: "btn_area";}
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part { name: "btn_bg";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: ENDSINGLECALL_BTN_BG_L ENDSINGLECALL_BTN_BG_T; to: "background";}
+                               rel2 { relative: ENDSINGLECALL_BTN_BG_R ENDSINGLECALL_BTN_BG_B; to: "background";}
+                       }
+               }
+
+               part { name: "bottom_btn_bg";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               color: 255 255 255 255;
+                               rel1 { relative: BOTTOM_BTN_LAYOUT_L BOTTOM_BTN_LAYOUT_T; to: "background";}
+                               rel2 { relative: BOTTOM_BTN_LAYOUT_R BOTTOM_BTN_LAYOUT_B; to: "background";}
+                               align: 0.5 0.0;
+                               min: 320 72;
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "three_btn_voicecall";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: ENDSINGLECALL_CALL_BTN_BG_L 17/BOTTOM_BTN_BG_HEIGHT; to: "bottom_btn_bg";}
+                               rel2 { relative: ENDSINGLECALL_CALL_BTN_BG_R 91/BOTTOM_BTN_BG_HEIGHT; to: "bottom_btn_bg";}
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "three_btn_message";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: ENDSINGLECALL_MSG_BTN_BG_L 17/BOTTOM_BTN_BG_HEIGHT; to: "bottom_btn_bg";}
+                               rel2 { relative: ENDSINGLECALL_MSG_BTN_BG_R 91/BOTTOM_BTN_BG_HEIGHT; to: "bottom_btn_bg";}
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "btn_view_contacts";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: ENDSINGLECALL_VIEW_CONTACT_BTN_L ENDSINGLECALL_VIEW_CONTACT_BTN_T; to: "btn_bg";}
+                               rel2 { relative: ENDSINGLECALL_VIEW_CONTACT_BTN_R ENDSINGLECALL_VIEW_CONTACT_BTN_B; to: "btn_bg";}
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "btn_create_contacts";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: ENDSINGLECALL_CREATE_CONTACT_BTN_L ENDSINGLECALL_CREATE_CONTACT_BTN_T; to: "btn_bg";}
+                               rel2 { relative: ENDSINGLECALL_CREATE_CONTACT_BTN_R ENDSINGLECALL_CREATE_CONTACT_BTN_B; to: "btn_bg";}
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "btn_update";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: ENDSINGLECALL_UPDATE_CONTACT_BTN_L ENDSINGLECALL_UPDATE_CONTACT_BTN_T; to: "btn_bg";}
+                               rel2 { relative: ENDSINGLECALL_UPDATE_CONTACT_BTN_R ENDSINGLECALL_UPDATE_CONTACT_BTN_B; to: "btn_bg";}
+                               align: 0.5 0.0;
+                       }
+                       description {
+                               state: "visible" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part { name: "end_btn_area";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       visible: 1;
+                                       rel1{ relative: BOTTOM_BTN_LAYOUT_L ((MAIN_SCREEN_H - ENDCALL_BTN_BG_HEIGHT)/MAIN_SCREEN_H); to: "background";}
+                                       rel2{ relative: BOTTOM_BTN_LAYOUT_R 1.0; to: "background";}
+                                       min: 320 72;
+                                       color: 255 255 255 255;
+                                       align: 0.5 1.0;
+                               }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part { name: PART_END_BTN;
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 1;
+                               rel1{ relative: (ACTION_OFFSET_X/ACTION_PANEL_WIDTH) ACTION_HEIGHT_OFFSET_Y/ACTION_HEIGHT; to: "end_btn_area";}
+                               rel2{ relative: ((ACTION_PANEL_WIDTH-ACTION_OFFSET_X)/ACTION_PANEL_WIDTH) ((ACTION_HEIGHT-ACTION_HEIGHT_OFFSET_Y)/ACTION_HEIGHT); to: "end_btn_area";}
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+       }//parts
+
+       programs {
+               program { name: "show_recording_timer";
+                       signal: "recording_time_show";
+                       source: "rec_timer";
+                       action: STATE_SET "show" 0.0;
+                       target: "rec_timer";
+                       target: "rec_image";
+               }
+               program { name: "hide_recording_timer";
+                       signal: "recording_time_hide";
+                       source: "rec_timer";
+                       action: STATE_SET "hide" 0.0;
+                       target: "rec_timer";
+                       target: "rec_image";
+               }
+               program { name: "show_effect_allbtn";
+                       signal: "SHOW_EFFECT";
+                       source: "ALLBTN";
+                       action: STATE_SET "show" 0.0;
+                       transition: DECELERATE 0.5; //LINEAR 1.0;
+                       target: "btn_region";
+               }
+               program { name: "show_no_effect_allbtn";
+                       signal: "SHOW_NO_EFFECT";
+                       source: "ALLBTN";
+                       action: STATE_SET "show" 0.0;
+                       target: "btn_region";
+               }
+               program { name: "hide_btn_ly";
+                       signal: "HIDE_BTN_LY";
+                       source: "ALLBTN";
+                       action: STATE_SET "hide" 0.0;
+                       target: "btn_region";
+               }
+
+               program { name: "show_keypadbtn";
+                       action: STATE_SET "show" 0.0;
+                       transition: LINEAR 0.25;
+                       target: PART_SWALLOW_KEYPAD;
+               }
+               program { name: "show_keypadbtn_no_effect";
+                       signal: "SHOW";
+                       source: "KEYPAD_BTN";
+                       action: STATE_SET "hide" 0.0;
+                       target: "caller_info";
+                       target: "btn_region";
+                       after: "show_entry";
+                       after: "show_keypadbtn";
+               }
+
+               program {
+                       name: "show_entry";
+                       action: STATE_SET "show" 0.0;
+                       target: PART_SWALLOW_TEXTBLOCK_AREA;
+                       target: "textblock_bg";
+               }
+
+               program { name: "hide_keypadarea";
+                       signal: "HIDE";
+                       source: "KEYPAD_AREA";
+                       action: STATE_SET "hide" 0.0;
+                       target: PART_SWALLOW_KEYPAD;
+                       after: "show_caller_info";
+               }
+
+               program { name: "hide_keypadbtn";
+                       signal: "HIDE";
+                       source: "KEYPAD_BTN";
+                       action: STATE_SET "default" 0.0;
+                       transition: LINEAR 0.25;
+                       target: PART_SWALLOW_KEYPAD;
+                       after: "show_six_btns";
+                       after: "show_caller_info";
+               }
+               program { name: "show_six_btns";
+                       action: STATE_SET "show" 0.0;
+                       target: "btn_region";
+               }
+
+               program {
+                       name: "show_caller_info";
+                       action: STATE_SET "default" 0.0;
+                       target: "caller_info";
+                       after: "hide_entry";
+               }
+
+               program {
+                       name: "hide_entry";
+                       action: STATE_SET "hide" 0.0;
+                       target: PART_SWALLOW_TEXTBLOCK_AREA;
+                       target: "textblock_bg";
+               }
+
+               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_id";
+                       target: "caller_info";
+                       target: "btn_region";
+                       target: PART_SWALLOW_KEYPAD;
+               }
+
+               program { name: "show_1_btns";
+                       signal: "show_end_menu_1_btns";
+                       source: "show_1_btns";
+                       action: STATE_SET "visible" 0.0;
+                       target: "bottom_btn_bg";
+//                     target: "three_btn_videocall";
+                       target: "three_btn_voicecall";
+                       target: "three_btn_message";
+                       target: "btn_view_contacts";
+                       target: "btn_create_contacts";
+                       target: "btn_update";
+               }
+
+               program { name: "show_2_btns";
+                       signal: "show_end_menu_2_btns";
+                       source: "show_2_btns";
+                       action: STATE_SET "visible" 0.0;
+                       target: "bottom_btn_bg";
+//                     target: "three_btn_videocall";
+                       target: "three_btn_voicecall";
+                       target: "three_btn_message";
+                       target: "btn_view_contacts";
+                       target: "btn_create_contacts";
+                       target: "btn_update";
+               }
+
+               program {
+                       name: "set_portrait_1_btn";
+                       signal: "set_portrait_1_btn";
+                       source: "end_singlecall_1_btn";
+                       in: 0.0 0.0;
+                       action: STATE_SET "default" 0.0;
+
+                       target: "background";
+                       target: "caller_info";
+                       target: "btn_bg";
+                       target: "bottom_btn_bg";
+//                     target: "three_btn_videocall";
+                       target: "three_btn_voicecall";
+                       target: "three_btn_message";
+                       target: "btn_view_contacts";
+                       target: "btn_create_contacts";
+                       target: "btn_update";
+               }
+
+               program {
+                       name: "set_portrait_2_btn";
+                       signal: "set_portrait_2_btn";
+                       source: "end_singlecall_2_btn";
+                       in: 0.0 0.0;
+                       action: STATE_SET "default" 0.0;
+
+                       target: "background";
+                       target: "caller_info";
+                       target: "btn_bg";
+                       target: "bottom_btn_bg";
+//                     target: "three_btn_videocall";
+                       target: "three_btn_voicecall";
+                       target: "three_btn_message";
+                       target: "btn_view_contacts";
+                       target: "btn_create_contacts";
+                       target: "btn_update";
+               }
+
+               program { name: "show_mt_circle_bg";
+                       signal: "mt_circle_bg_show";
+                       source: "mt_view";
+                       action: STATE_SET "show" 0.0;
+                       target: "circle_btn_area";
+               }
+               program { name: "hide_mt_circle_bg";
+                       signal: "mt_circle_bg_hide";
+                       source: "mt_view";
+                       action: STATE_SET "default" 0.0;
+                       target: "circle_btn_area";
+               }
+
+               program { name: "show_end_btn_bg";
+                       signal: "show_end_btn_bg";
+                       source: "main_ly";
+                       action: STATE_SET "show" 0.0;
+                       target: "end_btn_area";
+               }
+               program { name: "hide_end_btn_bg";
+                       signal: "hide_end_btn_bg";
+                       source: "main_ly";
+                       action: STATE_SET "hide" 0.0;
+                       target: "end_btn_area";
+               }
+       }
+}
diff --git a/res/call_edc/callui-view-multi-call-list.edc b/res/call_edc/callui-view-multi-call-list.edc
new file mode 100755 (executable)
index 0000000..0ac2a80
--- /dev/null
@@ -0,0 +1,117 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+group {
+       name: "multicall-list";
+       parts {
+               part { name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color_class: "AO052";
+                       }
+               }
+
+               part {
+                       name: "call_info_upper/rect";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 INDICATOR_HEIGHT/MULTI_LIST_HEIGHT; to: "background"; }
+                               rel2 { relative: 1 (INDICATOR_HEIGHT+51)/MULTI_LIST_HEIGHT; to: "background"; }
+                               color_class: "AO052";
+                       }
+               }
+               part { name: "call_txt_status";
+                       type: TEXT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 15/480 0; to: "call_info_upper/rect";}
+                               rel2 { relative: 1 1;  to: "call_info_upper/rect";}
+                               fixed: 1 1;
+                               text {
+                                       align: 0 0.5;
+                                       text_class: "ATO016";
+                               }
+                               color_class: "ATO016";
+                       }
+               }
+
+               /* CALL TIME*/
+               part { name: "txt_timer";       /*Call time or Call status*/
+                       type: TEXT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 0; to: "call_info_upper/rect";}
+                               rel2 { relative: (480-15)/480 1; to: "call_info_upper/rect";}
+                               fixed: 1 1;
+                               text {
+                                       align: 1 0.5;
+                                       text_class: "ATO017";
+                               }
+                               color_class: "ATO017";
+                       }
+               }
+
+               part { name: "swl_calllist";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 (INDICATOR_HEIGHT+51)/MULTI_LIST_HEIGHT; to: "background"; }
+                               rel2 { relative: 1 (MULTI_LIST_HEIGHT-BOTTOM_BTN_BG_HEIGHT)/MULTI_LIST_HEIGHT; to: "background"; }
+                       }
+               }
+
+               part {
+                       name: "bottom_btn/rect";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: 0 (MULTI_LIST_HEIGHT-BOTTOM_BTN_BG_HEIGHT)/MULTI_LIST_HEIGHT; to: "background"; }
+                               rel2 { relative: 1 1; to: "background"; }
+                               color: 255 255 255 255;
+                       }
+               }
+
+               part {
+                       name: "bottom_btn";
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: BACK_BTN_L 0; to:"bottom_btn/rect"; }
+                               rel2 { relative: BACK_BTN_R 1; to:"bottom_btn/rect"; }
+                       }
+               }
+       }//parts
+
+       programs {
+               program {
+                       name: "set_portrait";
+                       signal: "set_portrait";
+                       source: "multicall_list_layout";
+                       in: 0.0 0.0;
+                       action: STATE_SET "default" 0.0;
+
+                       target: "background";
+                       target: "swl_calllist";
+               }
+       }
+}
diff --git a/res/call_edc/callui-view-one-hold-in-conference.edc b/res/call_edc/callui-view-one-hold-in-conference.edc
new file mode 100644 (file)
index 0000000..63deff5
--- /dev/null
@@ -0,0 +1,536 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../../include/callui-view-caller-info-defines.h"
+
+images {
+       image: "call_ic_controll_01.png" COMP;
+       image: "call_multi_hold_bg.png" COMP;
+       image: "call_multi_hold_btn_merge_bg.png" COMP;
+       image: "call_multi_hold_btn_swap_bg.png" COMP;
+       image: "background.png" COMP;
+}
+
+styles {
+       style {
+               name: "ATO006";
+               base: "font="VC_FONT_REGULAR" font_size=56 color=#FFFAFAFF ellipsis=1.0";
+       }
+       style {
+               name: "ATO007";
+               base: "font="VC_FONT_REGULAR" font_size=34 color=#FFFAFAFF ellipsis=1.0";
+       }
+       style {
+               name: "ATO008";
+               base: "font="VC_FONT_REGULAR" font_size=27 color=#FFFAFAFF align=center";
+       }
+}
+
+#define MERGE_SWAP_BTN(NAME, BG_IMAGE, ICON, BG_COLOR, PRESSED_COLOR) \
+       group { \
+               name: NAME; \
+               images.image: ICON COMP; \
+               parts { \
+                       part { \
+                               name: "background"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: BG_IMAGE; \
+                                       color_class: BG_COLOR; \
+                               } \
+                               description { \
+                                       state: "pressed" 0.0; \
+                                       image.normal: BG_IMAGE; \
+                                       color_class: PRESSED_COLOR; \
+                               } \
+                       } \
+                       part { \
+                               name: "icon"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       rel1.relative: MS_BTN_ICON_L MS_BTN_ICON_T; \
+                                       rel2.relative: MS_BTN_ICON_R MS_BTN_ICON_B; \
+                                       image.normal: ICON; \
+                               } \
+                       } \
+                       part { \
+                               name: PART_TEXT_MERGE_SWAP_BTN; \
+                               type: TEXTBLOCK; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       rel1 { \
+                                               relative: 0.0 1.0; \
+                                               to_y: "icon"; \
+                                       } \
+                                       rel2.relative: 1.0 MS_BTN_TEXT_B; \
+                                       text { \
+                                               style: "ATO008"; \
+                                       } \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { \
+                               name: "pressed" ; \
+                               signal: "mouse,down,*"; \
+                               source: "*"; \
+                               action: STATE_SET "pressed" 0.0; \
+                               target: "background"; \
+                       } \
+                       program { \
+                               name: "unpressed" ; \
+                               signal: "mouse,up,*"; \
+                               source: "*"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "background"; \
+                       } \
+               } \
+       }
+
+group {
+       name: GROUP_ACTIVE_HOLD_INFO;
+       parts {
+               part {
+                       name: "background";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               image.normal: "call_multi_hold_bg.png";
+                               color: 0 0 0 200;
+                       }
+                       description {
+                               state: "transparent" 0.0;
+                               image.normal: "call_multi_hold_bg.png";
+                               color: 0 0 0 0;
+                       }
+               }
+
+               part {
+                       name: PART_TEXT_STATUS;
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: CALLER_INF_L CALLER_INF_STATUS_T;
+                               rel2.relative: CALLER_INF_STATUS_R CALLER_INF_STATUS_B;
+                               text {
+                                       align: 0.0 0.0;
+                                       style: "ATO007";
+                               }
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_CALLER_ID;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               align: 0.0 0.0;
+                               rel1.relative: CALLER_INF_L CALLER_INF_ID_T;
+                               rel2.relative: CALLER_INF_ID_R CALLER_INF_ID_B;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part {
+                       name: PART_TEXT_MAIN;
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: CALLER_INF_TEXT_L CALLER_INF_ID_T;
+                               text {
+                                       align: 0.0 0.0;
+                                       style: "ATO006";
+                               }
+                       }
+               }
+
+               part {
+                       name: PART_TEXT_SUB;
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: CALLER_INF_TEXT_L CALLER_INF_SUBTEXT_T;
+                               text {
+                                       align: 0.0 0.0;
+                                       style: "ATO007";
+                               }
+                       }
+               }
+
+               part {
+                       name: "arrow";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1.relative: ARROW_L ARROW_T;
+                               rel2.relative: ARROW_R ARROW_B;
+                               image.normal: "call_ic_controll_01.png";
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               inherit: "show" 0.0;
+                               color_class: "pressed";
+                       }
+               }
+       }
+       programs{
+               program {
+                       name: "set_transparent_background";
+                       signal: SIGNAL_SET_TRANSPARENT_BACKGROUND;
+                       action: STATE_SET "transparent" 0.0;
+                       target: "background";
+               }
+               program {
+                       name: "set_blurred_background";
+                       signal: SIGNAL_SET_BLURRED_BACKGROUND;
+                       action: STATE_SET "default" 0.0;
+                       target: "background";
+               }
+               program {
+                       name: "show_arrow";
+                       signal: SIGNAL_SHOW_ARROW;
+                       action: STATE_SET "show" 0.0;
+                       target: "arrow";
+               }
+               program {
+                       name: "hide_arrow";
+                       signal: SIGNAL_HIDE_ARROW;
+                       action: STATE_SET "hide" 0.0;
+                       target: "arrow";
+               }
+               program {
+                       name: "arrow_pressed";
+                       signal: "mouse,down,*";
+                       source: "arrow";
+                       action: STATE_SET "pressed" 0.0;
+                       target: "arrow";
+               }
+               program {
+                       name: "arrow_unpressed";
+                       signal: "mouse,up,*";
+                       source: "arrow";
+                       action: STATE_SET "default" 0.0;
+                       target: "arrow";
+               }
+       }
+}
+
+MERGE_SWAP_BTN(GROUP_MERGE_BTN, "call_multi_hold_btn_merge_bg.png", "call_extra_merge.png", "merge_btn_bg", "pressed")
+MERGE_SWAP_BTN(GROUP_SWAP_BTN, "call_multi_hold_btn_swap_bg.png", "call_extra_swap.png", "swap_btn_bg", "pressed")
+
+group {
+       name: GROUP_BTN_REGION;
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: 0 0 0 0;
+                       }
+               }
+               part {
+                       name: PART_TOP_FIRST_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 0.0;
+                               rel2.relative: 0.33 0.5;
+                       }
+               }
+               part {
+                       name: PART_TOP_SECOND_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.33 0.0;
+                               rel2.relative: 0.66 0.5;
+                       }
+               }
+               part {
+                       name: PART_TOP_THIRD_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.66 0.0;
+                               rel2.relative: 1.0 0.5;
+                       }
+               }
+               part {
+                       name: PART_BOTTOM_FIRST_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 0.5;
+                               rel2.relative: 0.33 1.0;
+                       }
+               }
+               part {
+                       name: PART_BOTTOM_SECOND_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.33 0.5;
+                               rel2.relative: 0.66 1.0;
+                       }
+               }
+               part {
+                       name: PART_BOTTOM_THIRD_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.66 0.5;
+                               rel2.relative: 1.0 1.0;
+                       }
+               }
+       }
+}
+
+group {
+       name: GROUP_ACTION_PANEL;
+       parts {
+               part {
+                       name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color_class: "AO008";
+                       }
+               }
+               part {
+                       name: PART_END_BTN;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: END_BUTTON_L END_BUTTON_T;
+                               rel2.relative: END_BUTTON_R END_BUTTON_B;
+                       }
+               }
+       }
+}
+
+group {
+       name: GROUP_ONE_HOLD_IN_CONFERENCE;
+       parts {
+               part {
+                       name: "background";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               image.normal: "background.png";
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_HOLD_INFO;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: HOLD_LAYOUT_L HOLD_LAYOUT_T;
+                               rel2.relative: HOLD_LAYOUT_R HOLD_LAYOUT_B;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_MERGE;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: MERGE_BTN_L MERGE_SWAP_BTN_T;
+                               rel2.relative: MERGE_BTN_R MERGE_SWAP_BTN_B;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_SWAP;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: SWAP_BTN_L MERGE_SWAP_BTN_T;
+                               rel2.relative: SWAP_BTN_R MERGE_SWAP_BTN_B;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_ACTIVE_INFO;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: ACTIVE_INFO_L ACTIVE_INFO_T;
+                               rel2.relative: ACTIVE_INFO_R ACTIVE_INFO_B;
+                       }
+               }
+       }
+}
+
+group {
+       name: GROUP_SPLIT;
+       parts {
+                       part {
+                       name: "background";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               image.normal: "background.png";
+                       }
+               }
+               part {
+                       name: PART_SWALLOW_BACKGROUND;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_CALL_INFO;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 0.0;
+                               rel2.relative: 1.0 ONE_HOLD_B;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_BTN_REGION;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1.relative: 0.0 SIX_BUTTON_LAYOUT_T;
+                               rel2.relative: 1.0 SIX_BUTTON_LAYOUT_B;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_TEXTBLOCK_AREA;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               align: 0.5 0.0;
+                               rel1 {
+                                       relative: 0.0 0.5;
+                                       to_y: PART_SWALLOW_CALL_INFO;
+                               }
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_KEYPAD;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1.relative: 0.0 1.0;
+                               rel2.relative: 1.0 2.0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               visible: 1;
+                               rel1.relative: 0.0 0.0;
+                               rel2 {
+                                       relative: 1.0 0.0;
+                                       to_y: PART_SWALLOW_ACTIONS_PANEL;
+                               }
+                       }
+               }
+
+               part {
+                       name: PART_SWALLOW_ACTIONS_PANEL;
+                       type: SWALLOW;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {
+                                       relative: 0.0 1.0;
+                                       to_y: PART_SWALLOW_BTN_REGION;
+                               }
+                               rel2.relative: 1.0 1.0;
+                       }
+               }
+       }
+       programs {
+               program {
+                       name: "show_keypad";
+                       signal: "SHOW";
+                       source: "KEYPAD_BTN";
+                       action: STATE_SET "hide" 0.0;
+                       target: PART_SWALLOW_CALL_INFO;
+                       after: "show_entry";
+                       after: "show_keypad_animation";
+               }
+
+               program { name: "hide_keypad";
+                       signal: "HIDE";
+                       source: "KEYPAD_BTN";
+                       action: STATE_SET "default" 0.0;
+                       transition: LINEAR 0.25;
+                       target: PART_SWALLOW_KEYPAD;
+                       target: PART_SWALLOW_CALL_INFO;
+                       target: PART_SWALLOW_TEXTBLOCK_AREA;
+               }
+
+               program {
+                       name: "show_keypad_animation";
+                       action: STATE_SET "show" 0.0;
+                       transition: LINEAR 0.25;
+                       target: PART_SWALLOW_KEYPAD;
+               }
+
+               program {
+                       name: "show_entry";
+                       action: STATE_SET "show" 0.0;
+                       target: PART_SWALLOW_TEXTBLOCK_AREA;
+               }
+       }
+}
diff --git a/res/call_edc/callui-view-quick-pannel-landscape.edc b/res/call_edc/callui-view-quick-pannel-landscape.edc
new file mode 100644 (file)
index 0000000..1b90575
--- /dev/null
@@ -0,0 +1,424 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+#define SCREEN_W 1280
+#define SCREEN_H 172
+
+#define RECT_QP_W(x) ((x)/SCREEN_W)
+#define RECT_QP_H(y) ((y)/SCREEN_H)
+
+#define BUTTON_OFFSET 40
+#define TEXT_OFFSET 30
+#define BUTTON_OFFSET_LAST_W 32
+#define BUTTON_OFFSET_LAST_H 42
+#define BUTTON_SIZE 90
+#define IMAGE_SIZE 96
+#define TEXT_SIZE 98
+#define TEXT_NAME_SIZE 55
+
+#define RECT_QT_BUTTON_X0(x)(RECT_QP_W(SCREEN_W - ((x * BUTTON_SIZE) + BUTTON_OFFSET_LAST_W + ((x - 1) * BUTTON_OFFSET))))
+#define RECT_QT_BUTTON_X1(x)(RECT_QP_W(SCREEN_W - ((x * BUTTON_SIZE) + BUTTON_OFFSET_LAST_W + (x * BUTTON_OFFSET))))
+
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_X0 RECT_QP_W(((2 * BUTTON_OFFSET_LAST_W) + IMAGE_SIZE))
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_Y0 RECT_QP_H(TEXT_OFFSET)
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_X1 RECT_QT_BUTTON_X0(2)
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_Y1 RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H))
+
+#define CALL_QUICKPANEL_TEXT_RECT_DURING_X0 RECT_QP_W(BUTTON_OFFSET_LAST_W)
+#define CALL_QUICKPANEL_TEXT_RECT_DURING_X1 RECT_QT_BUTTON_X0(3)
+
+#define CALL_QUICKPANEL_CONTACT_IMAGE_X0 RECT_QP_W(BUTTON_OFFSET_LAST_W)
+#define CALL_QUICKPANEL_CONTACT_IMAGE_Y0 RECT_QP_H(TEXT_OFFSET)
+#define CALL_QUICKPANEL_CONTACT_IMAGE_X1 RECT_QP_W(BUTTON_OFFSET_LAST_W + IMAGE_SIZE)
+#define CALL_QUICKPANEL_CONTACT_IMAGE_Y1 RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H))
+
+#define CALL_QUICKPANEL_CONTACT_NAME_X0 (0.0)
+#define CALL_QUICKPANEL_CONTACT_NAME_Y0 (0.0)
+#define CALL_QUICKPANEL_CONTACT_NAME_X1 (1.0)
+#define CALL_QUICKPANEL_CONTACT_NAME_Y1 (TEXT_NAME_SIZE/TEXT_SIZE)
+
+#define CALL_QUICKPANEL_TIMER_X0 (0.0)
+#define CALL_QUICKPANEL_TIMER_Y0 (TEXT_NAME_SIZE/TEXT_SIZE)
+#define CALL_QUICKPANEL_TIMER_X1 (1.0)
+#define CALL_QUICKPANEL_TIMER_Y1 (1.0)
+
+styles {
+       style {
+               name: "style_caller_name1";
+               base: "font=Tizen:style=Regular font_size=40 color=#FFFFFF color_class="ATO005QP" align=left ellipsis=1.0 text_class=ATO005QP";
+       }
+       style {
+               name: "style_call_time1";
+               base: "font=Tizen:style=Regular font_size=30 color=#FFFFFF color_class="ATO006QP" align=left ellipsis=1.0 text_class=ATO006QP";
+       }
+}
+
+#define SWALLOW_BUTTON(part_name, x0, x1, inco, duri, out, resume) \
+               part { name: part_name; \
+                       type: SWALLOW; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               fixed: 1 1; \
+                               rel1 { relative: RECT_QT_BUTTON_X0(x0) RECT_QP_H(BUTTON_OFFSET); to: "background";} \
+                               rel2 { relative: RECT_QT_BUTTON_X1(x1) RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H)); to: "background";} \
+                       } \
+                       description { \
+                               state: "incoming" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: inco; \
+                       } \
+                       description { \
+                               state: "during" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: duri; \
+                       } \
+                       description { \
+                               state: "outgoing" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: out; \
+                       } \
+                       description { \
+                               state: "resume" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: resume; \
+                       } \
+               } \
+
+group {
+       name: "quickpanel_ls";
+
+       parts {
+               part { name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               color: COLOR_BG_ALPHA;
+                       }
+               }
+
+               part { name: "txt_area";
+                       type: SPACER;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_TEXT_RECT_INCO_X0 CALL_QUICKPANEL_TEXT_RECT_INCO_Y0; to: "background";}
+                               rel2 { relative: CALL_QUICKPANEL_TEXT_RECT_INCO_X1 CALL_QUICKPANEL_TEXT_RECT_INCO_Y1;  to: "background";}
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X0 CALL_QUICKPANEL_TEXT_RECT_INCO_Y0; to: "background";}
+                               rel2 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X1 CALL_QUICKPANEL_TEXT_RECT_INCO_Y1;  to: "background";}
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X0 CALL_QUICKPANEL_TEXT_RECT_INCO_Y0; to: "background";}
+                               rel2 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X1 CALL_QUICKPANEL_TEXT_RECT_INCO_Y1;  to: "background";}
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                       }
+               }
+
+               part { name: "swallow.speaker_button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: RECT_QT_BUTTON_X0(2) RECT_QP_H(BUTTON_OFFSET); to: "background";}
+                               rel2 { relative: RECT_QT_BUTTON_X1(1) RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H)); to: "background";}
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: RECT_QT_BUTTON_X0(3) RECT_QP_H(BUTTON_OFFSET); to: "background";}
+                               rel2 { relative: RECT_QT_BUTTON_X1(2) RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H)); to: "background";}
+                               visible: 1;
+                       }
+               }
+
+               part { name: "txt_call_name";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_NAME_X0 CALL_QUICKPANEL_CONTACT_NAME_Y0; to: "txt_area";}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_NAME_X1 CALL_QUICKPANEL_CONTACT_NAME_Y1; to: "txt_area";}
+                               align: 0.0 0.5;
+                               text {
+                                       ellipsis: 0.0;
+                                       fit: 0 1;
+                                       align: 0.0 0.5;
+                                       style: "style_caller_name1";
+                                       text_class: ATO005QP;
+                               }
+                               color_class: "ATO005QP";
+                       }
+               }
+
+               part { name: "txt_timer";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_TIMER_X0 CALL_QUICKPANEL_TIMER_Y0; to: "txt_area";}
+                               rel2 { relative: CALL_QUICKPANEL_TIMER_X1 CALL_QUICKPANEL_TIMER_Y1; to: "txt_area";}
+                               fixed: 1 1;
+                               text {
+                                       align: 0.0 0.5;
+                                       ellipsis: 1.0;
+                                       fit: 0 1;
+                                       style: "style_call_time1";
+                               }
+                               color_class: "ATO006QP";
+                       }
+               }
+
+               part { name: "caller_id";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X0 CALL_QUICKPANEL_CONTACT_IMAGE_Y0;}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X1 CALL_QUICKPANEL_CONTACT_IMAGE_Y1;}
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       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;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X0 CALL_QUICKPANEL_CONTACT_IMAGE_Y0;}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X1 CALL_QUICKPANEL_CONTACT_IMAGE_Y1;}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_photo_id_mask.png";
+                               }
+                               aspect_preference: SOURCE;
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       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_img";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               visible: 0;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X0 CALL_QUICKPANEL_CONTACT_IMAGE_Y0;}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X1 CALL_QUICKPANEL_CONTACT_IMAGE_Y1;}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_photo_id.png";
+                               }
+                               aspect_preference: SOURCE;
+                               color_class: "AO001";
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+               SWALLOW_BUTTON("swallow.mute_button", 3, 2, 0, 1, 0, 0);
+               SWALLOW_BUTTON("swallow.resume_button", 2, 1, 0, 0, 0, 1);
+               SWALLOW_BUTTON("swallow.call_button", 2, 1, 1, 0, 0, 0);
+               SWALLOW_BUTTON("swallow.end_button", 1, 0, 1, 1, 1, 0);
+       }
+       programs{
+               program {
+                       name: "resume_call";
+                       signal: "resume_call";
+                       source: "quickpanel_ls";
+                       action: STATE_SET "resume" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "caller_id_img";
+                       target: "caller_id_mask";
+                       target: "caller_id";
+                       target: "txt_area";
+               }
+               program {
+                       name: "outgoing_call";
+                       signal: "outgoing_call";
+                       source: "quickpanel_ls";
+                       action: STATE_SET "outgoing" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "txt_area";
+               }
+               program {
+                       name: "incoming_call";
+                       signal: "incoming_call";
+                       source: "quickpanel_ls";
+                       action: STATE_SET "incoming" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "txt_area";
+               }
+               program {
+                       name: "during_call";
+                       signal: "during_call";
+                       source: "quickpanel_ls";
+                       action: STATE_SET "during" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "caller_id_img";
+                       target: "caller_id_mask";
+                       target: "caller_id";
+                       target: "txt_area";
+               }
+               program {
+                       name: "show_image";
+                       signal: "show_image";
+                       source: "quickpanel_ls";
+                       action: STATE_SET "show" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_img";
+               }
+               program {
+                       name: "hide_image";
+                       signal: "hide_image";
+                       source: "quickpanel_ls";
+                       action: STATE_SET "hide" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_img";
+               }
+       }
+}
diff --git a/res/call_edc/callui-view-quick-pannel.edc b/res/call_edc/callui-view-quick-pannel.edc
new file mode 100644 (file)
index 0000000..cf85f1b
--- /dev/null
@@ -0,0 +1,418 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+#define SCREEN_W 720
+#define SCREEN_H 172
+
+#define RECT_QP_W(x) ((x)/SCREEN_W)
+#define RECT_QP_H(y) ((y)/SCREEN_H)
+
+#define BUTTON_OFFSET 40
+#define TEXT_OFFSET 30
+#define BUTTON_OFFSET_LAST_W 32
+#define BUTTON_OFFSET_LAST_H 42
+#define BUTTON_SIZE 90
+#define IMAGE_SIZE 96
+#define TEXT_SIZE 98
+#define TEXT_NAME_SIZE 55
+
+#define RECT_QT_BUTTON_X0(x)(RECT_QP_W(SCREEN_W - ((x * BUTTON_SIZE) + BUTTON_OFFSET_LAST_W + ((x - 1) * BUTTON_OFFSET))))
+#define RECT_QT_BUTTON_X1(x)(RECT_QP_W(SCREEN_W - ((x * BUTTON_SIZE) + BUTTON_OFFSET_LAST_W + (x * BUTTON_OFFSET))))
+
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_X0 RECT_QP_W(((2 * BUTTON_OFFSET_LAST_W) + IMAGE_SIZE))
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_Y0 RECT_QP_H(TEXT_OFFSET)
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_X1 RECT_QT_BUTTON_X0(2)
+#define CALL_QUICKPANEL_TEXT_RECT_INCO_Y1 RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H))
+
+#define CALL_QUICKPANEL_TEXT_RECT_DURING_X0 RECT_QP_W(BUTTON_OFFSET_LAST_W)
+#define CALL_QUICKPANEL_TEXT_RECT_DURING_X1 RECT_QT_BUTTON_X0(3)
+
+#define CALL_QUICKPANEL_CONTACT_IMAGE_X0 RECT_QP_W(BUTTON_OFFSET_LAST_W)
+#define CALL_QUICKPANEL_CONTACT_IMAGE_Y0 RECT_QP_H(TEXT_OFFSET)
+#define CALL_QUICKPANEL_CONTACT_IMAGE_X1 RECT_QP_W(BUTTON_OFFSET_LAST_W + IMAGE_SIZE)
+#define CALL_QUICKPANEL_CONTACT_IMAGE_Y1 RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H))
+
+#define CALL_QUICKPANEL_CONTACT_NAME_X0 (0.0)
+#define CALL_QUICKPANEL_CONTACT_NAME_Y0 (0.0)
+#define CALL_QUICKPANEL_CONTACT_NAME_X1 (1.0)
+#define CALL_QUICKPANEL_CONTACT_NAME_Y1 (TEXT_NAME_SIZE/TEXT_SIZE)
+
+#define CALL_QUICKPANEL_TIMER_X0 (0.0)
+#define CALL_QUICKPANEL_TIMER_Y0 (TEXT_NAME_SIZE/TEXT_SIZE)
+#define CALL_QUICKPANEL_TIMER_X1 (1.0)
+#define CALL_QUICKPANEL_TIMER_Y1 (1.0)
+
+styles {
+       style {
+               name: "style_caller_name";
+               base: "font=Tizen:style=Regular font_size=40 color=#FFFFFF color_class="ATO005QP" align=left ellipsis=1.0 text_class=ATO005QP";
+       }
+       style {
+               name: "style_call_time";
+               base: "font=Tizen:style=Regular font_size=30 color=#FFFFFF color_class="ATO006QP" align=left ellipsis=1.0 text_class=ATO006QP";
+       }
+}
+
+#define SWALLOW_BUTTON(part_name, x0, x1, inco, duri, out, resume) \
+               part { name: part_name; \
+                       type: SWALLOW; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               rel1 { relative: RECT_QT_BUTTON_X0(x0) RECT_QP_H(BUTTON_OFFSET); to: "background";} \
+                               rel2 { relative: RECT_QT_BUTTON_X1(x1) RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H)); to: "background";} \
+                       } \
+                       description { \
+                               state: "incoming" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: inco; \
+                       } \
+                       description { \
+                               state: "during" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: duri; \
+                       } \
+                       description { \
+                               state: "outgoing" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: out; \
+                       } \
+                       description { \
+                               state: "resume" 0.0; \
+                               inherit: "default" 0.0; \
+                               visible: resume; \
+                       } \
+               } \
+
+group {
+       name: "quickpanel";
+
+       parts {
+               part { name: "background";
+                       type: RECT;
+                       description {
+                               state: "default" 0.0;
+                               color: COLOR_BG_ALPHA;
+                       }
+               }
+
+               part { name: "txt_area";
+                       type: SPACER;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_TEXT_RECT_INCO_X0 CALL_QUICKPANEL_TEXT_RECT_INCO_Y0; to: "background";}
+                               rel2 { relative: CALL_QUICKPANEL_TEXT_RECT_INCO_X1 CALL_QUICKPANEL_TEXT_RECT_INCO_Y1;  to: "background";}
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X0 CALL_QUICKPANEL_TEXT_RECT_INCO_Y0; to: "background";}
+                               rel2 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X1 CALL_QUICKPANEL_TEXT_RECT_INCO_Y1;  to: "background";}
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X0 CALL_QUICKPANEL_TEXT_RECT_INCO_Y0; to: "background";}
+                               rel2 { relative: CALL_QUICKPANEL_TEXT_RECT_DURING_X1 CALL_QUICKPANEL_TEXT_RECT_INCO_Y1;  to: "background";}
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                       }
+               }
+
+               part { name: "swallow.speaker_button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: RECT_QT_BUTTON_X0(2) RECT_QP_H(BUTTON_OFFSET); to: "background";}
+                               rel2 { relative: RECT_QT_BUTTON_X1(1) RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H)); to: "background";}
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: RECT_QT_BUTTON_X0(3) RECT_QP_H(BUTTON_OFFSET); to: "background";}
+                               rel2 { relative: RECT_QT_BUTTON_X1(2) RECT_QP_H((SCREEN_H - BUTTON_OFFSET_LAST_H)); to: "background";}
+                               visible: 1;
+                       }
+               }
+
+               part { name: "txt_call_name";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_NAME_X0 CALL_QUICKPANEL_CONTACT_NAME_Y0; to: "txt_area";}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_NAME_X1 CALL_QUICKPANEL_CONTACT_NAME_Y1; to: "txt_area";}
+                               align: 0.0 0.5;
+                               text {
+                                       ellipsis: 0.0;
+                                       fit: 0 1;
+                                       align: 0.0 0.5;
+                                       style: "style_caller_name";
+                                       text_class: ATO005QP;
+                               }
+                               color_class: "ATO005QP";
+                       }
+               }
+
+               part { name: "txt_timer";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_TIMER_X0 CALL_QUICKPANEL_TIMER_Y0; to: "txt_area";}
+                               rel2 { relative: CALL_QUICKPANEL_TIMER_X1 CALL_QUICKPANEL_TIMER_Y1; to: "txt_area";}
+                               fixed: 1 1;
+                               text {
+                                       align: 0.0 0.5;
+                                       ellipsis: 1.0;
+                                       fit: 0 1;
+                                       style: "style_call_time";
+                               }
+                               color_class: "ATO006QP";
+                       }
+               }
+
+               part { name: "caller_id";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X0 CALL_QUICKPANEL_CONTACT_IMAGE_Y0;}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X1 CALL_QUICKPANEL_CONTACT_IMAGE_Y1;}
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       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;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X0 CALL_QUICKPANEL_CONTACT_IMAGE_Y0;}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X1 CALL_QUICKPANEL_CONTACT_IMAGE_Y1;}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_photo_id_mask.png";
+                               }
+                               aspect_preference: SOURCE;
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       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_img";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               visible: 0;
+                               fixed: 1 1;
+                               rel1 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X0 CALL_QUICKPANEL_CONTACT_IMAGE_Y0;}
+                               rel2 { relative: CALL_QUICKPANEL_CONTACT_IMAGE_X1 CALL_QUICKPANEL_CONTACT_IMAGE_Y1;}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_photo_id.png";
+                               }
+                               aspect_preference: SOURCE;
+                               color_class: "AO001";
+                       }
+                       description {
+                               state: "incoming" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "during" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "outgoing" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "resume" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+               }
+               SWALLOW_BUTTON("swallow.mute_button", 3, 2, 0, 1, 0, 0);
+               SWALLOW_BUTTON("swallow.resume_button", 2, 1, 0, 0, 0, 1);
+               SWALLOW_BUTTON("swallow.call_button", 2, 1, 1, 0, 0, 0);
+               SWALLOW_BUTTON("swallow.end_button", 1, 0, 1, 1, 1, 0);
+       }
+       programs{
+               program {
+                       name: "resume_call";
+                       signal: "resume_call";
+                       source: "quickpanel";
+                       action: STATE_SET "resume" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "caller_id_img";
+                       target: "caller_id_mask";
+                       target: "caller_id";
+                       target: "txt_area";
+               }
+               program {
+                       name: "outgoing_call";
+                       signal: "outgoing_call";
+                       source: "quickpanel";
+                       action: STATE_SET "outgoing" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "txt_area";
+               }
+               program {
+                       name: "incoming_call";
+                       signal: "incoming_call";
+                       source: "quickpanel";
+                       action: STATE_SET "incoming" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "txt_area";
+               }
+               program {
+                       name: "during_call";
+                       signal: "during_call";
+                       source: "quickpanel";
+                       action: STATE_SET "during" 0.0;
+                       target: "swallow.mute_button";
+                       target: "swallow.speaker_button";
+                       target: "swallow.call_button";
+                       target: "swallow.resume_button";
+                       target: "caller_id_img";
+                       target: "caller_id_mask";
+                       target: "caller_id";
+                       target: "txt_area";
+               }
+               program {
+                       name: "show_image";
+                       signal: "show_image";
+                       source: "quickpanel";
+                       action: STATE_SET "show" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_img";
+               }
+               program {
+                       name: "hide_image";
+                       signal: "hide_image";
+                       source: "quickpanel";
+                       action: STATE_SET "hide" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_img";
+               }
+       }
+}
diff --git a/res/call_edc/callui_view_end_call.edc b/res/call_edc/callui_view_end_call.edc
new file mode 100644 (file)
index 0000000..37f8553
--- /dev/null
@@ -0,0 +1,541 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+styles {
+       style {
+               name: "call_timer_style1";
+               base: "font=Tizen:style=Regular align=left font_size=40 color=#FFFFFF ellipsis=1.0";
+       }
+       style {
+               name: "call_name";
+               base: "font=Tizen:style=Regular align=left font_size=56 color=#FFFFFF ellipsis=1.0";
+       }
+       style {
+               name: "call_number";
+               base: "font=Tizen:style=Regular align=left font_size=34 color=#FFFFFF ellipsis=1.0";
+       }
+       style {
+               name: "call_timer_style2";
+               base: "font=Tizen:style=Regular align=right font_size=40 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 SPACE_NOTIFICATION 50
+#define SPACE_NOTI_MAIN_TITLE 30
+#define MAIN_TITLE 54
+#define SPACE_MAIN_TITLE_MAIN_IMAGE 30
+#define MAIN_IMAGE 168
+#define SPACE_MAIN_IMAGE 44
+#define HIGHT_BUTTON 190
+#define MAIN_BG_HIGHT (SPACE_NOTIFICATION+SPACE_NOTI_MAIN_TITLE + MAIN_TITLE + SPACE_MAIN_TITLE_MAIN_IMAGE + MAIN_IMAGE + SPACE_MAIN_IMAGE + HIGHT_BUTTON)
+#define MAIN_WIDTH 720
+#define MAIN_WIDTH_TWO 720/2
+#define MAIN_HIGHT 1280
+#define WIDTH_MAIN_TITLE 32
+#define SPACER_MAIN_TITLE_CALL_NAME 50
+#define SPACER_MAIN_INFO (SPACE_NOTI_MAIN_TITLE + MAIN_TITLE + SPACER_MAIN_TITLE_CALL_NAME)
+#define SIZE_TEXT_INFO 78
+#define SPACE_TEXT_INFO_BUTTON 6
+#define WIDTH_CREATE_BUTTON 359
+#define HIGHT_CREATE_BUTTON 46
+#define BUTTON_ICON_SIZE 80
+#define BUTTON_SIZE 120
+#define BUTTON_OFFSET 20
+
+#define MAIN_TITLE_X0 ((WIDTH_MAIN_TITLE)/MAIN_WIDTH)
+#define MAIN_TITLE_Y0 ((SPACE_NOTIFICATION + SPACE_NOTI_MAIN_TITLE)/MAIN_BG_HIGHT)
+#define MAIN_TITLE_Y1 ((SPACE_NOTIFICATION + MAIN_TITLE + SPACE_NOTI_MAIN_TITLE)/MAIN_BG_HIGHT)
+
+#define CONTACT_IMAGE_X0 (WIDTH_MAIN_TITLE/MAIN_WIDTH)
+#define CONTACT_IMAGE_Y0 ((SPACE_NOTIFICATION + MAIN_TITLE + 2*SPACE_NOTI_MAIN_TITLE )/MAIN_BG_HIGHT)
+#define CONTACT_IMAGE_X1 ((WIDTH_MAIN_TITLE+ MAIN_IMAGE)/MAIN_WIDTH)
+#define CONTACT_IMAGE_Y1 ((SPACE_NOTIFICATION + MAIN_TITLE + 2*SPACE_NOTI_MAIN_TITLE + MAIN_IMAGE)/MAIN_BG_HIGHT)
+
+#define RECT_BUTTON_X0 (0.0)
+#define RECT_BUTTON_Y0 ((MAIN_BG_HIGHT - HIGHT_BUTTON)/MAIN_BG_HIGHT)
+
+#define CONTACT_NAME_X0 (CONTACT_IMAGE_X1 + (WIDTH_MAIN_TITLE/MAIN_WIDTH))
+#define CONTACT_NAME_Y0 ((SPACE_NOTIFICATION + MAIN_TITLE + SPACE_NOTI_MAIN_TITLE + SPACER_MAIN_TITLE_CALL_NAME)/MAIN_BG_HIGHT)
+#define CONTACT_NAME_X1 ((MAIN_WIDTH - 17 - 80 - 32)/MAIN_WIDTH)
+#define CONTACT_NAME_Y1 ((SPACE_NOTIFICATION + MAIN_TITLE + SPACE_NOTI_MAIN_TITLE + SPACER_MAIN_TITLE_CALL_NAME + 76)/MAIN_BG_HIGHT)
+
+#define CONTACT_NUMBER_X0 (CONTACT_IMAGE_X1 + (WIDTH_MAIN_TITLE/MAIN_WIDTH))
+#define CONTACT_NUMBER_Y0 ((SPACE_NOTIFICATION + MAIN_TITLE + SPACE_NOTI_MAIN_TITLE + SPACER_MAIN_TITLE_CALL_NAME + 76 + 6)/MAIN_BG_HIGHT)
+#define CONTACT_NUMBER_X1 ((MAIN_WIDTH - 17 - 80 - 32)/MAIN_WIDTH)
+#define CONTACT_NUMBER_Y1 ((SPACE_NOTIFICATION + MAIN_TITLE + SPACE_NOTI_MAIN_TITLE + SPACER_MAIN_TITLE_CALL_NAME + 76 + 6 + 46)/MAIN_BG_HIGHT)
+
+#define CREATE_CONTACT_X0 ((MAIN_WIDTH - 17 - 80)/MAIN_WIDTH)
+#define CREATE_CONTACT_Y0 ((MAIN_BG_HIGHT - HIGHT_BUTTON - 64 - 24 - 80 )/MAIN_BG_HIGHT)
+#define CREATE_CONTACT_X1 ((MAIN_WIDTH - 17)/MAIN_WIDTH)
+#define CREATE_CONTACT_Y1 ((MAIN_BG_HIGHT - HIGHT_BUTTON - 64 - 24)/MAIN_BG_HIGHT)
+
+#define BUTTON_ICON_X0 148/360
+#define BUTTON_ICON_Y0 (36/HIGHT_BUTTON)
+#define BUTTON_ICON_X1 ((148 + 64)/(MAIN_WIDTH_TWO))
+#define BUTTON_ICON_Y1 (36+64)/HIGHT_BUTTON
+
+#define BUTTON_TEXT_X0 114/360
+#define BUTTON_TEXT_Y0 ((36+ 64)/HIGHT_BUTTON)
+#define BUTTON_TEXT_X1 ((114 + 132)/(360))
+#define BUTTON_TEXT_Y1 ((HIGHT_BUTTON-52)/HIGHT_BUTTON)
+
+#define TIMER_TEXT_X1 ((MAIN_WIDTH - 17)/MAIN_WIDTH)
+
+group {
+       name: "call_back";
+       parts {
+               part { name: "rect_call_back";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               color: 255 255 255 255;
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               color: 0 0 0 76;
+                       }
+               }
+
+               part { name: "call_back_text";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: BUTTON_TEXT_X0 BUTTON_TEXT_Y0; to: "rect_call_back";}
+                               rel2 { relative: BUTTON_TEXT_X1 BUTTON_TEXT_Y1; to: "rect_call_back";}
+                               text {
+                                       fit: 1 1;
+                                       style:"button_style";
+                               }
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               inherit: "default" 0.0;
+                               text.style:"button_style_pressed";
+                       }
+               }
+
+               part { name: "call_back_icon";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: BUTTON_ICON_X0 BUTTON_ICON_Y0; to: "rect_call_back";}
+                               rel2 { relative: BUTTON_ICON_X1 BUTTON_ICON_Y1; to: "rect_call_back";}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_button_icon_03.png";
+                               }
+                               color_class: "AO009";
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               inherit: "default" 0.0;
+                               color_class: "AO001";
+                       }
+               }
+       }
+       programs {
+               program {
+                       name: "pressed";
+                       signal: "mouse,down,*";
+                       source: "*";
+                       action: STATE_SET "pressed" 0.0;
+                       target: "rect_call_back";
+                       target: "call_back_icon";
+                       target: "call_back_text";
+               }
+               program {
+                       name: "unpressed";
+                       signal: "mouse,up,*";
+                       source: "*";
+                       action: STATE_SET "default" 0.0;
+                       target: "rect_call_back";
+                       target: "call_back_icon";
+                       target: "call_back_text";
+               }
+       }
+}
+
+group {
+       name: "create_contact_button";
+       parts {
+               part { name: "bg";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               color_class: "W0113";
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               inherit: "default" 0.0;
+                               color_class: "W0113P";
+                       }
+               }
+
+               part { name: "icon";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: (BUTTON_OFFSET/BUTTON_SIZE) (BUTTON_OFFSET/BUTTON_SIZE); to: "bg";}
+                               rel2 { relative: ((BUTTON_ICON_SIZE + BUTTON_OFFSET)/BUTTON_SIZE) ((BUTTON_ICON_SIZE + BUTTON_OFFSET)/BUTTON_SIZE); to: "bg";}
+                               image {
+                                       normal: IMG_ICN_DIR/"call_button_add.png";
+                               }
+                               color: 255 255 255 255;
+                       }
+               }
+       }
+       programs {
+               program {
+                       name: "pressed";
+                       signal: "mouse,down,*";
+                       source: "*";
+                       action: STATE_SET "pressed" 0.0;
+                       target: "bg";
+               }
+               program {
+                       name: "unpressed";
+                       signal: "mouse,up,*";
+                       source: "*";
+                       action: STATE_SET "default" 0.0;
+                       target: "bg";
+               }
+       }
+}
+
+group {
+       name: "message_button";
+       parts {
+               part { name: "rect_message";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               color: 255 255 255 255;
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               color: 0 0 0 76;
+                       }
+               }
+
+               part { name: "message_text";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: BUTTON_TEXT_X0 BUTTON_TEXT_Y0; to: "rect_message";}
+                               rel2 { relative: BUTTON_TEXT_X1 BUTTON_TEXT_Y1; to: "rect_message";}
+                               text {
+                                       fit: 1 1;
+                                       style:"button_style";
+                               }
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               inherit: "default" 0.0;
+                               text.style:"button_style_pressed";
+                       }
+               }
+
+               part { name: "message_icon";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: BUTTON_ICON_X0 BUTTON_ICON_Y0; to: "rect_message";}
+                               rel2 { relative: BUTTON_ICON_X1 BUTTON_ICON_Y1; to: "rect_message";}
+                               image {
+                                       normal: IMG_SRC_DIR/"call_button_icon_04.png";
+                               }
+                               color_class: "AO009";
+                       }
+                       description {
+                               state: "pressed" 0.0;
+                               inherit: "default" 0.0;
+                               color_class: "AO001";
+                       }
+               }
+       }
+       programs {
+               program {
+                       name: "pressed";
+                       signal: "mouse,down,*";
+                       source: "*";
+                       action: STATE_SET "pressed" 0.0;
+                       target: "rect_message";
+                       target: "message_icon";
+                       target: "message_text";
+               }
+               program {
+                       name: "unpressed";
+                       signal: "mouse,up,*";
+                       source: "*";
+                       action: STATE_SET "default" 0.0;
+                       target: "rect_message";
+                       target: "message_icon";
+                       target: "message_text";
+               }
+       }
+}
+
+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 {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               color_class: "AO001";
+                               rel1 { relative: 0 0; to: "background"; }
+                               rel2 { relative: 1 (MAIN_BG_HIGHT/MAIN_HIGHT); 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 {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: CONTACT_IMAGE_X0 CONTACT_IMAGE_Y0; to: "contact_ly";}
+                               rel2 { relative: CONTACT_IMAGE_X1 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;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_IMAGE_X0 CONTACT_IMAGE_Y0; to: "contact_ly";}
+                               rel2 { relative: CONTACT_IMAGE_X1 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;
+                       }
+               }
+
+               part {  name: "caller_id_img";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               visible: 0;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_IMAGE_X0 CONTACT_IMAGE_Y0; to: "contact_ly";}
+                               rel2 { relative: CONTACT_IMAGE_X1 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;
+                       }
+               }
+
+               part { name: "contact_name";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_NAME_X0 CONTACT_NAME_Y0; to: "contact_ly";}
+                               rel2 { relative: CONTACT_NAME_X1 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;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_NUMBER_X0 CONTACT_NUMBER_Y0; to: "contact_ly";}
+                               rel2 { relative: CONTACT_NUMBER_X1 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;
+                               fixed: 1 1;
+                               align: 0.5 0.5;
+                               rel1 { relative: CREATE_CONTACT_X0 CREATE_CONTACT_Y0; to: "contact_ly";}
+                               rel2 { relative: CREATE_CONTACT_X1 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;
+                               fixed: 1 1;
+                               rel1 { relative: 0.0 RECT_BUTTON_Y0; to: "contact_ly";}
+                               rel2 { relative: 0.5 1.0; to: "contact_ly";}
+                       }
+               }
+
+               part { name: "button_message_back";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: 0.5 RECT_BUTTON_Y0; to: "contact_ly";}
+                               rel2 { relative: 1.0 1.0; to: "contact_ly";}
+                       }
+               }
+               part { name: "call_txt_status";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: MAIN_TITLE_X0 MAIN_TITLE_Y0; to: "contact_ly";}
+                               rel2 { relative: 1.0 MAIN_TITLE_Y1; to: "contact_ly";}
+                               text.style:"call_timer_style1";
+                       }
+               }
+       }
+       programs{
+               program {
+                       name: "show_image";
+                       signal: "show_image";
+                       source: "main_end_call";
+                       action: STATE_SET "show" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_img";
+               }
+               program {
+                       name: "hide_image";
+                       signal: "hide_image";
+                       source: "main_end_call";
+                       action: STATE_SET "hide" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_img";
+               }
+       }
+}
diff --git a/res/call_edc/callui_view_incoming_active.edc b/res/call_edc/callui_view_incoming_active.edc
new file mode 100644 (file)
index 0000000..b7f5194
--- /dev/null
@@ -0,0 +1,620 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../callui-color-classes.h"
+
+styles {
+       style {
+               name: "active_call_name";
+               base: "font=Tizen:style=Regular align=left font_size=40 color=#FFFFFF ellipsis=1.0";
+       }
+       style {
+               name: "active_call_number";
+               base: "font=Tizen:style=Regular align=left font_size=32 color=#FFFFFF ellipsis=1.0";
+       }
+}
+
+#define SPACE_NOTIFICATION 50
+#define REC_MAIN_INFO 144
+#define SPACE_ICON 23
+#define ICON_H 98
+#define SPACE_ICON_W 32
+#define REC_BUTTON_H 120
+#define BUTTON_H 78
+#define SWAP_BUTTON_Y 46
+#define MAIN_HEIGHT (SPACE_NOTIFICATION + REC_MAIN_INFO + REC_BUTTON_H + SWAP_BUTTON_Y)
+#define MAIN_HEIGHT_RECT_REJECT (REC_MAIN_INFO + REC_BUTTON_H + SPACE_NOTIFICATION + SPACE_NOTIFICATION)
+#define MAIN_HEIGHT_REJECT 1280
+#define MAIN_WIDTH 720
+#define SPACE_BUTTON 186
+#define SPACE_BETWEEN_BUTTONS 16
+#define SPACE_BUTTON_Y 21
+#define BUTTON_SIZE_X_LITTLE 208
+#define BUTTON_SIZE_X_BIG 320
+#define BUTTON_SIZE_Y 78
+#define NAME_SIZE 56
+#define NUMBER_SIZE 43
+#define BUTTON_RJ_MSG 20
+#define BUTTON_RJ_MSG_OFFSET 22
+#define ACTIVE_NOTIFICATION_SIZE_Y 320
+
+#define CONTACT_IMAGE_X0 (SPACE_ICON_W/MAIN_WIDTH)
+#define CONTACT_IMAGE_Y0 ((SPACE_NOTIFICATION + SPACE_ICON)/MAIN_HEIGHT)
+#define CONTACT_IMAGE_X1 ((SPACE_ICON_W + ICON_H)/MAIN_WIDTH)
+#define CONTACT_IMAGE_Y1 ((SPACE_NOTIFICATION + SPACE_ICON + ICON_H)/MAIN_HEIGHT)
+
+#define CONTACT_INFO_X0 (0.0)
+#define CONTACT_INFO_Y0 (0.0)
+#define CONTACT_INFO_X1 (1.0)
+#define CONTACT_INFO_Y1 ((MAIN_HEIGHT)/MAIN_HEIGHT)
+#define CONTACT_INFO_Y_REJECT ((MAIN_HEIGHT_RECT_REJECT)/MAIN_HEIGHT_REJECT)
+
+#define CONTACT_REJECT_MSG_X0 (0.0)
+#define CONTACT_REJECT_MSG_Y0 ((MAIN_HEIGHT_RECT_REJECT)/MAIN_HEIGHT_REJECT)
+#define CONTACT_REJECT_MSG_X1 (1.0)
+#define CONTACT_REJECT_MSG_Y1 (1.0)
+
+#define CONTACT_REJECT_MSG_BUTTON_X0 ((SPACE_ICON_W)/MAIN_WIDTH)
+#define CONTACT_REJECT_MSG_BUTTON_Y0 ((BUTTON_RJ_MSG)/(MAIN_HEIGHT_REJECT - MAIN_HEIGHT_RECT_REJECT))
+#define CONTACT_REJECT_MSG_BUTTON_X1 ((MAIN_WIDTH - SPACE_ICON_W)/MAIN_WIDTH)
+#define CONTACT_REJECT_MSG_BUTTON_Y1 ((BUTTON_RJ_MSG + BUTTON_H)/(MAIN_HEIGHT_REJECT - MAIN_HEIGHT_RECT_REJECT))
+
+#define CONTACT_REJECT_MSG_GENLIST_Y1 ((BUTTON_RJ_MSG + BUTTON_H + BUTTON_RJ_MSG_OFFSET)/(MAIN_HEIGHT_REJECT - MAIN_HEIGHT_RECT_REJECT))
+
+#define CONTACT_CALL_BTN_X0 ((SPACE_ICON_W)/MAIN_WIDTH)
+#define CONTACT_BTN_Y0 (SPACE_BUTTON/ACTIVE_NOTIFICATION_SIZE_Y)
+#define CONTACT_CALL_BTN_X1 ((SPACE_ICON_W + BUTTON_SIZE_X_LITTLE)/MAIN_WIDTH)
+#define CONTACT_BTN_Y1 ((SPACE_BUTTON + BUTTON_SIZE_Y)/ACTIVE_NOTIFICATION_SIZE_Y)
+
+#define CONTACT_CALL_BTN_BIG_X0 (SPACE_ICON_W/MAIN_WIDTH)
+#define CONTACT_CALL_BTN_BIG_Y0 CONTACT_BTN_Y0
+#define CONTACT_CALL_BTN_BIG_X1 ((SPACE_ICON_W + BUTTON_SIZE_X_BIG)/MAIN_WIDTH)
+#define CONTACT_CALL_BTN_BIG_Y1 CONTACT_BTN_Y1
+
+#define CONTACT_RJ_MSG_BTN_X0 ((SPACE_ICON_W + SPACE_BETWEEN_BUTTONS + BUTTON_SIZE_X_LITTLE)/MAIN_WIDTH)
+#define CONTACT_RJ_MSG_BTN_Y0 CONTACT_BTN_Y0
+#define CONTACT_RJ_MSG_BTN_X1 ((SPACE_ICON_W + SPACE_BETWEEN_BUTTONS + BUTTON_SIZE_X_LITTLE + BUTTON_SIZE_X_LITTLE)/MAIN_WIDTH)
+#define CONTACT_RJ_MSG_BTN_Y1 CONTACT_BTN_Y1
+
+#define CONTACT_END_BTN_X0 ((MAIN_WIDTH - SPACE_ICON_W - BUTTON_SIZE_X_LITTLE)/MAIN_WIDTH)
+#define CONTACT_END_BTN_Y0 CONTACT_BTN_Y0
+#define CONTACT_END_BTN_X1 ((MAIN_WIDTH - SPACE_ICON_W)/MAIN_WIDTH)
+#define CONTACT_END_BTN_Y1 CONTACT_BTN_Y1
+
+#define CONTACT_END_BTN_BIG_X0 ((MAIN_WIDTH - SPACE_ICON_W - BUTTON_SIZE_X_BIG)/MAIN_WIDTH)
+#define CONTACT_END_BTN_BIG_Y0 CONTACT_BTN_Y0
+#define CONTACT_END_BTN_BIG_X1 ((MAIN_WIDTH - SPACE_ICON_W)/MAIN_WIDTH)
+#define CONTACT_END_BTN_BIG_Y1 CONTACT_BTN_Y1
+
+#define SWAP_X0 (((MAIN_WIDTH/2) - SPACE_ICON)/MAIN_WIDTH)
+#define SWAP_Y0 ((MAIN_HEIGHT - SWAP_BUTTON_Y)/MAIN_HEIGHT)
+#define SWAP_X1 (((MAIN_WIDTH/2) + SPACE_ICON)/MAIN_WIDTH)
+#define SWAP_Y1 1.0
+
+#define CONTACT_NAME_X0 ((SPACE_ICON_W + ICON_H + SPACE_BETWEEN_BUTTONS)/MAIN_WIDTH)
+#define CONTACT_NAME_Y0 ((SPACE_NOTIFICATION + SPACE_ICON)/MAIN_HEIGHT)
+#define CONTACT_NAME_X1 (1.0)
+#define CONTACT_NAME_Y1 ((SPACE_NOTIFICATION + SPACE_ICON + NAME_SIZE)/MAIN_HEIGHT)
+
+#define CONTACT_NUMBER_X0 ((SPACE_ICON_W + ICON_H + SPACE_BETWEEN_BUTTONS)/MAIN_WIDTH)
+#define CONTACT_NUMBER_Y0 ((SPACE_NOTIFICATION + SPACE_ICON + NAME_SIZE)/MAIN_HEIGHT)
+#define CONTACT_NUMBER_X1 (1.0)
+#define CONTACT_NUMBER_Y1 ((SPACE_NOTIFICATION + SPACE_ICON + NAME_SIZE + NUMBER_SIZE)/MAIN_HEIGHT)
+
+group {
+       name: "main_button_ly";
+       parts {
+               part { name: "image_bg";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               image {
+                                  normal: IMG_SRC_DIR/"button_edit_bg_new.png";
+                               }
+                               color: 0 0 0 54;
+                       }
+                       description {
+                               state: "clicked" 0.0;
+                               inherit: "default" 0.0;
+                               color: 0 0 0 77;
+                       }
+               }
+
+               part { name: "swallow.icon";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               align: 0.5 0.5;
+                               rel1 { relative: 0.0 0.0; to: "image_bg";}
+                               rel2 { relative: 1.0 1.0; to: "image_bg";}
+                       }
+               }
+       }
+       programs{
+               program { name: "button_unpress";
+                       signal: "mouse,up,*";
+                       source: "*";
+                       action: STATE_SET "default" 0.0;
+                       target: "image_bg";
+               }
+               program { name: "button_press";
+                       signal: "mouse,down,*";
+                       source: "*";
+                       action: STATE_SET "clicked" 0.0;
+                       target: "image_bg";
+               }
+       }
+}
+
+group {
+       name: "swipe_call_button_ly";
+       parts {
+               part { name: "swipe_call_button";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               image {
+                                  normal: IMG_SRC_DIR"/handler_btn_02.png";
+                               }
+                       }
+               }
+       }
+}
+
+group {
+       name: "reject_msg_ly";
+       parts {
+               part { name: "bg";
+                       type: RECT;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               color: 255 255 255 255;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 CONTACT_REJECT_MSG_GENLIST_Y1;}
+                       }
+               }
+
+               part { name: "swallow.button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               rel1 { relative: CONTACT_REJECT_MSG_BUTTON_X0 CONTACT_REJECT_MSG_BUTTON_Y0;}
+                               rel2 { relative: CONTACT_REJECT_MSG_BUTTON_X1 CONTACT_REJECT_MSG_BUTTON_Y1;}
+                       }
+               }
+
+               part { name: "swallow.content";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               align: 0.0 0.0;
+                               state: "default" 0.0;
+                               rel1 { relative: 0.0 CONTACT_REJECT_MSG_GENLIST_Y1;}
+                               rel2 { relative: 1.0 1.0;}
+                       }
+               }
+       }
+}
+
+group {
+       name: "main_incoming_active_call";
+       parts {
+               part { name: "screen_bg";
+                       type: RECT;
+                       description {
+                               fixed: 1 1;
+                               visible: 1;
+                               state: "default" 0.0;
+                               color: 0 0 0 77;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 CONTACT_INFO_Y1;}
+                       }
+               }
+
+               part { name: "bg";
+                       type: RECT;
+                       description {
+                               fixed: 1 1;
+                               visible: 1;
+                               state: "default" 0.0;
+                               color: 61 185 204 255;
+                               rel1 { relative: 0.0 0.0; }
+                               rel2 { relative: 1.0 CONTACT_INFO_Y1;}
+                       }
+                       description {
+                               state: "small" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 CONTACT_INFO_Y1;}
+                       }
+                       description {
+                               state: "big" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: 0.0 0.0;}
+                               rel2 { relative: 1.0 CONTACT_INFO_Y_REJECT;}
+                       }
+               }
+
+               part { name: "dim_bg";
+                       type: RECT;
+                       description {
+                               fixed: 1 1;
+                               visible: 1;
+                               state: "default" 0.0;
+                               color: 0 0 0 25;
+                               rel1 { relative: 0.0 0.0; to: "bg";}
+                               rel2 { relative: 1.0 1.0; to: "bg";}
+                       }
+               }
+
+               part { name: "caller_id";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               aspect: 1 1;
+                               aspect_preference: HORIZONTAL;
+                               state: "default" 0.0;
+                               color: 255 255 0 255;
+                               rel1 { relative: CONTACT_IMAGE_X0 CONTACT_IMAGE_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_IMAGE_X1 CONTACT_IMAGE_Y1; to: "bg";}
+                       }
+                       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.reject_msg";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               fixed: 1 1;
+                               state: "default" 0.0;
+                               visible: 0;
+                               rel1 { relative: CONTACT_REJECT_MSG_X0 CONTACT_REJECT_MSG_Y0;}
+                               rel2 { relative: CONTACT_REJECT_MSG_X1 CONTACT_REJECT_MSG_Y1;}
+                       }
+                       description {
+                               state: "hide" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 0;
+                       }
+                       description {
+                               state: "show" 0.0;
+                               inherit: "default" 0.0;
+                               visible: 1;
+                       }
+               }
+
+               part {  name: "swallow.swipe_button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               visible: 1;
+                               fixed: 1 1;
+                               rel1 { relative: SWAP_X0 SWAP_Y0; to: "bg";}
+                               rel2 { relative: SWAP_X1 SWAP_Y1; to: "bg";}
+                               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;
+                       }
+               }
+
+               part {  name: "caller_id_mask";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               visible: 0;
+                               fixed: 1 1;
+                               aspect: 1 1;
+                               aspect_preference: HORIZONTAL;
+                               rel1 { relative: CONTACT_IMAGE_X0 CONTACT_IMAGE_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_IMAGE_X1 CONTACT_IMAGE_Y1; to: "bg";}
+                               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;
+                       }
+               }
+
+               part {  name: "caller_id_default";
+                       type: IMAGE;
+                       scale: 1;
+                       description {
+                               visible: 0;
+                               fixed: 1 1;
+                               aspect: 1 1;
+                               aspect_preference: HORIZONTAL;
+                               rel1 { relative: 0.0 0.0; to: "caller_id_mask";}
+                               rel2 { relative: 1.0 1.0; to: "caller_id_mask";}
+                               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;
+                       }
+               }
+
+               part { name: "text.contact_name";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_NAME_X0 CONTACT_NAME_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_NAME_X1 CONTACT_NAME_Y1; to: "bg";}
+                               align: 0.0 0.5;
+                               text {
+                                       ellipsis: 0.0;
+                                       fit: 0 1;
+                                       style:"active_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: "text.contact_number";
+                       type: TEXTBLOCK;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_NUMBER_X0 CONTACT_NUMBER_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_NUMBER_X1 CONTACT_NUMBER_Y1; to: "bg";}
+                               align: 0.0 0.5;
+                               text {
+                                       ellipsis: 1.0;
+                                       style:"active_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.call_button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_CALL_BTN_X0 CONTACT_BTN_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_CALL_BTN_X1 CONTACT_BTN_Y1; to: "bg";}
+                               color: 255 0 0 255;
+                       }
+                       description {
+                               state: "big" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CONTACT_CALL_BTN_BIG_X0 CONTACT_CALL_BTN_BIG_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_CALL_BTN_BIG_X1 CONTACT_CALL_BTN_BIG_Y1; to: "bg";}
+                       }
+                       description {
+                               state: "small" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CONTACT_CALL_BTN_X0 CONTACT_BTN_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_CALL_BTN_X1 CONTACT_BTN_Y1; to: "bg";}
+                       }
+               }
+
+               part { name: "swallow.rj_msg_button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               visible: 0;
+                               rel1 { relative: CONTACT_RJ_MSG_BTN_X0 CONTACT_RJ_MSG_BTN_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_RJ_MSG_BTN_X1 CONTACT_RJ_MSG_BTN_Y1; to: "bg";}
+                               color: 255 0 0 255;
+                       }
+                       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.end_call_button";
+                       type: SWALLOW;
+                       scale: 1;
+                       description {
+                               state: "default" 0.0;
+                               fixed: 1 1;
+                               rel1 { relative: CONTACT_END_BTN_X0 CONTACT_BTN_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_END_BTN_X1 CONTACT_BTN_Y1; to: "bg";}
+                               color: 255 0 0 255;
+                       }
+                       description {
+                               state: "big" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CONTACT_END_BTN_X0 CONTACT_BTN_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_END_BTN_X1 CONTACT_BTN_Y1; to: "bg";}
+                       }
+                       description {
+                               state: "small" 0.0;
+                               inherit: "default" 0.0;
+                               rel1 { relative: CONTACT_END_BTN_X0 CONTACT_BTN_Y0; to: "bg";}
+                               rel2 { relative: CONTACT_END_BTN_X1 CONTACT_BTN_Y1; to: "bg";}
+                       }
+               }
+       }
+
+       programs{
+               program {
+                       name: "show_image";
+                       signal: "show_image";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "show" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_default";
+               }
+               program {
+                       name: "hide_image";
+                       signal: "hide_image";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "hide" 0.0;
+                       target: "caller_id_mask";
+                       target: "caller_id_default";
+               }
+               program {
+                       name: "small_main_ly";
+                       signal: "small_main_ly";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "small" 0.0;
+                       target: "bg";
+                       after: "hide_reject_msg";
+                       after: "show_swipe_call";
+               }
+               program {
+                       name: "show_reject_msg";
+                       signal: "show_reject_msg";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "show" 0.0;
+                       target: "swallow.reject_msg";
+               }
+               program {
+                       name: "hide_reject_msg";
+                       signal: "hide_reject_msg";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "hide" 0.0;
+                       target: "swallow.reject_msg";
+               }
+               program {
+                       name: "big_main_ly";
+                       signal: "big_main_ly";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "big" 0.0;
+                       target: "bg";
+                       after: "show_reject_msg";
+                       after: "hide_swipe_call";
+               }
+               program {
+                       name: "show_swipe_call";
+                       signal: "show_swipe_call";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "show" 0.0;
+                       target: "swallow.swipe_button";
+               }
+               program {
+                       name: "hide_swipe_call";
+                       signal: "hide_swipe_call";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "hide" 0.0;
+                       target: "swallow.swipe_button";
+                       after: "show_reject_msg";
+               }
+               program {
+                       name: "big_buttons";
+                       signal: "big_buttons";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "big" 0.0;
+                       target: "swallow.call_button";
+                       target: "swallow.end_call_button";
+                       after: "hide_swallow.rj_msg_button";
+               }
+               program {
+                       name: "hide_swallow.rj_msg_button";
+                       signal: "hide_swallow.rj_msg_button";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "hide" 0.0;
+                       target: "swallow.rj_msg_button";
+               }
+               program {
+                       name: "small_buttons";
+                       signal: "small_buttons";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "small" 0.0;
+                       target: "swallow.call_button";
+                       target: "swallow.end_call_button";
+                       after: "show_swallow.rj_msg_button";
+               }
+               program {
+                       name: "show_swallow.rj_msg_button";
+                       signal: "show_swallow.rj_msg_button";
+                       source: "main_incoming_active_call";
+                       action: STATE_SET "show" 0.0;
+                       target: "swallow.rj_msg_button";
+               }
+       }
+}
diff --git a/res/call_edc/edc_image_macro.edc b/res/call_edc/edc_image_macro.edc
new file mode 100755 (executable)
index 0000000..6a162a0
--- /dev/null
@@ -0,0 +1,172 @@
+/*
+ * 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 RESOURCE_IMAGE( GROUP_NAME, FILE_NAME ) \
+   group { \
+      name: GROUP_NAME; \
+      images.image: FILE_NAME COMP; \
+      parts { \
+         part { name: "image"; \
+            description { \
+               state: "default" 0.0; \
+               image.normal: FILE_NAME; \
+               aspect: 1 1; \
+               aspect_preference: BOTH; \
+            } \
+         } \
+      } \
+   }
+
+#define RESOURCE_IMAGE_LOSSY( FILE_NAME ) \
+   group { \
+      name: FILE_NAME; \
+      images.image: FILE_NAME LOSSY 85; \
+      parts { \
+         part { name: "image"; \
+            description { \
+               state: "default" 0.0; \
+               image.normal: FILE_NAME; \
+               aspect: 1 1; \
+               aspect_preference: BOTH; \
+            } \
+         } \
+      } \
+   }
+
+#define RESOURCE_IMAGE_WITH_BG_AND_COLOR_CODE( GROUP_NAME, IMAGE_PATH, BG_IMAGE_PATH, COLOR_CODE, BG_COLOR_CODE ) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: BG_IMAGE_PATH COMP; \
+               images.image: IMAGE_PATH COMP; \
+               parts { \
+                       part { \
+                               name: "image_bg"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: BG_IMAGE_PATH; \
+                                       color_class: BG_COLOR_CODE; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+               parts { \
+                       part { \
+                               name: "image"; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: IMAGE_PATH; \
+                                       color_class: COLOR_CODE; \
+                                       aspect: 1 1; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+               } \
+       }
+
+#define RESOURCE_IMAGE_WITH_MASK(GROUP_NAME, MASK_PATH, SWALLOW_PART_NAME) \
+       group { \
+               name: GROUP_NAME; \
+               images.image: MASK_PATH COMP; \
+               parts { \
+                       part { name: "mask"; \
+                               type: IMAGE; \
+                               precise_is_inside: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       image.normal: MASK_PATH; \
+                                       aspect: 1.0 1.0; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                       } \
+                       part { name: SWALLOW_PART_NAME; \
+                               type: SWALLOW; \
+                               clip_to: "mask"; \
+                               description { \
+                                       state: "default" 0.0; \
+                               } \
+                       } \
+               } \
+       }
+
+#define REL_PAD_LT(size, bg_size) ((bg_size-size)/2/bg_size)
+#define REL_PAD_RB(size, bg_size) (1 - REL_PAD_LT(size, bg_size))
+
+#define RESOURCE_IMAGE_WITH_BG_AND_TOUCH( GROUP_NAME, IMAGE_PATH, BG_IMAGE_PATH, IMAGE_SIZE, BG_IMAGE_SIZE, COLOR_CODE, BG_COLOR_CODE, BG_COLOR_CODE_P ) \
+       group { \
+       name: GROUP_NAME; \
+       images.image: BG_IMAGE_PATH COMP; \
+       images.image: IMAGE_PATH COMP; \
+       parts { \
+               part { \
+                       name: "image_bg"; \
+                       type: IMAGE; \
+                       description { \
+                               state: "default" 0.0; \
+                               image.normal: BG_IMAGE_PATH; \
+                               color_class: BG_COLOR_CODE; \
+                               aspect: 1 1; \
+                               aspect_preference: SOURCE; \
+                       } \
+                       description { \
+                               state: "pressed" 0.0; \
+                               inherit: "default" 0.0; \
+                               color_class: BG_COLOR_CODE_P; \
+                       } \
+               } \
+               part { \
+                       name: "image"; \
+                       type: IMAGE; \
+                       description { \
+                               state: "default" 0.0; \
+                               image.normal: IMAGE_PATH; \
+                               color_class: COLOR_CODE; \
+                               aspect: 1 1; \
+                               aspect_preference: SOURCE; \
+                               rel1 { relative: REL_PAD_LT(IMAGE_SIZE, BG_IMAGE_SIZE) REL_PAD_LT(IMAGE_SIZE, BG_IMAGE_SIZE); to: "image_bg";} \
+                               rel2 { relative: REL_PAD_RB(IMAGE_SIZE, BG_IMAGE_SIZE) REL_PAD_RB(IMAGE_SIZE, BG_IMAGE_SIZE); to: "image_bg";} \
+                       } \
+               } \
+               part { \
+                       name: "touch"; \
+                       type: RECT; \
+                       mouse_events: 1; \
+                       repeat_events: 0; \
+                       scale: 1; \
+                       description { \
+                               state: "default" 0.0; \
+                               color: 0 0 0 0; \
+                       } \
+               } \
+       } \
+       programs { \
+               program { \
+                       name: "mouse.down."GROUP_NAME; \
+                       source: "touch"; \
+                       signal: "mouse,down,*"; \
+                       action: STATE_SET "pressed" 0.0; \
+                       target: "image_bg"; \
+               } \
+               program { \
+                       name: "mouse.up."GROUP_NAME; \
+                       source: "touch"; \
+                       signal: "mouse,up,*"; \
+                       action: STATE_SET "default" 0.0; \
+                       target: "image_bg"; \
+               } \
+       } \
+}
diff --git a/res/callui-color-classes.h b/res/callui-color-classes.h
new file mode 100644 (file)
index 0000000..1b717c0
--- /dev/null
@@ -0,0 +1,477 @@
+/*
+ * 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.
+ *
+ */
+
+#ifndef __CALLUI_COLOR_CLASSES_H__
+#define __CALLUI_COLOR_CLASSES_H__
+
+//Suffix "_C" - for conflict color's names
+
+color_classes {
+       color_class {
+               name: "AO001";
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "W0113";
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "W0113P";
+               color: 61 185 169 255;
+       }
+       color_class {
+               name: "AO002";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "AO003";
+               color: 0 0 0 217;
+       }
+       color_class {
+               name: "AO003D";
+               color: 0 0 0 77;
+       }
+       color_class {
+               name: "AO003L2";
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "AO004";
+               color: 83 196 12 255;
+       }
+       color_class {
+               name: "AO004_C";
+               color: 51 51 51 205;
+       }
+       color_class {
+               name: "AO004D";
+               color: 51 51 51 64;
+       }
+       color_class {
+               name: "AO004P";
+               color: 83 196 12 255;
+       }
+       color_class {
+               name: "AO005_C";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "AO005P";
+               color: 61 185 204 77;
+       }
+       color_class {
+               name: "AO008";
+               color: 249 249 249 255;
+       }
+       color_class {
+               name: "AO008P";
+               color: 61 185 204 77;
+       }
+       color_class {
+               name: "AO009";
+               color: 128 128 128 255;
+       }
+       color_class {
+               name: "merge_btn_bg";
+               color: 0 0 0 230;
+       }
+       color_class {
+               name: "swap_btn_bg";
+               color: 0 0 0 240;
+       }
+       color_class {
+               name: "pressed";
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "AO011";
+               color: 50 130 136 190;
+       }
+       color_class {
+               name: "AO0111";
+               color: 51 125 133 200;
+       }
+       color_class {
+               name: "AO090";
+               color: 255 255 255 128;
+       }
+       color_class {
+               name: "AO046";
+               color: 83 196 12 59;
+       }
+       color_class {
+               name: "AO046L1";
+               color: 83 196 12 102;
+       }
+       color_class {
+               name: "AO005";
+               color: 250 57 22 255;
+       }
+       color_class {
+               name: "AO047";
+               color: 250 57 22 59;
+       }
+       color_class {
+               name: "AO047L1";
+               color: 250 57 22 102;
+       }
+       color_class {
+               name: "AO012";
+               color: 0 0 0 102;
+       }
+       color_class {
+               name: "AO014L1";
+               color: 255 255 255 235;
+       }
+       color_class {
+               name: "AO014L2";
+               color: 255 255 255 245;
+       }
+       color_class {
+               name: "AO014L3";
+               color: 255 255 255 219;
+       }
+       color_class {
+               name: "AO014L4";
+               color: 255 255 255 230;
+       }
+       color_class {
+               name: "AO014P";
+               color: 61 185 169 255;
+       }
+       color_class {
+               name: "AO014D";
+               color: 0 0 0 77;
+       }
+       color_class {
+               name: "AO016";
+               color: 49 148 163 255;
+       }
+       color_class {
+               name: "AO016L1";
+               color: 49 148 163 77;
+       }
+       color_class {
+               name: "AO100";
+               color: 49 148 163 255;
+       }
+       color_class {
+               name: "AO100L1";
+               color: 49 148 163 51;
+       }
+       color_class {
+               name: "AO021";
+               color: 0 0 0 26;
+       }
+       color_class {
+               name: "AO022";
+               color: 0 0 0 77;
+       }
+       color_class {
+               name: "AO022P";
+               color: 120 237 255 255;
+       }
+       color_class {
+               name: "AO039";
+               color: 186 208 217 77;
+       }
+       color_class {
+               name: "AO025";
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "AO025P";
+               color: 34 104 114 255;
+       }
+       color_class {
+               name: "AO025D";
+               color: 102 190 204 255;
+       }
+       color_class {
+               name: "AO026";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "AO026L1";
+               color: 255 255 255 245;
+       }
+       color_class {
+               name: "AO026L2";
+               color: 255 255 255 230;
+       }
+       color_class {
+               name: "AO026P";
+               color: 61 185 204 77;
+       }
+       color_class {
+               name: "AO030P";
+               color: 212 48 19 255;
+       }
+       color_class {
+               name: "AO030D";
+               color: 250 57 23 59;
+       }
+       color_class {
+               name: "AO036";
+               color: 247 251 253 255;
+       }
+       color_class {
+               name: "AO037";
+               color: 255 0 0 255;
+       }
+       color_class {
+               name: "AO043";
+               color: 250 57 22 255;
+       }
+       color_class {
+               name: "AO043P";
+               color: 212 48 19 255;
+       }
+       color_class {
+               name: "AO043D";
+               color: 250 57 22 59;
+       }
+       color_class {
+               name: "AO049";
+               color: 49 148 163 255;
+       }
+       color_class {
+               name: "AO052";
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "AO151";
+               color: 255 255 255 77;
+       }
+       color_class {
+               name: "ATO001";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO002";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO005";
+               color: 127 127 127 255;
+       }
+       color_class {
+               name: "ATO006";
+               color: 49 148 163 77;
+       }
+       color_class {
+               name: "ATO005QP";
+               color: 0 0 0 255;
+       }
+       color_class {
+               name: "ATO006QP";
+               color: 127 127 127 255;
+       }
+       color_class {
+               name: "ATO007";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO008";
+               color: 49 148 163 255;
+       }
+       color_class {
+               name: "ATO010";
+               color: 0 0 0 255;
+       }
+       color_class {
+               name: "ATO011";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO012";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO013";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO014";
+               color: 255 255 255 128;
+       }
+       color_class {
+               name: "ATO016";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO017";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO027";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO028";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "ATO030";
+               color: 255 255 255 89;
+       }
+       color_class {
+               name: "ATO031";
+               color: 255 255 255 89;
+       }
+       color_class {
+               name: "AO017";
+               color: 245 245 245 255;
+       }
+       color_class {
+               name: "AO017P";
+               color: 245 245 245 255;
+       }
+       color_class {
+               name: "AO017D";
+               color: 245 245 245 102;
+       }
+       color_class {
+               name: "AO018";
+               color: 160 240 0 255;
+       }
+       color_class {
+               name: "AO018P";
+               color: 160 240 0 255;
+       }
+       color_class {
+               name: "AO018D";
+               color: 160 240 0 102;
+       }
+       color_class {
+               name: "AO019";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "AO019P";
+               color: 255 255 255 255;
+       }
+       color_class {
+               name: "AO019D";
+               color: 255 255 255 102;
+       }
+       color_class {
+               name: "A01O004E01";
+               color: 255 255 255 235;
+       }
+       color_class {
+               name: "A01O004E02";
+               color: 255 255 255 245;
+       }
+       color_class {
+               name: "A01O004E03";
+               color: 255 255 255 219;
+       }
+       color_class {
+               name: "A01O004E04";
+               color: 255 255 255 230;
+       }
+       color_class {
+               name: "A01O004E05";
+               color: 255 255 255 204;
+       }
+       color_class {
+               name: "A01O004E06";
+               color: 255 255 255 214;
+       }
+       color_class {
+               name: "A01O004E07";
+               color: 255 255 255 189;
+       }
+       color_class {
+               name: "A01O004E08";
+               color: 255 255 255 199;
+       }
+       color_class {
+               name: "A01O004P";
+               color: 247 251 252 153;
+       }
+       color_class {
+               name: "A01O005";
+               color: 49 148 163 255;
+       }
+       color_class {
+               name: "A01O006";
+               color: 49 148 163 230;
+       }
+       color_class {
+               name: "AO199";
+               color: 255 255 255 245;
+       }
+       color_class {
+               name: "ATO009D";
+               color: 127 127 127 77;
+       }
+       color_class {
+               name: "AO010";
+               color: 102 102 102 77;
+       }
+       color_class {
+               name: "AO010P";
+               color: 0 0 0 255;
+       }
+       color_class {
+               name: "AO010D";
+               color: 102 102 102 23;
+       }
+       color_class {
+               name: "AO0081";
+               color: 249 249 249 255;
+       }
+       color_class {
+               name: "AO012P1";
+               color: 89 175 58 255;
+       }
+       color_class {
+               name: "AO012P";
+               color: 38 127 53 255;
+       }
+       color_class {
+               name: "AO013";
+               color: 214 49 49 255;
+       }
+       color_class {
+               name: "AO013P";
+               color: 163 37 37 255;
+       }
+       color_class {
+               name: "btn_ic_split_bg"; // AO013
+               color: 61 185 204 255;
+       }
+       color_class {
+               name: "btn_ic_split_bg_pressed";
+               color: 34 104 114 255;
+       }
+       color_class {
+               name: "btn_ic_end_bg"; //AO014
+               color: 214 49 49 255;
+       }
+       color_class {
+               name: "btn_ic_end_bg_pressed";
+               color: 163 37 37 255;
+       }
+       color_class {
+               name: "btn_ic"; //AO015
+               color: 249 249 249 255;
+       }
+}
+#endif /* __CALLUI_COLOR_CLASSES_H__ */
diff --git a/res/images/Call_button_bg_accept_reject.png b/res/images/Call_button_bg_accept_reject.png
new file mode 100755 (executable)
index 0000000..ee2ee58
Binary files /dev/null and b/res/images/Call_button_bg_accept_reject.png differ
diff --git a/res/images/Call_button_bg_reject.png b/res/images/Call_button_bg_reject.png
new file mode 100755 (executable)
index 0000000..40543b8
Binary files /dev/null and b/res/images/Call_button_bg_reject.png differ
diff --git a/res/images/Call_controller.png b/res/images/Call_controller.png
new file mode 100755 (executable)
index 0000000..b149e9e
Binary files /dev/null and b/res/images/Call_controller.png differ
diff --git a/res/images/PUT_IMAGES_HERE b/res/images/PUT_IMAGES_HERE
new file mode 100755 (executable)
index 0000000..e69de29
diff --git a/res/images/background.png b/res/images/background.png
new file mode 100644 (file)
index 0000000..be3057d
Binary files /dev/null and b/res/images/background.png differ
diff --git a/res/images/background_dim.png b/res/images/background_dim.png
new file mode 100644 (file)
index 0000000..ef7c638
Binary files /dev/null and b/res/images/background_dim.png differ
diff --git a/res/images/button_edit_bg_new.png b/res/images/button_edit_bg_new.png
new file mode 100644 (file)
index 0000000..d60c5ae
Binary files /dev/null and b/res/images/button_edit_bg_new.png differ
diff --git a/res/images/call_btn_circle.png b/res/images/call_btn_circle.png
new file mode 100755 (executable)
index 0000000..58ddf4f
Binary files /dev/null and b/res/images/call_btn_circle.png differ
diff --git a/res/images/call_btn_circle_02.png b/res/images/call_btn_circle_02.png
new file mode 100644 (file)
index 0000000..8495d75
Binary files /dev/null and b/res/images/call_btn_circle_02.png differ
diff --git a/res/images/call_btn_ic_accept.png b/res/images/call_btn_ic_accept.png
new file mode 100644 (file)
index 0000000..458a573
Binary files /dev/null and b/res/images/call_btn_ic_accept.png differ
diff --git a/res/images/call_btn_ic_end.png b/res/images/call_btn_ic_end.png
new file mode 100644 (file)
index 0000000..66404b4
Binary files /dev/null and b/res/images/call_btn_ic_end.png differ
diff --git a/res/images/call_btn_ic_reject.png b/res/images/call_btn_ic_reject.png
new file mode 100644 (file)
index 0000000..879bac4
Binary files /dev/null and b/res/images/call_btn_ic_reject.png differ
diff --git a/res/images/call_btn_ic_split.png b/res/images/call_btn_ic_split.png
new file mode 100644 (file)
index 0000000..aa04c53
Binary files /dev/null and b/res/images/call_btn_ic_split.png differ
diff --git a/res/images/call_button_accept_arrow.png b/res/images/call_button_accept_arrow.png
new file mode 100755 (executable)
index 0000000..7572d2c
Binary files /dev/null and b/res/images/call_button_accept_arrow.png differ
diff --git a/res/images/call_button_accept_circle_arrow.png b/res/images/call_button_accept_circle_arrow.png
new file mode 100755 (executable)
index 0000000..7572d2c
Binary files /dev/null and b/res/images/call_button_accept_circle_arrow.png differ
diff --git a/res/images/call_button_bg_line_accept_reject.png b/res/images/call_button_bg_line_accept_reject.png
new file mode 100755 (executable)
index 0000000..78f6506
Binary files /dev/null and b/res/images/call_button_bg_line_accept_reject.png differ
diff --git a/res/images/call_button_bg_masking.png b/res/images/call_button_bg_masking.png
new file mode 100755 (executable)
index 0000000..48e9dce
Binary files /dev/null and b/res/images/call_button_bg_masking.png differ
diff --git a/res/images/call_button_circle.png b/res/images/call_button_circle.png
new file mode 100755 (executable)
index 0000000..8bc44ab
Binary files /dev/null and b/res/images/call_button_circle.png differ
diff --git a/res/images/call_button_div_01.png b/res/images/call_button_div_01.png
new file mode 100755 (executable)
index 0000000..6859e23
Binary files /dev/null and b/res/images/call_button_div_01.png differ
diff --git a/res/images/call_button_div_02.png b/res/images/call_button_div_02.png
new file mode 100755 (executable)
index 0000000..4de86ef
Binary files /dev/null and b/res/images/call_button_div_02.png differ
diff --git a/res/images/call_button_div_03.png b/res/images/call_button_div_03.png
new file mode 100755 (executable)
index 0000000..7b7254b
Binary files /dev/null and b/res/images/call_button_div_03.png differ
diff --git a/res/images/call_button_div_04.png b/res/images/call_button_div_04.png
new file mode 100755 (executable)
index 0000000..cd5fda6
Binary files /dev/null and b/res/images/call_button_div_04.png differ
diff --git a/res/images/call_button_icon_01.png b/res/images/call_button_icon_01.png
new file mode 100755 (executable)
index 0000000..a1f21a9
Binary files /dev/null and b/res/images/call_button_icon_01.png differ
diff --git a/res/images/call_button_icon_02.png b/res/images/call_button_icon_02.png
new file mode 100755 (executable)
index 0000000..ff76a88
Binary files /dev/null and b/res/images/call_button_icon_02.png differ
diff --git a/res/images/call_button_icon_03.png b/res/images/call_button_icon_03.png
new file mode 100755 (executable)
index 0000000..1b8c83a
Binary files /dev/null and b/res/images/call_button_icon_03.png differ
diff --git a/res/images/call_button_icon_04.png b/res/images/call_button_icon_04.png
new file mode 100755 (executable)
index 0000000..c31b8b6
Binary files /dev/null and b/res/images/call_button_icon_04.png differ
diff --git a/res/images/call_button_reject_arrow.png b/res/images/call_button_reject_arrow.png
new file mode 100755 (executable)
index 0000000..c7f1fe4
Binary files /dev/null and b/res/images/call_button_reject_arrow.png differ
diff --git a/res/images/call_button_reject_circle_arrow.png b/res/images/call_button_reject_circle_arrow.png
new file mode 100755 (executable)
index 0000000..c7f1fe4
Binary files /dev/null and b/res/images/call_button_reject_circle_arrow.png differ
diff --git a/res/images/call_button_swap.png b/res/images/call_button_swap.png
new file mode 100755 (executable)
index 0000000..8ef3d19
Binary files /dev/null and b/res/images/call_button_swap.png differ
diff --git a/res/images/call_claro.png b/res/images/call_claro.png
new file mode 100755 (executable)
index 0000000..22275ff
Binary files /dev/null and b/res/images/call_claro.png differ
diff --git a/res/images/call_dual_sim_1.png b/res/images/call_dual_sim_1.png
new file mode 100755 (executable)
index 0000000..8d6c660
Binary files /dev/null and b/res/images/call_dual_sim_1.png differ
diff --git a/res/images/call_dual_sim_2.png b/res/images/call_dual_sim_2.png
new file mode 100755 (executable)
index 0000000..d48e569
Binary files /dev/null and b/res/images/call_dual_sim_2.png differ
diff --git a/res/images/call_dual_sim_bg.png b/res/images/call_dual_sim_bg.png
new file mode 100755 (executable)
index 0000000..6610fdf
Binary files /dev/null and b/res/images/call_dual_sim_bg.png differ
diff --git a/res/images/call_during_record.png b/res/images/call_during_record.png
new file mode 100755 (executable)
index 0000000..c8ef133
Binary files /dev/null and b/res/images/call_during_record.png differ
diff --git a/res/images/call_during_volume.png b/res/images/call_during_volume.png
new file mode 100755 (executable)
index 0000000..eda2ef1
Binary files /dev/null and b/res/images/call_during_volume.png differ
diff --git a/res/images/call_extra_merge.png b/res/images/call_extra_merge.png
new file mode 100755 (executable)
index 0000000..5c7ed29
Binary files /dev/null and b/res/images/call_extra_merge.png differ
diff --git a/res/images/call_extra_play.png b/res/images/call_extra_play.png
new file mode 100755 (executable)
index 0000000..938a254
Binary files /dev/null and b/res/images/call_extra_play.png differ
diff --git a/res/images/call_extra_split.png b/res/images/call_extra_split.png
new file mode 100755 (executable)
index 0000000..55a1521
Binary files /dev/null and b/res/images/call_extra_split.png differ
diff --git a/res/images/call_extra_swap.png b/res/images/call_extra_swap.png
new file mode 100755 (executable)
index 0000000..e0fc6ca
Binary files /dev/null and b/res/images/call_extra_swap.png differ
diff --git a/res/images/call_extra_volume.png b/res/images/call_extra_volume.png
new file mode 100755 (executable)
index 0000000..5cfc524
Binary files /dev/null and b/res/images/call_extra_volume.png differ
diff --git a/res/images/call_ic_controll_01.png b/res/images/call_ic_controll_01.png
new file mode 100755 (executable)
index 0000000..1956bf4
Binary files /dev/null and b/res/images/call_ic_controll_01.png differ
diff --git a/res/images/call_ic_controll_02.png b/res/images/call_ic_controll_02.png
new file mode 100755 (executable)
index 0000000..4858d5e
Binary files /dev/null and b/res/images/call_ic_controll_02.png differ
diff --git a/res/images/call_inline_button_close.png b/res/images/call_inline_button_close.png
new file mode 100755 (executable)
index 0000000..2c9103d
Binary files /dev/null and b/res/images/call_inline_button_close.png differ
diff --git a/res/images/call_inline_button_close_1.png b/res/images/call_inline_button_close_1.png
new file mode 100755 (executable)
index 0000000..3385152
Binary files /dev/null and b/res/images/call_inline_button_close_1.png differ
diff --git a/res/images/call_inline_button_open.png b/res/images/call_inline_button_open.png
new file mode 100755 (executable)
index 0000000..24cd2ba
Binary files /dev/null and b/res/images/call_inline_button_open.png differ
diff --git a/res/images/call_lock_icon.png b/res/images/call_lock_icon.png
new file mode 100755 (executable)
index 0000000..8731ee1
Binary files /dev/null and b/res/images/call_lock_icon.png differ
diff --git a/res/images/call_multi_hold_bg.png b/res/images/call_multi_hold_bg.png
new file mode 100644 (file)
index 0000000..3273f6b
Binary files /dev/null and b/res/images/call_multi_hold_bg.png differ
diff --git a/res/images/call_multi_hold_btn_merge_bg.png b/res/images/call_multi_hold_btn_merge_bg.png
new file mode 100644 (file)
index 0000000..bad5896
Binary files /dev/null and b/res/images/call_multi_hold_btn_merge_bg.png differ
diff --git a/res/images/call_multi_hold_btn_swap_bg.png b/res/images/call_multi_hold_btn_swap_bg.png
new file mode 100644 (file)
index 0000000..d8c28d3
Binary files /dev/null and b/res/images/call_multi_hold_btn_swap_bg.png differ
diff --git a/res/images/call_nextel.png b/res/images/call_nextel.png
new file mode 100755 (executable)
index 0000000..172c5a4
Binary files /dev/null and b/res/images/call_nextel.png differ
diff --git a/res/images/call_oi.png b/res/images/call_oi.png
new file mode 100755 (executable)
index 0000000..ecc332e
Binary files /dev/null and b/res/images/call_oi.png differ
diff --git a/res/images/call_open_arrow_01.png b/res/images/call_open_arrow_01.png
new file mode 100755 (executable)
index 0000000..0e59196
Binary files /dev/null and b/res/images/call_open_arrow_01.png differ
diff --git a/res/images/call_open_arrow_2.png b/res/images/call_open_arrow_2.png
new file mode 100755 (executable)
index 0000000..32c80b8
Binary files /dev/null and b/res/images/call_open_arrow_2.png differ
diff --git a/res/images/call_open_bg.png b/res/images/call_open_bg.png
new file mode 100755 (executable)
index 0000000..ba20789
Binary files /dev/null and b/res/images/call_open_bg.png differ
diff --git a/res/images/call_pattern_bg.png b/res/images/call_pattern_bg.png
new file mode 100755 (executable)
index 0000000..0d03848
Binary files /dev/null and b/res/images/call_pattern_bg.png differ
diff --git a/res/images/call_photo_id.png b/res/images/call_photo_id.png
new file mode 100755 (executable)
index 0000000..65a5545
Binary files /dev/null and b/res/images/call_photo_id.png differ
diff --git a/res/images/call_photo_id_98.png b/res/images/call_photo_id_98.png
new file mode 100644 (file)
index 0000000..ea903f7
Binary files /dev/null and b/res/images/call_photo_id_98.png differ
diff --git a/res/images/call_photo_id_bg.png b/res/images/call_photo_id_bg.png
new file mode 100755 (executable)
index 0000000..e7eb05e
Binary files /dev/null and b/res/images/call_photo_id_bg.png differ
diff --git a/res/images/call_photo_id_conference.png b/res/images/call_photo_id_conference.png
new file mode 100755 (executable)
index 0000000..5f63cf9
Binary files /dev/null and b/res/images/call_photo_id_conference.png differ
diff --git a/res/images/call_photo_id_emergency.png b/res/images/call_photo_id_emergency.png
new file mode 100644 (file)
index 0000000..a8e5824
Binary files /dev/null and b/res/images/call_photo_id_emergency.png differ
diff --git a/res/images/call_photo_id_mask.png b/res/images/call_photo_id_mask.png
new file mode 100755 (executable)
index 0000000..e7eb05e
Binary files /dev/null and b/res/images/call_photo_id_mask.png differ
diff --git a/res/images/call_photo_id_outer.png b/res/images/call_photo_id_outer.png
new file mode 100755 (executable)
index 0000000..3c5ef2b
Binary files /dev/null and b/res/images/call_photo_id_outer.png differ
diff --git a/res/images/call_resume_add.png b/res/images/call_resume_add.png
new file mode 100755 (executable)
index 0000000..04bec5b
Binary files /dev/null and b/res/images/call_resume_add.png differ
diff --git a/res/images/call_resume_group_icon.png b/res/images/call_resume_group_icon.png
new file mode 100755 (executable)
index 0000000..3886ae3
Binary files /dev/null and b/res/images/call_resume_group_icon.png differ
diff --git a/res/images/call_resume_icon.png b/res/images/call_resume_icon.png
new file mode 100755 (executable)
index 0000000..791016f
Binary files /dev/null and b/res/images/call_resume_icon.png differ
diff --git a/res/images/call_resume_play_bg.png b/res/images/call_resume_play_bg.png
new file mode 100755 (executable)
index 0000000..9d132ff
Binary files /dev/null and b/res/images/call_resume_play_bg.png differ
diff --git a/res/images/call_tim.png b/res/images/call_tim.png
new file mode 100755 (executable)
index 0000000..ba186df
Binary files /dev/null and b/res/images/call_tim.png differ
diff --git a/res/images/call_vivo.png b/res/images/call_vivo.png
new file mode 100755 (executable)
index 0000000..558521f
Binary files /dev/null and b/res/images/call_vivo.png differ
diff --git a/res/images/handler_btn_02.png b/res/images/handler_btn_02.png
new file mode 100644 (file)
index 0000000..d123e14
Binary files /dev/null and b/res/images/handler_btn_02.png differ
diff --git a/res/images/icon/B03_Call_Missedcall.png b/res/images/icon/B03_Call_Missedcall.png
new file mode 100755 (executable)
index 0000000..fa746dd
Binary files /dev/null and b/res/images/icon/B03_Call_Missedcall.png differ
diff --git a/res/images/icon/B03_Call_Mute.png b/res/images/icon/B03_Call_Mute.png
new file mode 100755 (executable)
index 0000000..f224ac6
Binary files /dev/null and b/res/images/icon/B03_Call_Mute.png differ
diff --git a/res/images/icon/B03_Call_SOSmessge_active.png b/res/images/icon/B03_Call_SOSmessge_active.png
new file mode 100755 (executable)
index 0000000..bc36b3a
Binary files /dev/null and b/res/images/icon/B03_Call_SOSmessge_active.png differ
diff --git a/res/images/icon/B03_Call_Speaker_on.png b/res/images/icon/B03_Call_Speaker_on.png
new file mode 100755 (executable)
index 0000000..78d8db9
Binary files /dev/null and b/res/images/icon/B03_Call_Speaker_on.png differ
diff --git a/res/images/icon/B03_Call_bluetooth.png b/res/images/icon/B03_Call_bluetooth.png
new file mode 100755 (executable)
index 0000000..8a3fc80
Binary files /dev/null and b/res/images/icon/B03_Call_bluetooth.png differ
diff --git a/res/images/icon/Notification_ic_missedcall.png b/res/images/icon/Notification_ic_missedcall.png
new file mode 100755 (executable)
index 0000000..b90a877
Binary files /dev/null and b/res/images/icon/Notification_ic_missedcall.png differ
diff --git a/res/images/icon/call_button_add.png b/res/images/icon/call_button_add.png
new file mode 100644 (file)
index 0000000..dad2078
Binary files /dev/null and b/res/images/icon/call_button_add.png differ
diff --git a/res/images/icon/call_inline_button_open.png b/res/images/icon/call_inline_button_open.png
new file mode 100644 (file)
index 0000000..24cd2ba
Binary files /dev/null and b/res/images/icon/call_inline_button_open.png differ
diff --git a/res/images/icon/call_photo_id_mask.png b/res/images/icon/call_photo_id_mask.png
new file mode 100755 (executable)
index 0000000..e7eb05e
Binary files /dev/null and b/res/images/icon/call_photo_id_mask.png differ
diff --git a/res/images/icon/call_resume_play_mask.png b/res/images/icon/call_resume_play_mask.png
new file mode 100755 (executable)
index 0000000..9d132ff
Binary files /dev/null and b/res/images/icon/call_resume_play_mask.png differ
diff --git a/res/images/icon/noti_icon_reject_auto.png b/res/images/icon/noti_icon_reject_auto.png
new file mode 100644 (file)
index 0000000..e24e794
Binary files /dev/null and b/res/images/icon/noti_icon_reject_auto.png differ
diff --git a/res/images/icon/noti_missed_call.png b/res/images/icon/noti_missed_call.png
new file mode 100755 (executable)
index 0000000..bb43e21
Binary files /dev/null and b/res/images/icon/noti_missed_call.png differ
diff --git a/res/images/icon/vc_voice_control.png b/res/images/icon/vc_voice_control.png
new file mode 100755 (executable)
index 0000000..8430768
Binary files /dev/null and b/res/images/icon/vc_voice_control.png differ
diff --git a/res/images/icon/vc_volume_icon.png b/res/images/icon/vc_volume_icon.png
new file mode 100755 (executable)
index 0000000..6dd03a3
Binary files /dev/null and b/res/images/icon/vc_volume_icon.png differ
diff --git a/res/images/keypad_bg_div.png b/res/images/keypad_bg_div.png
new file mode 100755 (executable)
index 0000000..8756b2f
Binary files /dev/null and b/res/images/keypad_bg_div.png differ
diff --git a/res/images/keypad_english_01.png b/res/images/keypad_english_01.png
new file mode 100644 (file)
index 0000000..309dd86
Binary files /dev/null and b/res/images/keypad_english_01.png differ
diff --git a/res/images/keypad_english_02.png b/res/images/keypad_english_02.png
new file mode 100644 (file)
index 0000000..2fa7a0b
Binary files /dev/null and b/res/images/keypad_english_02.png differ
diff --git a/res/images/keypad_english_03.png b/res/images/keypad_english_03.png
new file mode 100644 (file)
index 0000000..98f7ad1
Binary files /dev/null and b/res/images/keypad_english_03.png differ
diff --git a/res/images/keypad_english_04.png b/res/images/keypad_english_04.png
new file mode 100644 (file)
index 0000000..6b6a172
Binary files /dev/null and b/res/images/keypad_english_04.png differ
diff --git a/res/images/keypad_english_05.png b/res/images/keypad_english_05.png
new file mode 100644 (file)
index 0000000..288854f
Binary files /dev/null and b/res/images/keypad_english_05.png differ
diff --git a/res/images/keypad_english_06.png b/res/images/keypad_english_06.png
new file mode 100644 (file)
index 0000000..f346c46
Binary files /dev/null and b/res/images/keypad_english_06.png differ
diff --git a/res/images/keypad_english_07.png b/res/images/keypad_english_07.png
new file mode 100644 (file)
index 0000000..e70e9a8
Binary files /dev/null and b/res/images/keypad_english_07.png differ
diff --git a/res/images/keypad_english_08.png b/res/images/keypad_english_08.png
new file mode 100644 (file)
index 0000000..f4de8af
Binary files /dev/null and b/res/images/keypad_english_08.png differ
diff --git a/res/images/keypad_input_del.png b/res/images/keypad_input_del.png
new file mode 100755 (executable)
index 0000000..406851c
Binary files /dev/null and b/res/images/keypad_input_del.png differ
diff --git a/res/images/keypad_number_00.png b/res/images/keypad_number_00.png
new file mode 100644 (file)
index 0000000..255c897
Binary files /dev/null and b/res/images/keypad_number_00.png differ
diff --git a/res/images/keypad_number_01.png b/res/images/keypad_number_01.png
new file mode 100644 (file)
index 0000000..409bfb8
Binary files /dev/null and b/res/images/keypad_number_01.png differ
diff --git a/res/images/keypad_number_02.png b/res/images/keypad_number_02.png
new file mode 100644 (file)
index 0000000..b12b92f
Binary files /dev/null and b/res/images/keypad_number_02.png differ
diff --git a/res/images/keypad_number_03.png b/res/images/keypad_number_03.png
new file mode 100644 (file)
index 0000000..058876c
Binary files /dev/null and b/res/images/keypad_number_03.png differ
diff --git a/res/images/keypad_number_04.png b/res/images/keypad_number_04.png
new file mode 100644 (file)
index 0000000..3906f18
Binary files /dev/null and b/res/images/keypad_number_04.png differ
diff --git a/res/images/keypad_number_05.png b/res/images/keypad_number_05.png
new file mode 100644 (file)
index 0000000..a104591
Binary files /dev/null and b/res/images/keypad_number_05.png differ
diff --git a/res/images/keypad_number_06.png b/res/images/keypad_number_06.png
new file mode 100644 (file)
index 0000000..4c0893b
Binary files /dev/null and b/res/images/keypad_number_06.png differ
diff --git a/res/images/keypad_number_07.png b/res/images/keypad_number_07.png
new file mode 100644 (file)
index 0000000..e9eb6a0
Binary files /dev/null and b/res/images/keypad_number_07.png differ
diff --git a/res/images/keypad_number_08.png b/res/images/keypad_number_08.png
new file mode 100644 (file)
index 0000000..f6bd01b
Binary files /dev/null and b/res/images/keypad_number_08.png differ
diff --git a/res/images/keypad_number_09.png b/res/images/keypad_number_09.png
new file mode 100644 (file)
index 0000000..ede6db2
Binary files /dev/null and b/res/images/keypad_number_09.png differ
diff --git a/res/images/keypad_number_asterisk.png b/res/images/keypad_number_asterisk.png
new file mode 100644 (file)
index 0000000..923ea88
Binary files /dev/null and b/res/images/keypad_number_asterisk.png differ
diff --git a/res/images/keypad_number_sharp.png b/res/images/keypad_number_sharp.png
new file mode 100644 (file)
index 0000000..e0118d4
Binary files /dev/null and b/res/images/keypad_number_sharp.png differ
diff --git a/res/images/lock_circle_line_camera.png b/res/images/lock_circle_line_camera.png
new file mode 100755 (executable)
index 0000000..14c6cf3
Binary files /dev/null and b/res/images/lock_circle_line_camera.png differ
diff --git a/res/images/lock_circle_line_camera_drag.png b/res/images/lock_circle_line_camera_drag.png
new file mode 100755 (executable)
index 0000000..73008ab
Binary files /dev/null and b/res/images/lock_circle_line_camera_drag.png differ
diff --git a/res/images/logs_icon_sim_1.png b/res/images/logs_icon_sim_1.png
new file mode 100755 (executable)
index 0000000..9f8418b
Binary files /dev/null and b/res/images/logs_icon_sim_1.png differ
diff --git a/res/images/logs_icon_sim_2.png b/res/images/logs_icon_sim_2.png
new file mode 100755 (executable)
index 0000000..3294eaf
Binary files /dev/null and b/res/images/logs_icon_sim_2.png differ
diff --git a/res/images/logs_icon_sim_data.png b/res/images/logs_icon_sim_data.png
new file mode 100755 (executable)
index 0000000..a5e5e8f
Binary files /dev/null and b/res/images/logs_icon_sim_data.png differ
diff --git a/res/images/logs_icon_sim_heart.png b/res/images/logs_icon_sim_heart.png
new file mode 100755 (executable)
index 0000000..762ae56
Binary files /dev/null and b/res/images/logs_icon_sim_heart.png differ
diff --git a/res/images/logs_icon_sim_home.png b/res/images/logs_icon_sim_home.png
new file mode 100755 (executable)
index 0000000..cb226cf
Binary files /dev/null and b/res/images/logs_icon_sim_home.png differ
diff --git a/res/images/logs_icon_sim_internet.png b/res/images/logs_icon_sim_internet.png
new file mode 100755 (executable)
index 0000000..6fa2b93
Binary files /dev/null and b/res/images/logs_icon_sim_internet.png differ
diff --git a/res/images/logs_icon_sim_messages.png b/res/images/logs_icon_sim_messages.png
new file mode 100755 (executable)
index 0000000..4fc31e4
Binary files /dev/null and b/res/images/logs_icon_sim_messages.png differ
diff --git a/res/images/logs_icon_sim_office.png b/res/images/logs_icon_sim_office.png
new file mode 100755 (executable)
index 0000000..37de18c
Binary files /dev/null and b/res/images/logs_icon_sim_office.png differ
diff --git a/res/images/logs_icon_sim_phone.png b/res/images/logs_icon_sim_phone.png
new file mode 100755 (executable)
index 0000000..88f307a
Binary files /dev/null and b/res/images/logs_icon_sim_phone.png differ
diff --git a/res/images/quick_end.png b/res/images/quick_end.png
new file mode 100755 (executable)
index 0000000..5bdb2a1
Binary files /dev/null and b/res/images/quick_end.png differ
diff --git a/res/images/quick_end_press.png b/res/images/quick_end_press.png
new file mode 100755 (executable)
index 0000000..09ce4ba
Binary files /dev/null and b/res/images/quick_end_press.png differ
diff --git a/res/images/quick_extra.png b/res/images/quick_extra.png
new file mode 100755 (executable)
index 0000000..c59a84f
Binary files /dev/null and b/res/images/quick_extra.png differ
diff --git a/res/images/quick_extra_off.png b/res/images/quick_extra_off.png
new file mode 100755 (executable)
index 0000000..e452766
Binary files /dev/null and b/res/images/quick_extra_off.png differ
diff --git a/res/images/quick_extra_off_press.png b/res/images/quick_extra_off_press.png
new file mode 100755 (executable)
index 0000000..6ed377a
Binary files /dev/null and b/res/images/quick_extra_off_press.png differ
diff --git a/res/images/quick_extra_press.png b/res/images/quick_extra_press.png
new file mode 100755 (executable)
index 0000000..7e2a1eb
Binary files /dev/null and b/res/images/quick_extra_press.png differ
diff --git a/res/images/sound_volume_popup_bg.#.png b/res/images/sound_volume_popup_bg.#.png
new file mode 100755 (executable)
index 0000000..512eafe
Binary files /dev/null and b/res/images/sound_volume_popup_bg.#.png differ
diff --git a/res/images/vc_volume_icon.png b/res/images/vc_volume_icon.png
new file mode 100755 (executable)
index 0000000..6dd03a3
Binary files /dev/null and b/res/images/vc_volume_icon.png differ
diff --git a/res/images/vc_volume_icon_bt.png b/res/images/vc_volume_icon_bt.png
new file mode 100755 (executable)
index 0000000..eb33c25
Binary files /dev/null and b/res/images/vc_volume_icon_bt.png differ
diff --git a/res/images/vc_volume_mute_icon.png b/res/images/vc_volume_mute_icon.png
new file mode 100755 (executable)
index 0000000..8ed6fca
Binary files /dev/null and b/res/images/vc_volume_mute_icon.png differ
diff --git a/res/images/without_proximity_seneor_bg.png b/res/images/without_proximity_seneor_bg.png
new file mode 100755 (executable)
index 0000000..74205a0
Binary files /dev/null and b/res/images/without_proximity_seneor_bg.png differ
diff --git a/res/themes/bg/00_focus.png b/res/themes/bg/00_focus.png
new file mode 100644 (file)
index 0000000..fed29db
Binary files /dev/null and b/res/themes/bg/00_focus.png differ
diff --git a/res/themes/bg/00_list_circle_thumbnail_bg.png b/res/themes/bg/00_list_circle_thumbnail_bg.png
new file mode 100755 (executable)
index 0000000..96a0eb8
Binary files /dev/null and b/res/themes/bg/00_list_circle_thumbnail_bg.png differ
diff --git a/res/themes/bg/00_list_group_bg.png b/res/themes/bg/00_list_group_bg.png
new file mode 100755 (executable)
index 0000000..358d215
Binary files /dev/null and b/res/themes/bg/00_list_group_bg.png differ
diff --git a/res/themes/bg/00_list_group_bg_press.png b/res/themes/bg/00_list_group_bg_press.png
new file mode 100755 (executable)
index 0000000..cc4f97b
Binary files /dev/null and b/res/themes/bg/00_list_group_bg_press.png differ
diff --git a/res/themes/bg/C01-1_call_bottom_bg_function_press.png b/res/themes/bg/C01-1_call_bottom_bg_function_press.png
new file mode 100644 (file)
index 0000000..5d02ccc
Binary files /dev/null and b/res/themes/bg/C01-1_call_bottom_bg_function_press.png differ
diff --git a/res/themes/bg/call_btn_bg.#.png b/res/themes/bg/call_btn_bg.#.png
new file mode 100644 (file)
index 0000000..f9b84da
Binary files /dev/null and b/res/themes/bg/call_btn_bg.#.png differ
diff --git a/res/themes/bg/call_btn_circle.png b/res/themes/bg/call_btn_circle.png
new file mode 100755 (executable)
index 0000000..58ddf4f
Binary files /dev/null and b/res/themes/bg/call_btn_circle.png differ
diff --git a/res/themes/bg/call_resume_play_bg.png b/res/themes/bg/call_resume_play_bg.png
new file mode 100755 (executable)
index 0000000..9d132ff
Binary files /dev/null and b/res/themes/bg/call_resume_play_bg.png differ
diff --git a/res/themes/bg/core_button_bg.#.png b/res/themes/bg/core_button_bg.#.png
new file mode 100644 (file)
index 0000000..eba1fe5
Binary files /dev/null and b/res/themes/bg/core_button_bg.#.png differ
diff --git a/res/themes/bg/core_button_effect_normal.#.png b/res/themes/bg/core_button_effect_normal.#.png
new file mode 100644 (file)
index 0000000..28c6e47
Binary files /dev/null and b/res/themes/bg/core_button_effect_normal.#.png differ
diff --git a/res/themes/bg/core_button_effect_pressed.#.png b/res/themes/bg/core_button_effect_pressed.#.png
new file mode 100644 (file)
index 0000000..8b93be3
Binary files /dev/null and b/res/themes/bg/core_button_effect_pressed.#.png differ
diff --git a/res/themes/bg/vc_btn_bg.png b/res/themes/bg/vc_btn_bg.png
new file mode 100755 (executable)
index 0000000..a86bff0
Binary files /dev/null and b/res/themes/bg/vc_btn_bg.png differ
diff --git a/res/themes/bg/vc_btn_bg_dim.png b/res/themes/bg/vc_btn_bg_dim.png
new file mode 100755 (executable)
index 0000000..86e1599
Binary files /dev/null and b/res/themes/bg/vc_btn_bg_dim.png differ
diff --git a/res/themes/bg/vc_btn_bg_press.png b/res/themes/bg/vc_btn_bg_press.png
new file mode 100755 (executable)
index 0000000..d899bc1
Binary files /dev/null and b/res/themes/bg/vc_btn_bg_press.png differ
diff --git a/res/themes/bg/vc_btn_circle.png b/res/themes/bg/vc_btn_circle.png
new file mode 100755 (executable)
index 0000000..0a3f3d0
Binary files /dev/null and b/res/themes/bg/vc_btn_circle.png differ
diff --git a/res/themes/bg/vc_btn_circle_on.png b/res/themes/bg/vc_btn_circle_on.png
new file mode 100755 (executable)
index 0000000..1bf82f5
Binary files /dev/null and b/res/themes/bg/vc_btn_circle_on.png differ
diff --git a/res/themes/bg/vc_btn_circle_press.png b/res/themes/bg/vc_btn_circle_press.png
new file mode 100755 (executable)
index 0000000..9b5d9c7
Binary files /dev/null and b/res/themes/bg/vc_btn_circle_press.png differ
diff --git a/res/themes/bg/vc_btn_focus.png b/res/themes/bg/vc_btn_focus.png
new file mode 100755 (executable)
index 0000000..2d02de8
Binary files /dev/null and b/res/themes/bg/vc_btn_focus.png differ
diff --git a/res/themes/bg/vc_btn_red_bg.png b/res/themes/bg/vc_btn_red_bg.png
new file mode 100755 (executable)
index 0000000..09630c6
Binary files /dev/null and b/res/themes/bg/vc_btn_red_bg.png differ
diff --git a/res/themes/bg/vc_btn_red_bg_dim.png b/res/themes/bg/vc_btn_red_bg_dim.png
new file mode 100755 (executable)
index 0000000..f66465f
Binary files /dev/null and b/res/themes/bg/vc_btn_red_bg_dim.png differ
diff --git a/res/themes/bg/vc_btn_red_bg_press.png b/res/themes/bg/vc_btn_red_bg_press.png
new file mode 100755 (executable)
index 0000000..321e484
Binary files /dev/null and b/res/themes/bg/vc_btn_red_bg_press.png differ
diff --git a/res/themes/bg/vc_call_btn.png b/res/themes/bg/vc_call_btn.png
new file mode 100755 (executable)
index 0000000..67da889
Binary files /dev/null and b/res/themes/bg/vc_call_btn.png differ
diff --git a/res/themes/bg/vc_call_btn_bg.png b/res/themes/bg/vc_call_btn_bg.png
new file mode 100755 (executable)
index 0000000..c612920
Binary files /dev/null and b/res/themes/bg/vc_call_btn_bg.png differ
diff --git a/res/themes/bg/vc_call_btn_press.png b/res/themes/bg/vc_call_btn_press.png
new file mode 100755 (executable)
index 0000000..b1f812e
Binary files /dev/null and b/res/themes/bg/vc_call_btn_press.png differ
diff --git a/res/themes/bg/vc_contact_btn.png b/res/themes/bg/vc_contact_btn.png
new file mode 100755 (executable)
index 0000000..65614db
Binary files /dev/null and b/res/themes/bg/vc_contact_btn.png differ
diff --git a/res/themes/bg/vc_contact_btn_press.png b/res/themes/bg/vc_contact_btn_press.png
new file mode 100755 (executable)
index 0000000..89b7dd5
Binary files /dev/null and b/res/themes/bg/vc_contact_btn_press.png differ
diff --git a/res/themes/bg/vc_easymode_call_bottom_bg_press.png b/res/themes/bg/vc_easymode_call_bottom_bg_press.png
new file mode 100755 (executable)
index 0000000..4bb0556
Binary files /dev/null and b/res/themes/bg/vc_easymode_call_bottom_bg_press.png differ
diff --git a/res/themes/bg/vc_reject_message_list_create_bg.png b/res/themes/bg/vc_reject_message_list_create_bg.png
new file mode 100755 (executable)
index 0000000..d0ca92e
Binary files /dev/null and b/res/themes/bg/vc_reject_message_list_create_bg.png differ
diff --git a/res/themes/bg/vc_reject_message_list_create_bg_press.png b/res/themes/bg/vc_reject_message_list_create_bg_press.png
new file mode 100755 (executable)
index 0000000..4ff70fb
Binary files /dev/null and b/res/themes/bg/vc_reject_message_list_create_bg_press.png differ
diff --git a/res/themes/bg/vc_six_button_press.png b/res/themes/bg/vc_six_button_press.png
new file mode 100644 (file)
index 0000000..35d77b5
Binary files /dev/null and b/res/themes/bg/vc_six_button_press.png differ
diff --git a/res/themes/bg/vc_toggle.png b/res/themes/bg/vc_toggle.png
new file mode 100755 (executable)
index 0000000..bb63057
Binary files /dev/null and b/res/themes/bg/vc_toggle.png differ
diff --git a/res/themes/bg/vc_toggle_dim.png b/res/themes/bg/vc_toggle_dim.png
new file mode 100755 (executable)
index 0000000..c5c544e
Binary files /dev/null and b/res/themes/bg/vc_toggle_dim.png differ
diff --git a/res/themes/bg/vc_toggle_focus.png b/res/themes/bg/vc_toggle_focus.png
new file mode 100755 (executable)
index 0000000..589e79b
Binary files /dev/null and b/res/themes/bg/vc_toggle_focus.png differ
diff --git a/res/themes/bg/vc_toggle_press.png b/res/themes/bg/vc_toggle_press.png
new file mode 100755 (executable)
index 0000000..fdd9fbc
Binary files /dev/null and b/res/themes/bg/vc_toggle_press.png differ
diff --git a/res/themes/bg/vc_volume_progress_bar.png b/res/themes/bg/vc_volume_progress_bar.png
new file mode 100755 (executable)
index 0000000..d7eb2ad
Binary files /dev/null and b/res/themes/bg/vc_volume_progress_bar.png differ
diff --git a/res/themes/bg/vc_volume_progress_bg.png b/res/themes/bg/vc_volume_progress_bg.png
new file mode 100755 (executable)
index 0000000..9d3751d
Binary files /dev/null and b/res/themes/bg/vc_volume_progress_bg.png differ
diff --git a/res/themes/bg/vc_volume_slider_handle.png b/res/themes/bg/vc_volume_slider_handle.png
new file mode 100755 (executable)
index 0000000..3a64686
Binary files /dev/null and b/res/themes/bg/vc_volume_slider_handle.png differ
diff --git a/res/themes/bg/vc_volume_slider_handle_dim.png b/res/themes/bg/vc_volume_slider_handle_dim.png
new file mode 100755 (executable)
index 0000000..68639ff
Binary files /dev/null and b/res/themes/bg/vc_volume_slider_handle_dim.png differ
diff --git a/res/themes/bg/vc_volume_slider_handle_press.png b/res/themes/bg/vc_volume_slider_handle_press.png
new file mode 100755 (executable)
index 0000000..b8966ce
Binary files /dev/null and b/res/themes/bg/vc_volume_slider_handle_press.png differ
diff --git a/res/themes/call_genlist_theme.edc b/res/themes/call_genlist_theme.edc
new file mode 100755 (executable)
index 0000000..e23aba6
--- /dev/null
@@ -0,0 +1,1461 @@
+/*
+ * 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 BG_IMG_PATH "./bg"
+
+////////////Second Incoming Call Popup genlist Item customization start/////////
+#define GENLIST_LIST_BG_COLOR                       0 0 0 255
+#define GENLIST_LIST_PRESS_COLOR                    43 58 175 255
+#define GENLIST_LIST_DIM_COLOR                      0 0 0 255
+#define GENLIST_LIST_LINE1_COLOR                    64 64 64 255
+#define GENLIST_LIST_LINE2_COLOR                    0 0 0 255
+#define GENLIST_PART_MATCH_TAG_COLOR                    "+ color=#1382FF"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE           "#FAFAFAFF"
+#define GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE       "#969696FF"
+#define GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE                 "#FAFAFAFF"
+#define GENLIST_LIST_BG_POPUP_COLOR                 29 38 60 255
+#define GENLIST_LIST_LINE1_POPUP_COLOR              29 38 60 255
+#define GENLIST_LIST_LINE2_POPUP_COLOR              86 92 109 255
+
+#define GENLIST_TREESIZE_DEFAULT          26
+#define GENLIST_PART_LIST_LINE_HEIGHT     1
+#define GENLIST_PADDING_SIZE_LEFT               26
+#define GENLIST_PADDING_SIZE_RIGHT              26
+#define GENLIST_PADDING_SIZE_TOP                2
+#define GENLIST_PADDING_SIZE_BOTTOM             2
+#define GENLIST_PADDING_SIZE_DEFAULT            16
+#define GENLIST_HEIGHT_1LINE              110
+#define GENLIST_LIST_MAIN_TEXT_SIZE                         40
+
+
+#define LIST_ITEM_HEIGHT                     96
+#define LIST_PADDING_TOP_SIZE           15   // FIXME: please check font height
+#define LIST_PADDING_BOTTOM_SIZE        15   // FIXME: please check font height
+#define LIST_PADDING_CENTER_LEFT_SIZE   15
+#define LIST_PADDING_CENTER_RIGHT_SIZE  15
+#define LIST_PADDING_DEFAULT_SIZE       10
+#define LIST_TEXT_MAIN_SIZE                            28
+
+#define STYLE_TAGS \
+   tag:  "br" "\n";\
+   tag:  "ps" "ps";\
+   tag:  "tab" "\t";\
+   tag:  "b" "+ font_weight=Bold";
+
+ #define DSC_FROM_L( STATE, PARAM ) \
+   description { state: STATE;\
+      fixed: 1 0; \
+      align: 0.0 0.5; \
+      rel2.relative: 0.0 1.0; \
+      PARAM\
+   }
+
+// ------------------
+//         HERE <-- |
+// ------------------
+ #define DSC_FROM_R( STATE, PARAM ) \
+   description { state: STATE;\
+      fixed: 1 0; \
+      align: 1.0 0.5; \
+      rel1.relative: 1 0; \
+      PARAM\
+   }
+
+// ----------
+// |  HERE  |
+// ----------
+// |        |
+// ----------
+ #define DSC_FROM_T( STATE, PARAM ) \
+   description { state: STATE;\
+      fixed: 0 1; \
+      align: 0.5 0.0; \
+      rel2.relative: 1.0 0.0; \
+      PARAM\
+   }
+
+// ----------
+// |  HERE  |
+// ----------
+// |        |
+// ----------
+ #define DSC_FROM_B( STATE, PARAM ) \
+   description { state: STATE;\
+      fixed: 0 1; \
+      align: 0.5 1.0; \
+      rel1.relative: 0.0 1.0; \
+      PARAM\
+   }
+
+// ------------------
+// |  PART == HERE  |
+// ------------------
+ #define DSC_TO( STATE, PART, PARAM ) \
+   description { state: STATE;\
+      rel1 { \
+         relative: 0 0; \
+         to: PART; \
+      }\
+      rel2 {\
+         relative: 1 1;\
+         to: PART; \
+      }\
+      PARAM\
+   }
+
+//      |   TOP  |
+// ---------------------
+// LEFT |  HERE  | RIGHT
+// ---------------------
+//      | BOTTOM |
+#define DSC_LRTB( STATE, LEFT, RIGHT, TOP, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      rel1 { \
+         relative: 1 1; \
+         to_x: LEFT; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 0 0;\
+         to_x: RIGHT;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+// ---------------------
+// LEFT |--> HERE
+// ---------------------
+#define DSC_L( STATE, LEFT, REL_X, PARAM ) \
+   description { state: STATE;\
+      align: 0.5 0.5; \
+      aspect: 0 0; \
+      fixed: 1 0; \
+      rel1 { \
+         relative: 1 0; \
+         to_x: LEFT; \
+      }\
+      rel2 { \
+         relative: REL_X 1;\
+      }\
+      PARAM\
+   }
+
+// ---------------------
+//   HERE  <--| RIGHT
+// ---------------------
+#define DSC_R( STATE, RIGHT, REL_X, PARAM ) \
+   description { state: STATE;\
+      align: 1 0.5; \
+      fixed: 1 0; \
+      rel1 { \
+         relative: REL_X 0; \
+      }\
+      rel2 {\
+         relative: 0 1;\
+         to_x: RIGHT; \
+      }\
+      PARAM\
+   }
+
+// --------------------------
+// LEFT |--> HERE  <--| RIGHT
+// --------------------------
+#define DSC_LR( STATE, LEFT, RIGHT, PARAM ) \
+   description { state: STATE;\
+      rel1 { \
+         relative: 1 0; \
+         to_x: LEFT; \
+      }\
+      rel2 {\
+         relative: 0 1;\
+         to_x: RIGHT;\
+      }\
+      PARAM\
+   }
+
+//   |  TOP     |
+// -----------------
+//  |  HERE  <--| RIGHT
+// -----------------
+//  | BOTTOM   |
+#define DSC_RTB( STATE, RIGHT, TOP, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 1 0.5;\
+      rel1 { \
+         relative: 0 1; \
+         to_x: RIGHT; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 0 0;\
+         to_x: RIGHT;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+// LEFT |  HERE  | RIGHT
+// ---------------------
+//      | BOTTOM |
+#define DSC_LRB( STATE, LEFT, RIGHT, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 0.5 1;\
+      rel1 { \
+         relative: 1 0; \
+         to_x: LEFT; \
+         to_y: BOTTOM; \
+      }\
+      rel2 {\
+         relative: 0 0;\
+         to_x: RIGHT;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+//      |   TOP  |
+// ---------------------
+// LEFT |  HERE  | RIGHT
+#define DSC_LRT( STATE, LEFT, RIGHT, TOP, PARAM ) \
+   description { state: STATE;\
+      align: 0.5 0;\
+      rel1 { \
+         relative: 1 1; \
+         to_x: LEFT; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 0 1;\
+         to_x: RIGHT;\
+         to_y: TOP;\
+      }\
+      PARAM\
+   }
+
+//      |       TOP  |
+// ---------------------
+// LEFT | -->  HERE  |
+#define DSC_LT( STATE, LEFT, TOP, PARAM ) \
+   description { state: STATE;\
+      align: 0 0;\
+      rel1 { \
+         relative: 1 1; \
+         to_x: LEFT; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 1 1;\
+         to_x: LEFT;\
+         to_y: TOP;\
+      }\
+      PARAM\
+   }
+
+// LEFT |  --> HERE  |
+// ---------------------
+//      |     BOTTOM |
+#define DSC_LB( STATE, LEFT, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 0 1;\
+      rel1 { \
+         relative: 1 0; \
+         to_x: LEFT; \
+         to_y: BOTTOM; \
+      }\
+      rel2 {\
+         relative: 1 0;\
+         to_x: LEFT;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+//      |     TOP  |
+// ---------------------
+// LEFT |--> HERE  |
+// ---------------------
+//      |   BOTTOM |
+#define DSC_LTB( STATE, LEFT, TOP, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 0 0.5;\
+      rel1 { \
+         relative: 1 1; \
+         to_x: LEFT; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 1 0;\
+         to_x: LEFT;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+//      |   TOP  |
+// ---------------------
+//     |  HERE <--| RIGHT
+#define DSC_RT( STATE, RIGHT, TOP, PARAM ) \
+   description { state: STATE;\
+      align: 1 0;\
+      rel1 { \
+         relative: 0 1; \
+         to_x: RIGHT; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 0 1;\
+         to_x: RIGHT;\
+         to_y: TOP;\
+      }\
+      PARAM\
+   }
+
+//  | HERE <-- | RIGHT
+// ---------------------
+//  |  BOTTOM  |
+#define DSC_RB( STATE, RIGHT, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 1 1;\
+      rel1 { \
+         relative: 0 0; \
+         to_x: RIGHT; \
+         to_y: BOTTOM; \
+      }\
+      rel2 {\
+         relative: 0 0;\
+         to_x: RIGHT;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+// |   TOP  |
+// ----------
+// |  HERE  |
+// ----------
+// | BOTTOM |
+#define DSC_TB( STATE, TOP, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 0.5 0.5;\
+      rel1 { \
+         relative: 0 1; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 1 0;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+// |   TOP  |
+// ----------
+// |  HERE  |
+// ----------
+#define DSC_T( STATE, TOP, PARAM ) \
+   description { state: STATE;\
+      align: 0.5 0.0;\
+      rel1 { \
+         relative: 0 1; \
+         to_y: TOP; \
+      }\
+      rel2 {\
+         relative: 1 1;\
+         to_y: TOP;\
+      }\
+      PARAM\
+   }
+
+// |  HERE  |
+// ----------
+// |  BOTTOM  |
+// ----------
+#define DSC_B( STATE, BOTTOM, PARAM ) \
+   description { state: STATE;\
+      align: 0.5 1.0;\
+      rel1 { \
+         relative: 0 0; \
+         to_y: BOTTOM; \
+      }\
+      rel2 {\
+         relative: 1 0;\
+         to_y: BOTTOM;\
+      }\
+      PARAM\
+   }
+
+// PART
+#define PART(TYPE, NAME, DESCRIPION) \
+   part { name: NAME; \
+      scale: 1; \
+      type: TYPE; \
+      DESCRIPION \
+   }
+
+
+//**************************************************************************//
+// Genlist Macros
+//**************************************************************************//
+#define LIST_PART_BG \
+   PART(RECT, "bg", \
+      description { state: "default" 0.0; \
+         color_class: "B0211"; \
+      } \
+      description { state: "pressed" 0.0; \
+         inherit: "default" 0.0; \
+         color_class: "B0211P"; \
+      } \
+      description { state: "disabled" 0.0; \
+         color_class: "B0211"; \
+      } \
+      description { state: "reorder" 0.0; \
+         color: 0 0 0 0; \
+      } \
+   )
+
+#define LIST_PROGRAM_DEFAULT( TARGET ) \
+   program { name: "default"; \
+      signal: "elm,state,default"; \
+      source: "elm"; \
+      action: STATE_SET "default" 0.0; \
+      TARGET \
+   } \
+
+#define LIST_PROGRAM_DISABLED( TARGET ) \
+   program { name: "enabled"; \
+      signal: "elm,state,enabled"; \
+      source: "elm"; \
+      action: STATE_SET "default" 0.0; \
+      TARGET \
+   } \
+   program { name: "disabled"; \
+      signal: "elm,state,disabled"; \
+      source: "elm"; \
+      action: STATE_SET "disabled" 0.0; \
+      TARGET \
+   }
+
+#define LIST_PROGRAM_SELECT( TARGET ) \
+   program { name: "pressed"; \
+      signal: "elm,state,selected"; \
+      source: "elm"; \
+      action: STATE_SET "pressed" 0.0; \
+      TARGET \
+   } \
+   program { name: "unselected"; \
+      signal: "elm,state,unselected"; \
+      source: "elm"; \
+      action: STATE_SET "default" 0.0; \
+      TARGET \
+   }
+
+#define LIST_PROGRAM_SOUND \
+   program { name: "play_sound"; \
+      signal: "elm,state,clicked"; \
+      source: "elm"; \
+      script { \
+         run_program(PROGRAM:"touch_sound"); \
+      } \
+   } \
+   program { name: "touch_sound"; \
+      action: RUN_PLUGIN "touch_sound"; \
+   }
+
+#define LIST_PROGRAMS( TARGET ) \
+   programs { \
+      LIST_PROGRAM_DEFAULT( TARGET \
+         target: "bg"; \
+      ) \
+      LIST_PROGRAM_DISABLED( TARGET \
+         target: "bg"; \
+      ) \
+      LIST_PROGRAM_SELECT( TARGET \
+         target: "bg"; \
+      ) \
+      LIST_PROGRAM_SOUND \
+   }
+
+#define PARAM_TEXT(STYLE)\
+   text { \
+      min: 0 1; \
+      style: STYLE; \
+   }
+
+
+#define GENLIST_PROLOG \
+      data.item: "stacking" "above"; \
+      data.item: "selectraise" "on"; \
+      data.item: "treesize" 0;
+
+#define GENLIST_PROLOG_NORMAL \
+      GENLIST_PROLOG \
+      data.item: "treesize" GENLIST_TREESIZE_DEFAULT; \
+      data.item: "flips" "elm.flip.icon elm.flip.content"; \
+      images { \
+         image : BG_IMG_PATH"/00_list_group_bg.png" COMP; \
+         image : BG_IMG_PATH"/00_list_group_bg_press.png" COMP; \
+         image : BG_IMG_PATH"/00_focus.png" COMP; \
+      }
+
+#define GENLIST_PART_BASE_SIZE(HEIGHT) \
+         part { name: "base"; \
+            type: RECT; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+               min: 0 HEIGHT; \
+            } \
+            description { state: "disabled" 0.0; \
+               inherit: "default"; \
+            } \
+         } \
+         part { name: "state"; \
+            type: RECT; \
+            mouse_events: 0; \
+            scale: 1; \
+            description { state: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default"; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "default"; \
+            } \
+         }
+
+#define GENLIST_PART_BASE \
+         GENLIST_PART_BASE_SIZE(0)
+
+#define GENLIST_PART_SPACER(NAME, DESCRIPION) \
+    part { name: NAME; \
+      scale: 1; \
+      mouse_events: 0; \
+      type: SPACER; \
+      DESCRIPION \
+   }
+
+#define GENLIST_PART_RECT(NAME, DESCRIPION) \
+    part { name: NAME; \
+      scale: 1; \
+      type: RECT; \
+      DESCRIPION \
+   }
+
+#define GENLIST_PART_IMAGE(NAME, DESCRIPION) \
+   part { name: NAME; \
+      scale: 1; \
+      type: IMAGE; \
+      DESCRIPION \
+   }
+
+#define GENLIST_DESCRIPTION_LR( left, right, param ) \
+      description { state: "default" 0.0;\
+         rel1 { \
+            relative: 1 0; \
+            to_x: left; \
+            to_y: "base"; \
+         }\
+         rel2 {\
+            relative: 0 1;\
+            to_x: right;\
+            to_y: "base"; \
+         }\
+         param\
+      }
+
+#define GENLIST_PART_BG_NORMAL \
+      GENLIST_PART_RECT("bg_clip", \
+         mouse_events: 0; \
+         description { state: "default" 0.0; \
+            visible: 1; \
+            color: 255 255 255 255; \
+         } \
+         description { state: "decorate" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "decorate_reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+      ) \
+      GENLIST_PART_RECT("bg_reorder_clip", \
+         mouse_events: 0; \
+         description { state: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 1; \
+            color: 255 255 255 255; \
+         } \
+         description { state: "decorate_reorder" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "decorate" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+         description { state: "reorder_flip" 0.0; \
+            inherit: "default" 0.0; \
+            visible: 0; \
+         } \
+      ) \
+      GENLIST_PART_RECT("bg",  \
+         clip_to: "bg_clip"; \
+         description { state: "default" 0.0; \
+            color: GENLIST_LIST_BG_COLOR; \
+         } \
+         description { state: "selected" 0.0; \
+            inherit: "default" 0.0; \
+            color: GENLIST_LIST_PRESS_COLOR; \
+         } \
+         description { state: "disabled" 0.0; \
+            inherit: "default" 0.0; \
+            color: GENLIST_LIST_DIM_COLOR; \
+         } \
+      ) \
+      GENLIST_PART_SPACER("bg_reorder_left", \
+         description { state: "default" 0.0; \
+            min: 16 0; \
+            max: 16 -1; \
+            fixed: 1 0; \
+            align: 0 0.5; \
+            rel2.relative: 0 1; \
+         } \
+      ) \
+      GENLIST_PART_SPACER("bg_reorder_right", \
+         description { state: "default" 0.0; \
+            min: 16 0; \
+            max: 16 -1; \
+            fixed: 1 0; \
+            align: 1.0 0.5; \
+            rel1.relative: 1 0; \
+         } \
+      ) \
+      GENLIST_PART_IMAGE("bg_reorder", \
+         clip_to: "bg_reorder_clip"; \
+         GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
+            image { \
+               normal: BG_IMG_PATH"/00_list_group_bg.png"; \
+               border: 17 17 8 8; \
+               border_scale: 1; \
+            } \
+         ) \
+         description { state: "selected" 0.0; \
+            inherit: "default"; \
+            image { \
+               normal: BG_IMG_PATH"/00_list_group_bg_press.png"; \
+               border: 17 17 8 8; \
+               border_scale: 1; \
+            } \
+         } \
+         description { state: "flipped" 0.0; \
+            inherit: "default"; \
+            visible: 0; \
+         } \
+      )
+
+#define GENLIST_PART_BOTTOM_LINE \
+         GENLIST_PART_RECT("bottom_line_clip", \
+            description { state: "default" 0.0; \
+               color: 255 255 255 255; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "default" 0.0; \
+               color: 0 0 0 0; \
+            } \
+         ) \
+         GENLIST_PART_RECT("bottom_line", \
+            mouse_events: 0; \
+            clip_to: "bottom_line_clip"; \
+            description { state: "default" 0.0; \
+               min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
+               max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
+               fixed: 0 1; \
+               align: 0.5 1; \
+               color: GENLIST_LIST_LINE1_COLOR; \
+               rel1.to: "bottom_line2"; \
+               rel2.to: "bottom_line2"; \
+               rel2.relative: 1 0; \
+               rel1.offset: -1 -1; \
+            } \
+            description { state: "flipped" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 0; \
+            } \
+         ) \
+         GENLIST_PART_RECT("bottom_line2", \
+            mouse_events: 0; \
+            clip_to: "bottom_line_clip"; \
+            description { state: "default" 0.0; \
+               min: 0 GENLIST_PART_LIST_LINE_HEIGHT; \
+               max: -1 GENLIST_PART_LIST_LINE_HEIGHT; \
+               fixed: 0 1; \
+               align: 0.5 1; \
+               color: GENLIST_LIST_LINE2_COLOR; \
+               rel1.to_x: "base"; \
+               rel1.relative: 0 0; \
+               rel2.to_x: "base"; \
+               rel2.relative: 1 1; \
+               rel1.offset: -1 -1; \
+            } \
+            description { state: "flipped" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 0; \
+            } \
+         )
+
+#define GENLIST_PART_EXPANDED_PAD \
+         part { name: "elm.swallow.pad"; \
+            type: SWALLOW; \
+            scale: 1; \
+            mouse_events: 0; \
+            description { state: "default" 0.0; \
+               visible: 0; \
+               min: 0 0; \
+               fixed: 1 0; \
+               align: 0.0 0.5; \
+               rel1.to: "base"; \
+               rel2.to: "base"; \
+               rel2.relative: 0.0 1.0; \
+            } \
+         } \
+
+#define GENLIST_DESCRIPTION_L( left, param ) \
+      description { state: "default" 0.0;\
+         align: 0 0.5; \
+         fixed: 1 0; \
+         rel1 { \
+            relative: 1 0; \
+            to_x: left; \
+            to_y: "base"; \
+         }\
+         rel2 { \
+            relative: 1 1;\
+            to_x: left; \
+            to_y: "base"; \
+         }\
+         param\
+      }
+
+#define GENLIST_DESCRIPTION_DECORATE_PADDING \
+   description { state: "decorate" 0.0; \
+      inherit: "default" 0.0; \
+      min: 0 0; \
+      max: 0 0; \
+   }
+
+#define GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+   description { state: "decorate_reorder" 0.0; \
+      inherit: "default" 0.0; \
+      min: 0 0; \
+      max: 0 0; \
+   }
+
+#define GENLIST_DESCRIPTION_REORDER_PADDING \
+   description { state: "reorder" 0.0; \
+      inherit: "default" 0.0; \
+      min: 32 0; \
+      max: 32 -1; \
+   }
+
+#define GENLIST_PART_PADDING_LEFT \
+         GENLIST_PART_EXPANDED_PAD \
+         GENLIST_PART_SPACER("elm.padding.left", \
+            GENLIST_DESCRIPTION_L("elm.swallow.pad",  \
+               min: GENLIST_PADDING_SIZE_LEFT 0; \
+               max: GENLIST_PADDING_SIZE_LEFT -1; \
+               fixed: 1 0; \
+            ) \
+            GENLIST_DESCRIPTION_DECORATE_PADDING \
+            GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+         )
+
+#define GENLIST_PART_PADDING_RIGHT \
+         GENLIST_PART_SPACER("elm.padding.right", \
+            description { state: "default" 0.0; \
+               min: GENLIST_PADDING_SIZE_RIGHT 0; \
+               max: GENLIST_PADDING_SIZE_RIGHT -1; \
+               fixed: 1 0; \
+               align: 1.0 0.5; \
+               rel1.to: "base"; \
+               rel2.to: "base"; \
+               rel1.relative: 1 0; \
+            } \
+            GENLIST_DESCRIPTION_DECORATE_PADDING \
+            GENLIST_DESCRIPTION_REORDER_PADDING \
+            GENLIST_DESCRIPTION_DECORATE_REORDER_PADDING \
+         )
+
+#define GENLIST_PART_PADDING_TOP \
+         GENLIST_PART_SPACER("elm.padding.top", \
+            description { \
+               state: "default" 0.0; \
+               min: 0 GENLIST_PADDING_SIZE_TOP; \
+               max: -1 GENLIST_PADDING_SIZE_TOP; \
+               fixed: 0 1; \
+               rel1.to: "base"; \
+               rel2.to: "base"; \
+               rel2.relative: 1.0 0.0; \
+               align: 0.5 0.0; \
+            } \
+         )
+
+#define GENLIST_PART_PADDING_BOTTOM \
+         GENLIST_PART_SPACER("elm.padding.bottom", \
+            description { state: "default" 0.0; \
+               min: 0 GENLIST_PADDING_SIZE_BOTTOM; \
+               max: -1 GENLIST_PADDING_SIZE_BOTTOM; \
+               fixed: 0 1; \
+               rel1.to: "base"; \
+               rel2.to: "base"; \
+               rel1.relative: 0.0 1.0; \
+               align: 0.5 1.0; \
+            } \
+         )
+
+#define GENLIST_DESCRIPTION( left, right, top, bottom, param ) \
+      description { state: "default" 0.0;\
+         rel1 { \
+            relative: 1 1; \
+            to_x: left; \
+            to_y: top; \
+         }\
+         rel2 {\
+            relative: 0 0;\
+            to_x: right;\
+            to_y: bottom;\
+         }\
+         param\
+      }
+
+#define GENLIST_PART_TEXTBLOCK(NAME, DESCRIPION) \
+    part { name: NAME; \
+      scale: 1; \
+      type: TEXTBLOCK; \
+      repeat_events: 1; \
+      DESCRIPION \
+   }
+
+#define GENLIST_PARAM_LISTITEM_TB \
+   text { \
+      min: 0 1; \
+      style: "genlist_style_list_main_text_unread"; \
+   }
+
+#define GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
+   description { state: "disabled" 0.0; \
+      inherit: "default" 0.0; \
+      text.style: "genlist_style_list_main_text_unread_dim"; \
+   } \
+   description { state: "selected" 0.0; \
+      inherit: "default" 0.0; \
+      text.style: "genlist_style_list_main_text_focus"; \
+   }
+
+#define GENLIST_PART_LISTITEM_TB_(NAME, HEIGHT, LEFT, RIGHT, TOP, BOTTOM, PARAM) \
+   GENLIST_PART_TEXTBLOCK(NAME, \
+      GENLIST_DESCRIPTION(LEFT, RIGHT, TOP, BOTTOM, \
+         min: 0 HEIGHT; \
+         max: 9999 HEIGHT; \
+         fixed: 1 0; \
+         GENLIST_PARAM_LISTITEM_TB \
+         PARAM \
+      ) \
+      GENLIST_DESCRIPTION_LISTITEM_OTHERS_TB \
+   )
+
+#define GENLIST_PART_ICON(NAME, DESCRIPION) \
+   part { name: NAME; \
+      scale: 1; \
+      type: SWALLOW; \
+      DESCRIPION \
+   }
+
+#define GENLIST_PART_PADDING_R( NAME, RIGHT ) \
+         GENLIST_PART_SPACER(NAME, \
+            description { state: "default" 0.0; \
+               fixed: 1 0; \
+               min: GENLIST_PADDING_SIZE_DEFAULT 0; \
+               max: GENLIST_PADDING_SIZE_DEFAULT -1; \
+               align: 1 0.5; \
+               rel1 { \
+                  relative: 0 0; \
+                  to_x: RIGHT; \
+               } \
+               rel2 { \
+                  relative: 0 1; \
+                  to_x: RIGHT; \
+               } \
+            } \
+         )
+
+#define GENLIST_DESCRIPTION_RTB( right, top, bottom, param ) \
+      description { state: "default" 0.0;\
+         align: 1 0.5;\
+         rel1 { \
+            relative: 0 1; \
+            to_x: right; \
+            to_y: top; \
+         }\
+         rel2 {\
+            relative: 0 0;\
+            to_x: right;\
+            to_y: bottom;\
+         }\
+         param\
+      }
+
+#define GENLIST_PART_FLIP \
+         GENLIST_PART_RECT("elm.flip.bg", \
+            mouse_events: 0; \
+            description { state: "default" 0.0;\
+               color: 0 0 0 0;\
+            } \
+            description { state: "flipped" 0.0; \
+               inherit: "default" 0.0; \
+               rel2.offset: 0 -3; \
+               color: GENLIST_LIST_BG_COLOR;\
+            }\
+         ) \
+         GENLIST_PART_SPACER("elm.flip.padding.right", \
+            description { state: "default" 0.0; \
+               min: 26 0; \
+               max: 26 -1; \
+               fixed: 1 0; \
+               align: 1 0.5; \
+               rel1.relative: 1 0; \
+            } \
+         ) \
+         GENLIST_PART_ICON("elm.flip.content", \
+            GENLIST_DESCRIPTION("elm.padding.left", "elm.flip.padding.icon.left",  \
+               "elm.padding.top", "elm.padding.bottom", \
+               visible: 0; \
+               aspect: 1 1; \
+               min: 0 96; \
+            ) \
+            description { state: "flipped" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+            } \
+         ) \
+         GENLIST_PART_PADDING_R("elm.flip.padding.icon.left", "elm.flip.icon") \
+         GENLIST_PART_ICON( "elm.flip.icon", \
+            GENLIST_DESCRIPTION_RTB("elm.flip.padding.right", \
+               "elm.padding.top", "elm.padding.bottom", \
+               visible: 0; \
+               aspect: 1 1; \
+               align: 1 0.5; \
+               max: 158 74; \
+            ) \
+            description { state: "flipped" 0.0; \
+               inherit: "default" 0.0; \
+               visible: 1; \
+            } \
+         )
+
+#define GENLIST_DESCRIPTION_ENVELOP( PART, PARAM ) \
+      description { state: "default" 0.0;\
+         rel1 { \
+            relative: 0 0; \
+            to: PART; \
+         }\
+         rel2 {\
+            relative: 1 1;\
+            to: PART; \
+         }\
+         PARAM\
+      }
+
+#define GENLIST_PART_FOCUS \
+   GENLIST_PART_IMAGE("focus_part", \
+      mouse_events: 0; \
+      description { state: "default" 0.0; \
+         visible: 0; \
+         image { \
+            normal: BG_IMG_PATH"/00_focus.png"; \
+            border: 6 6 6 6; \
+            border_scale: 1; \
+         } \
+      } \
+      description { state: "focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   ) \
+   GENLIST_PART_ICON("elm.icon.focus", \
+      repeat_events: 1; \
+      GENLIST_DESCRIPTION_ENVELOP("focus_part", \
+         fixed: 1 1; \
+      ) \
+   )
+
+#define GENLIST_PART_FOCUS_REORDER \
+   GENLIST_PART_IMAGE("focus_part_reorder", \
+      mouse_events: 0; \
+      GENLIST_DESCRIPTION_LR("bg_reorder_left", "bg_reorder_right", \
+         visible: 0; \
+         image { \
+            normal: BG_IMG_PATH"/00_focus.png"; \
+            border: 6 6 6 6; \
+            border_scale: 1; \
+         } \
+      ) \
+      description { state: "focused" 0.0; \
+         inherit: "default" 0.0; \
+         visible: 1; \
+      } \
+   )
+
+#define GENLIST_PART_FOCUS_NORMAL \
+   GENLIST_PART_FOCUS \
+   GENLIST_PART_FOCUS_REORDER
+
+#define GENLIST_PROGRAM_DEFAULT( TARGET ) \
+         program { name: "default"; \
+            signal: "elm,state,default"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            TARGET \
+         } \
+
+#define GENLIST_PROGRAM_DISABLED( TARGET ) \
+         program { name: "enabled"; \
+            signal: "elm,state,enabled"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            target: "base"; \
+            TARGET \
+         } \
+         program { name: "disabled"; \
+            signal: "elm,state,disabled"; \
+            source: "elm"; \
+            action: STATE_SET "disabled" 0.0; \
+            target: "base"; \
+            TARGET \
+         }
+
+#define GENLIST_PROGRAM_FOCUS_NORMAL \
+      program { name: "focused"; \
+         signal: "elm,state,focused"; \
+         source: "elm"; \
+         script { \
+            new st[31]; \
+            new Float:vl; \
+            get_state(PART:"bg_reorder_clip", st, 30, vl); \
+            if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) \
+               set_state(PART:"focus_part_reorder", "focused", 0.0); \
+            else \
+               set_state(PART:"focus_part", "focused", 0.0); \
+         } \
+      } \
+      program { name: "unfocused"; \
+         signal: "elm,state,unfocused"; \
+         source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "focus_part_reorder"; \
+         target: "focus_part"; \
+      }
+
+#define GENLIST_PROGRAM_SELECT( TARGET ) \
+         program { name: "selected"; \
+            signal: "elm,state,selected"; \
+            source: "elm"; \
+            action: STATE_SET "selected" 0.0; \
+            TARGET \
+         } \
+         program { name: "unselected"; \
+            signal: "elm,state,unselected"; \
+            source: "elm"; \
+            action: STATE_SET "default" 0.0; \
+            TARGET \
+         }
+
+#define GENLIST_PROGRAM_SOUND( SRC ) \
+      program { \
+         name: "sound_disable"SRC; \
+         signal: "elm,state,slide,active"; \
+         source: "elm"; \
+         action: STATE_SET "disabled" 0.0; \
+         target: "base"; \
+      } \
+      program { \
+         name: "sound_enable"SRC; \
+         signal: "elm,state,slide,passive"; \
+         source: "elm"; \
+         action: STATE_SET "default" 0.0; \
+         target: "base"; \
+      } \
+      program { name: "play_sound"SRC; \
+         signal: "mouse,clicked,1"; \
+         source: SRC; \
+         script { \
+            new st[31]; \
+            new Float:vl; \
+            get_state(PART:"base", st, 30, vl); \
+            if (strcmp(st, "disabled")) \
+               play_sample("touch_sound", 1.0); \
+         } \
+      }
+
+#define GENLIST_PROGRAM_REORDER_SOUND( SRC ) \
+      program { name: "play_sound"SRC; \
+         signal: "mouse,clicked,1"; \
+         source: SRC; \
+         script { \
+            new st[31]; \
+            new Float:vl; \
+            get_state(PART:"base", st, 30, vl); \
+            if (strcmp(st, "disabled")) \
+               run_program(PROGRAM:"play_button_press"SRC); \
+         } \
+      } \
+      program { name: "play_button_press"SRC; \
+         action: PLAY_SAMPLE "reorder_sound" 1.0; \
+      }
+
+#define GENLIST_PROGRAM_DECORATE_REORDER( NAME, TARGET ) \
+         program { name: "reorder_enabled"NAME; \
+            signal: "elm,state,reorder,mode_set"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"reorder_set"NAME); \
+               } \
+            } \
+         } \
+         program { name: "reorder_disabled"NAME; \
+            signal: "elm,state,reorder,mode_unset"; \
+            source: "elm"; \
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "decorate") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"default_set"NAME); \
+               } \
+            } \
+         } \
+         program { name: "decorate_enabled_effect"NAME; \
+            signal: "elm,state,decorate,enabled,effect";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"decorate_set"NAME); \
+               } \
+            } \
+         }\
+         program { name: "decorate_disabled_effect"NAME;\
+            signal: "elm,state,decorate,disabled,effect";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"default_set"NAME); \
+               } \
+            } \
+         }\
+         program { name: "decorate_enabled"NAME;\
+            signal: "elm,state,decorate,enabled";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"decorate_reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"decorate_set"NAME); \
+               } \
+            } \
+         }\
+         program { name: "decorate_disabled"NAME;\
+            signal: "elm,state,decorate,disabled";\
+            source: "elm";\
+            script { \
+               new st[31]; \
+               new Float:vl; \
+               get_state(PART:"state", st, 30, vl); \
+               if (!strcmp(st, "reorder") || !strcmp(st, "decorate_reorder")) { \
+                  run_program(PROGRAM:"reorder_set"NAME); \
+               } else { \
+                  run_program(PROGRAM:"default_set"NAME); \
+               } \
+            } \
+         } \
+         program { name: "default_set"NAME; \
+            action: STATE_SET "default" 0.0;\
+            target: "state"; \
+            TARGET \
+         } \
+         program { name: "decorate_set"NAME; \
+            action: STATE_SET "decorate" 0.0;\
+            target: "state"; \
+            TARGET \
+         } \
+         program { name: "reorder_set"NAME; \
+            action: STATE_SET "reorder" 0.0;\
+            target: "state"; \
+            TARGET \
+         } \
+         program { name: "decorate_reorder_set"NAME; \
+            action: STATE_SET "decorate_reorder" 0.0;\
+            target: "state"; \
+            TARGET \
+         }
+
+#define GENLIST_PROGRAM_FLIP \
+         program { name: "flip_enabled"; \
+            signal:  "elm,state,flip,enabled"; \
+            source:  "elm"; \
+            transition: DECELERATE 0.5; \
+            action:  STATE_SET "flipped" 0.0; \
+            target: "elm.flip.content"; \
+            target: "elm.flip.icon"; \
+         } \
+         program { name: "flip_disabled"; \
+            signal:  "elm,state,flip,disabled"; \
+            source:  "elm"; \
+            transition: DECELERATE 0.5; \
+            action:  STATE_SET "default" 0.0; \
+            target: "elm.flip.content"; \
+            target: "elm.flip.icon"; \
+         } \
+         program { name: "flip_enabled_bg"; \
+            signal:  "elm,state,flip,enabled"; \
+            source:  "elm"; \
+            action:  STATE_SET "flipped" 0.0; \
+            target: "elm.flip.bg"; \
+         } \
+         program { name: "flip_disabled_bg"; \
+            signal:  "elm,state,flip,disabled"; \
+            source:  "elm"; \
+            action:  STATE_SET "default" 0.0; \
+            target: "elm.flip.bg"; \
+         }
+
+#define GENLIST_PROGRAMS_NORMAL( TARGET ) \
+   programs { \
+      GENLIST_PROGRAM_DEFAULT( TARGET \
+         target: "base"; \
+         target: "bg"; \
+         target: "bg_clip"; \
+         target: "bottom_line"; \
+         target: "bottom_line2"; \
+         target: "bottom_line_clip"; \
+         target: "bg_reorder"; \
+         target: "elm.padding.left"; \
+         target: "elm.padding.right"; \
+      ) \
+      GENLIST_PROGRAM_DISABLED( TARGET \
+         target: "bg"; \
+         target: "bg_reorder"; \
+      ) \
+      GENLIST_PROGRAM_FOCUS_NORMAL \
+      GENLIST_PROGRAM_SELECT( TARGET \
+         target: "bg"; \
+         target: "bg_reorder"; \
+      ) \
+      GENLIST_PROGRAM_SOUND("bg") \
+      GENLIST_PROGRAM_REORDER_SOUND("bg_reorder") \
+      GENLIST_PROGRAM_DECORATE_REORDER("normal", TARGET \
+         target: "bg_clip"; \
+         target: "bg_reorder_clip"; \
+         target: "bottom_line_clip"; \
+         target: "elm.padding.left"; \
+         target: "elm.padding.right"; \
+      ) \
+      GENLIST_PROGRAM_FLIP \
+   }
+
+#define STYLE_TAG \
+      tag:  "br" "\n";\
+      tag:  "ps" "ps";\
+      tag:  "tab" "\t";\
+      tag:  "b" "+ font=Tizen:style=Regular";
+
+#define STYLE_TAG_MATCH \
+      tag:  "match" GENLIST_PART_MATCH_TAG_COLOR;
+
+#define GENLIST_POPUP_STYLE(NAME) \
+   group { \
+      GENLIST_NAME(NAME"/popup/default") \
+      inherit: "elm/genlist/item/"NAME"/default"; \
+      parts { \
+         GENLIST_PART_RECT("bg",  \
+            description { state: "default" 0.0; \
+               color: GENLIST_LIST_BG_POPUP_COLOR; \
+            } \
+         ) \
+         GENLIST_PART_RECT("bottom_line", \
+            description { state: "default" 0.0; \
+               color: GENLIST_LIST_LINE1_POPUP_COLOR; \
+            } \
+         ) \
+         GENLIST_PART_RECT("bottom_line2", \
+            description { state: "default" 0.0; \
+               color: GENLIST_LIST_LINE2_POPUP_COLOR; \
+            } \
+         ) \
+      } \
+   }
+
+#define GENLIST_NAME(NAME) \
+      name: "elm/genlist/item/"NAME; \
+
+#define GENLIST_INHERIT_THUMB_CIRCLE(PARENT) \
+     images { \
+         image: BG_IMG_PATH/"00_list_circle_thumbnail_bg.png" COMP; \
+      } \
+         PART(RECT, "elm.thumb.clip", \
+            description { state: "default";  \
+            } \
+            description { state: "flipped";  \
+               color: 0 0 0 0; \
+            } \
+         ) \
+         PART(IMAGE, "elm.thumb", \
+            insert_before: "focus_part"; \
+            clip_to: "elm.thumb.clip"; \
+            mouse_events: 0; \
+            DSC_TO("default", PARENT, \
+               image.normal: BG_IMG_PATH"/00_list_circle_thumbnail_bg.png"; \
+               fixed:1 1; \
+               color_class: "B0211"; \
+            ) \
+            description { state: "pressed" 0.0; \
+               inherit: "default" 0.0; \
+               color_class: "B0211P"; \
+            } \
+            description { state: "reorder" 0.0; \
+               inherit: "default" 0.0; \
+               color_class: "B0217L1"; \
+            } \
+            description { state: "reorder_selected" 0.0; \
+               inherit: "default" 0.0; \
+               color_class: "B0211P"; \
+            } \
+            description { state: "decorate" 0.0; \
+               inherit: "default" 0.0; \
+            } \
+            description { state: "decorate_reorder" 0.0; \
+               inherit: "reorder" 0.0; \
+            } \
+         ) \
+
+collections {
+       base_scale: 1.8;
+
+       sounds {
+               sample {
+                       name: "touch_sound" RAW;
+                       source: "Tizen_Touch.wav";
+               }
+           sample {
+               name: "reorder_sound" RAW;
+               source: "List_reorder.wav";
+           }
+       }
+
+       styles {
+          style { name: "genlist_style_list_main_text_unread";
+             base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_COLOR_STYLE" text_class=list_item wrap=word";
+             STYLE_TAG
+             STYLE_TAG_MATCH
+          }
+          style { name: "genlist_style_list_main_text_unread_dim";
+             base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_MAIN_TEXT_UNREAD_DIM_COLOR_STYLE" text_class=list_item wrap=word";
+             STYLE_TAG
+             STYLE_TAG_MATCH
+          }
+          style { name: "genlist_style_list_main_text_focus";
+             base: "font=Tizen:style=Regular font_size="GENLIST_LIST_MAIN_TEXT_SIZE" color="GENLIST_LIST_TEXT_FOCUS_COLOR_STYLE" text_class=list_item wrap=word";
+             STYLE_TAG
+             STYLE_TAG_MATCH
+          }
+          style { name: "list_text_main";
+               base: "font=Tizen:style=Regular font_size="LIST_TEXT_MAIN_SIZE" color=#000 ellipsis=1.0";
+               STYLE_TAGS
+          }
+       }
+
+   group {
+         GENLIST_NAME("1text_customized/default")
+      GENLIST_PROLOG_NORMAL
+
+      data.item: "texts" "elm.text";
+
+      parts {
+         GENLIST_PART_BASE
+         GENLIST_PART_BG_NORMAL
+         GENLIST_PART_BOTTOM_LINE
+         GENLIST_PART_PADDING_LEFT
+         GENLIST_PART_PADDING_RIGHT
+         GENLIST_PART_PADDING_TOP
+         GENLIST_PART_PADDING_BOTTOM
+
+         GENLIST_PART_LISTITEM_TB_("elm.text", GENLIST_HEIGHT_1LINE,
+            "elm.padding.left", "elm.padding.right",
+            "elm.padding.top", "elm.padding.bottom",
+         )
+
+         GENLIST_PART_FLIP
+         GENLIST_PART_FOCUS_NORMAL
+     }
+     GENLIST_PROGRAMS_NORMAL( target: "elm.text"; )
+   }/*End of 1text_customized group*/
+
+   GENLIST_POPUP_STYLE("1text_customized")
+}/*End of collections*/
+////////////Second Incoming Call Popup genlist Item customization end/////////
diff --git a/res/themes/call_theme.edc b/res/themes/call_theme.edc
new file mode 100755 (executable)
index 0000000..86ae493
--- /dev/null
@@ -0,0 +1,3349 @@
+/*
+ * 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.
+ *
+ */
+
+#include "../../include/callui-view-layout-wvga.h"
+#include "../callui-color-classes.h"
+
+#define BG_IMG_PATH "./bg"
+#define ICON_IMG_PATH "./icon"
+
+/////VOLUMEBAR-CUSTOMIZATION START//////
+#define PROGRESS_BG_IMAGE_BORDER_INC  17 17 0 0
+#define PROGRESS_BAR_IMAGE_BORDER_INC  17 17 0 0
+#define PROGRESS_BAR_IMAGE_PADDING_SIZE_INC  0 0
+
+#define SLIDER_UNITS_TEXT_COLOR_INC      0 0 0 255
+#define SLIDER_INDICATOR_TEXT_COLOR_INC      255 255 255 255
+#define SLIDER_INDICATOR_TEXT_PRESSED_COLOR_INC      255 255 255 255
+
+#define SLIDER_BASE_MIN_WIDTH_INC 375
+#define SLIDER_BASE_HEIGHT_INC  34
+#define SLIDER_SWALLOW_BAR_MIN_WIDTH_INC  72
+#define SLIDER_SWALLOW_BAR_HEIGHT_INC  74
+#define SLIDER_UNITS_TEXT_SIZE_INC  30
+#define SLIDER_INDICATOR_WIDTH_INC 48
+#define SLIDER_INDICATOR_HEIGHT_INC 72
+#define SLIDER_INDICATOR_MAX_WIDTH_INC 90
+#define SLIDER_INDICATOR_TEXT_SIZE_INC  40
+#define SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC  12 0
+#define SLIDER_INDICATOR_POPUP_HEIGHT_INC 108
+/////VOLUMEBAR-CUSTOMIZATION END//////
+
+#define BUTTON_LEFT_REL1 0.25 0.1
+#define BUTTON_LEFT_REL2 0.9 0.9
+#define BUTTON_RIGHT_REL1 0.1 0.1
+#define BUTTON_RIGHT_REL2 0.75 0.9
+#define BUTTON_CENTER_REL1 0.1 0.1
+#define BUTTON_CENTER_REL2 0.9 0.9
+#define FOCUS_BORDER 8 8 8 8
+
+#define BUTTON_BOTTOM_MIN_HEIGHT 74
+#define BUTTON_MIN_WIDTH 142
+#define BUTTON_MAX_WIDTH 450
+#define BUTTON_BOTTOM_PADDING_LEFT_RIGHT 8
+#define BUTTON_ICON_HEIGHT 64
+#define BUTTON_ICON_WIDTH 64
+#define BUTTON_BOTTOM_TEXT_SIZE  33
+
+#define BUTTON_BOTTOM_ICON_SIZE  104
+#define BUTTON_BOTTOM_ICON_OFFSET 16
+#define BUTTON_BOTTOM_ICON_OFFSET_L  (BUTTON_BOTTOM_ICON_OFFSET/BUTTON_BOTTOM_ICON_SIZE)
+#define BUTTON_BOTTOM_ICON_OFFSET_R  ((BUTTON_BOTTOM_ICON_SIZE - BUTTON_BOTTOM_ICON_OFFSET)/BUTTON_BOTTOM_ICON_SIZE)
+
+#define STYLE_CALL_HOLD_SWAP_BTN(grp_name, img1, img2, style_name, disabled_name) \
+       group { \
+               name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+                       image: img2 COMP; \
+               } \
+               data.item: "item_max_size" 244; \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { \
+                               name: "event_blocker"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 244 41; \
+                                       max: 244 41; \
+                                       fixed: 1 1; \
+                                       align: 0 0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { \
+                               name: "seperator_1"; \
+                               type: RECT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 3 35; \
+                                       max: 3 35; \
+                                       align: 0 0.5; \
+                                       fixed: 1 1; \
+                                       visible: 1; \
+                                       color: 97 98 100 255; \
+                               } \
+                       } \
+                       part { \
+                               name: "seperator_2"; \
+                               type: RECT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 3 35; \
+                                       max: 3 35; \
+                                       align: 1 0.5; \
+                                       fixed: 1 1; \
+                                       visible: 1; \
+                                       color: 97 98 100 255; \
+                               } \
+                       } \
+                       part { \
+                               name: "icon_left_padding"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 25 41; \
+                                       max: 25 41; \
+                                       align: 0 0.5; \
+                                       rel1 { relative: 1.0 0.0; to_x:"seperator_1"; to_y: "event_blocker";} \
+                                       rel2 { relative: 1.0 1.0; to_x:"seperator_1"; to_y: "event_blocker";} \
+                                       fixed: 1 1; \
+                               } \
+                       } \
+                       part { \
+                               name: "elm.swallow.content"; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 30 30; \
+                                       max: 30 30; \
+                                       align: 0 0; \
+                                       aspect: 1.0 1.0; \
+                                       fixed: 1 1; \
+                                       rel1 { relative: 1.0 0.15; to_x:"icon_left_padding"; to_y: "event_blocker";} \
+                                       rel2 { relative: 1.0 1.0; to_x:"icon_left_padding"; to_y: "event_blocker";} \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image { \
+                                               normal: img2; \
+                                       } \
+                               } \
+                       } \
+                       part { \
+                               name: "icon_right_padding"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 6 41; \
+                                       max: 6 41; \
+                                       align: 0 0.5; \
+                                       fixed: 1 1; \
+                                       rel1 { relative: 1.0 0.0; to_x:"elm.swallow.content"; to_y: "event_blocker"; } \
+                                       rel2 { relative: 1.0 1.0; to_x:"elm.swallow.content"; to_y: "event_blocker"; } \
+                               } \
+                       } \
+                       part { \
+                               name: "elm.text"; \
+                               type: TEXTBLOCK; \
+                               mouse_events:  0; \
+                               scale: 1; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 149 41; \
+                                       max: 149 41; \
+                                       align: 0 0; \
+                                       fixed: 1 1; \
+                                       rel1 {relative: 1.0 0.1; to_x: "icon_right_padding"; to_y: "event_blocker"; } \
+                                       rel2 {relative: 1.0 1.0; to_x: "icon_right_padding"; to_y: "event_blocker"; } \
+                                       text { \
+                                               min: 1 1; \
+                                               style: style_name; \
+                                       } \
+                                       visible:1; \
+                               } \
+                               description { \
+                                       state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               style: disabled_name; \
+                                       } \
+                               } \
+                               description { \
+                                       state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               style: disabled_name; \
+                                       } \
+                               } \
+                               description { \
+                                       state: "ellipsis" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       min: 149 41; \
+                                       text.min: 0 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { \
+                               name: "text_right_padding"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       min: 19 41; \
+                                       max: 19 41; \
+                                       fixed: 1 1; \
+                                       rel1 {relative: 1.0 0.0; to: "elm.text"; } \
+                                       rel2 {relative: 1.0 1.0; to: "event_blocker"; } \
+                                       fixed: 0 1; \
+                                       align: 0 0.5; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "elm.text"; \
+                               target: "elm.swallow.content"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                               if (get_int(button_state) != 1) \
+                                       set_state(PART:"elm.text", "default", 0.0); \
+                                       set_state(PART:"elm.swallow.content", "default", 0.0); \
+                               } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "elm.text"; \
+                               target: "elm.swallow.content"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "elm.text"; \
+                               target: "elm.swallow.content"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "icon_show"; \
+                               signal: "elm,state,icon,visible"; \
+                               source: "elm"; \
+                               action: STATE_SET "visible" 0.0; \
+                               target: "elm.swallow.content"; \
+                       } \
+                       program { name: "icon_hide"; \
+                               signal: "elm,state,icon,hidden"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "elm.swallow.content"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_INDICATOR_BG_COLOR(grp_name, r, g, b, op) \
+       group { \
+               name: "elm/bg/base/"grp_name; \
+               parts { \
+                       part { name: "base"; \
+                               type: RECT; \
+                               description { \
+                                       state: "default" 0.0; \
+                                       color: r g b op; \
+                               } \
+                       } \
+               } \
+       }
+
+#define CIRCLE_BUTTON_STYLE(grp_name, bg_img, bg_press, img, img_press, img_w, img_h) \
+               group { name: "elm/button/base/"grp_name; \
+               data { \
+                       item: "focus_highlight" "on"; \
+               } \
+               images { \
+                       image: bg_img COMP; \
+                       image: bg_press COMP; \
+                       image: img COMP; \
+                       image: img_press COMP; \
+               }\
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image";\
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       min: 40 40; \
+                                       image { \
+                                               normal: bg_img; \
+                                               border: 0 0 0 0; \
+                                               border_scale: 1; \
+                                       } \
+                                       color_class: "AO023"; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: bg_press; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: bg_img; \
+                               } \
+                       } \
+                       part { name: "focus_image"; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 0; \
+                                       rel1.to : "button_image"; \
+                                       rel2.to : "button_image"; \
+                                       image { \
+                                               normal: bg_img; \
+                                               border: 0 0 0 0; \
+                                               border_scale: 1; \
+                                       } \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "padding_left_top"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                               align: 0.0 0.0; \
+                               rel2.relative: 0.0 0.0; \
+                               min: 0 0; \
+                               fixed: 1 1; \
+                               } \
+                       } \
+                       part { name: "padding_right_bottom"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       align: 1.0 1.0; \
+                                       rel1.relative: 1.0 1.0; \
+                                       min: 0 0; \
+                                       fixed: 1 1; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       min: img_w img_h; \
+                                       max: img_w img_h; \
+                                       rel1 { \
+                                               relative: 1.0 0.0; \
+                                               to_x: "padding_left_top"; \
+                                       } \
+                                       rel2 { \
+                                               relative: 0.0 1.0; \
+                                               to_x: "padding_right_bottom"; \
+                                       } \
+                                       image.normal: img; \
+                                       color_class: "AO024"; \
+                                       aspect: 1.0 1.0; \
+                                       aspect_preference: VERTICAL; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: img_press; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: img; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over3"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "button_image"; \
+                               target: "content_image"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over3"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                               if (get_int(button_state) != 1) \
+                                       set_state(PART:"button_image", "default", 0.0); \
+                                       set_state(PART:"content_image", "default", 0.0); \
+                               } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "content_image"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "content_image"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "focus_image"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "focus_image"; \
+                       } \
+               } \
+       }
+
+#define CIRCLE_BUTTON_WITHOUT_BG_STYLE(grp_name, img, img_press, img_w, img_h) \
+               group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img COMP; \
+                       image: img_press COMP; \
+               }\
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "padding_left_top"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                               align: 0.0 0.0; \
+                               rel2.relative: 0.0 0.0; \
+                               min: 0 0; \
+                               fixed: 1 1; \
+                               } \
+                       } \
+                       part { name: "padding_right_bottom"; \
+                               type: SPACER; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       align: 1.0 1.0; \
+                                       rel1.relative: 1.0 1.0; \
+                                       min: 0 0; \
+                                       fixed: 1 1; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       min: img_w img_h; \
+                                       max: img_w img_h; \
+                                       rel1 { \
+                                               relative: 1.0 0.0; \
+                                               to_x: "padding_left_top"; \
+                                       } \
+                                       rel2 { \
+                                               relative: 0.0 1.0; \
+                                               to_x: "padding_right_bottom"; \
+                                       } \
+                                       image.normal: img; \
+                                       aspect: 1.0 1.0; \
+                                       aspect_preference: VERTICAL; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: img_press; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: img; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over3"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "content_image"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over3"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                               if (get_int(button_state) != 1) \
+                                       set_state(PART:"content_image", "default", 0.0); \
+                               } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "content_image"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "content_image"; \
+                               target: "disabler"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_SIX_BUTTON(grp_name, img1, color_code, value, vis_value) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: color_code; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "highlight"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color: 0 0 0 0; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       visible: 1; \
+                                       color_class: "AO008P"; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (STYLE_ICN_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: 1.0 (STYLE_ICN_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       aspect_preference: VERTICAL; \
+                                       color_class: "AO009";\
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1.relative: (STYLE_TXT_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_TXT_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       min: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       max: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       color_class: "ATO005"; \
+                                       text { \
+                                               text_class: "ATO005"; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                       } \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                       } \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "highlight"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"highlight", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_SIX_BUTTON_DISABLED(grp_name, img1, color_code, value, vis_value) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       color_class: color_code; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       color_class: color_code; \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (STYLE_ICN_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: 1.0 (STYLE_ICN_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       aspect_preference: VERTICAL; \
+                                       color: 127 127 127 77; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1.relative: (STYLE_TXT_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_TXT_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       min: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       max: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       color: 127 127 127 77; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"button_image", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_SIX_BUTTON_TOGGLE(grp_name, img1, color_code, value, vis_value) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+                       image: ICON_IMG_PATH"/call_onoff_bar.#.png" COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: color_code; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "highlight"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color: 0 0 0 0; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       visible: 1; \
+                                       color_class: "AO008P"; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (STYLE_ICN_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: 1.0 (STYLE_ICN_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       aspect_preference: VERTICAL; \
+                                       color_class: "AO009";\
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1.relative: (STYLE_TXT_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_TXT_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       min: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       max: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       color_class: "ATO005"; \
+                                       text { \
+                                               text_class: "ATO005"; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                       } \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                       } \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "toggle_bar_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: ICON_IMG_PATH"/call_onoff_bar.#.png"; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       rel1.relative: (STYLE_ONOFF_BAR_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_ONOFF_BAR_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_ONOFF_BAR_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_ONOFF_BAR_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       color_class: "AO100L1";\
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "highlight"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"highlight", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_SIX_BUTTON_TOGGLE_PRESSED(grp_name, img1, color_code, value, vis_value) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+                       image: ICON_IMG_PATH"/call_onoff_bar.#.png" COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: color_code; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "highlight"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color: 0 0 0 0; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       visible: 1; \
+                                       color_class: "AO008P"; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (STYLE_ICN_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: 1.0 (STYLE_ICN_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       aspect_preference: VERTICAL; \
+                                       color_class: "AO016";\
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1.relative: (STYLE_TXT_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_TXT_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       min: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       max: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       color_class: "AO016"; \
+                                       text { \
+                                               text_class: "ATO005"; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                       } \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                       } \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "toggle_bar_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: ICON_IMG_PATH"/call_onoff_bar.#.png"; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       rel1.relative: (STYLE_ONOFF_BAR_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_ONOFF_BAR_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_ONOFF_BAR_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_ONOFF_BAR_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       color_class: "AO100";\
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "highlight"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"highlight", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_SIX_BUTTON_TOGGLE_DISABLED(grp_name, img1, color_code, value, vis_value) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+                       image: ICON_IMG_PATH"/call_onoff_bar.#.png" COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: value; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       color_class: color_code; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       color_class: color_code; \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (STYLE_ICN_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: 1.0 (STYLE_ICN_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       aspect_preference: VERTICAL; \
+                                       color_class: "ATO009D"; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1.relative: (STYLE_TXT_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_TXT_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_TXT_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       min: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       max: STYLE_TXT_WIDTH STYLE_TXT_HEIGHT; \
+                                       color_class: "ATO009D"; \
+                                       text { \
+                                               text_class: "ATO006"; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "toggle_bar_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: vis_value; \
+                                       image { \
+                                               normal: ICON_IMG_PATH"/call_onoff_bar.#.png"; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       rel1.relative: (STYLE_ONOFF_BAR_L_PAD/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_ONOFF_BAR_T_PAD/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       rel2.relative: (STYLE_ONOFF_BAR_R/BTN_LAYOUT_SINGLE_BTN_WIDTH) (STYLE_ONOFF_BAR_B/BTN_LAYOUT_SINGLE_BTN_HEIGHT); \
+                                       color_class: "AO010D";\
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0.25 0.1; } \
+                                       rel2 { relative: 0.75 0.9; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"button_image", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_END_CONTACT_BUTTONS(grp_name, bg_image_color, pressed_bg_image_color, icon_top_pad, icon_height, icon_color, text_top_pad, text_height, text_color, button_height, img1) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: bg_image_color; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "highlight"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color: 0 0 0 0; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       visible: 1; \
+                                       color_class: AO010P; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (icon_top_pad/button_height); \
+                                       rel2.relative: 1.0 ((icon_top_pad+icon_height)/button_height); \
+                                       aspect_preference: VERTICAL; \
+                                       color_class: icon_color;\
+                                       visible: 1; \
+                                       min: icon_height icon_height; \
+                                       max: icon_height icon_height; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1 { relative: 0.0 text_top_pad/button_height; to: "button_image";} \
+                                       rel2 { relative: 1.0 ((text_top_pad+text_height)/button_height); to: "button_image";} \
+                                       text { \
+                                               text_class: text_color; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                                       color_class: text_color; \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0 0; } \
+                                       rel2 { relative: 1 1; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0 0; } \
+                                       rel2 { relative: 1 1; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "highlight"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"highlight", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_MERGE_SWAP_BUTTONS(grp_name, bg_image_color, pressed_bg_image_color, icon_top_pad, icon_height, icon_color, text_top_pad, text_height, text_color, button_height, img1) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+               } \
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: bg_image_color; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                                       color_class: pressed_bg_image_color; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       image { \
+                                               normal: img1; \
+                                       } \
+                                       align: 0.5 0.5; \
+                                       aspect: 0.5 1.0; \
+                                       rel1.relative: 0.0 (icon_top_pad/button_height); \
+                                       rel2.relative: 1.0 ((icon_top_pad+icon_height)/button_height); \
+                                       aspect_preference: VERTICAL; \
+                                       color_class: icon_color;\
+                                       visible: 1; \
+                                       min: icon_height icon_height; \
+                                       max: icon_height icon_height; \
+                               } \
+                       } \
+                       part { name: "elm.text"; \
+                               type: TEXT; \
+                               mouse_events: 0; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 1; \
+                                       fixed: 1 1; \
+                                       rel1 { relative: 0.0 text_top_pad/button_height; to: "button_image";} \
+                                       rel2 { relative: 1.0 ((text_top_pad+text_height)/button_height); to: "button_image";} \
+                                       text { \
+                                               text_class: text_color; \
+                                               min: 0 1; \
+                                               align: 0.5 0.5; \
+                                       } \
+                                       color_class: text_color; \
+                               } \
+                               description { state: "visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                               } \
+                               description { state: "disabled_visible" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0 0; } \
+                                       rel2 { relative: 1 1; } \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       rel1 { relative: 0 0; } \
+                                       rel2 { relative: 1 1; } \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over2"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                                       if (get_int(button_state) != 1) \
+                                               set_state(PART:"button_image", "default", 0.0); \
+                                               set_state(PART:"elm.text", "default", 0.0); \
+                                       } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "elm.text"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_ICON_ONLY(grp_name, img1, img2, min_x, min_y) \
+       group { name: "elm/button/base/"grp_name; \
+               images { \
+                       image: img1 COMP; \
+                       image: img2 COMP; \
+               } \
+               parts { \
+                       part { name: "button_image"; \
+                               mouse_events: 1; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       min: min_x min_y; \
+                                       image { \
+                                               normal: img1; \
+                                               border: 0 0 0 0; \
+                                               border_scale: 1; \
+                                       } \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       image.normal: img2; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               mouse_events: 1; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "button_image"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               after: button_unpress; \
+                       } \
+                       program { name: "button_click2"; \
+                               signal: "mouse,down,1"; \
+                               source: "over3"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "over3"; \
+                       } \
+                       program { name: "button_unclick2"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over3"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "over3"; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "over2"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "over2"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "focused"; \
+                               signal: "elm,action,focus"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "button_image"; \
+                       } \
+                       program { name: "unfocused"; \
+                               signal: "elm,action,unfocus"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                       } \
+               } \
+       }
+
+#define STYLE_CALL_TOGGLE_BUTTON(grp_name, bg_cc, bg_cc_p, img, img_cc, img_cc_p) \
+       group { name: "elm/button/base/"grp_name; \
+               data { \
+                       item: "focus_highlight" "on"; \
+               } \
+               images { \
+                       image: BG_IMG_PATH"/call_btn_circle.png" COMP; \
+                       image: BG_IMG_PATH"/vc_toggle_focus.png" COMP; \
+                       image: img COMP; \
+               }\
+               script { \
+                       public button_state = 0; \
+               } \
+               parts { \
+                       part { name: "button_image";\
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       rel1 { relative: 0.0 0.0;} \
+                                       rel2 { relative: 1.0 1.0;} \
+                                       image { \
+                                               normal: BG_IMG_PATH"/call_btn_circle.png"; \
+                                       } \
+                                       aspect_preference: SOURCE;\
+                                       color_class: bg_cc; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       color_class: bg_cc_p; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       color_class: "AO014D"; \
+                               } \
+                       } \
+                       part { name: "focus_image"; \
+                               scale: 1; \
+                               mouse_events: 0; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       visible: 0; \
+                                       rel1.to : "button_image"; \
+                                       rel2.to : "button_image"; \
+                                       image { \
+                                               normal: BG_IMG_PATH"/vc_toggle_focus.png"; \
+                                               border: 0 0 0 0; \
+                                               border_scale: 1; \
+                                       } \
+                               } \
+                               description { state: "focused" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+                       part { name: "content_image"; \
+                               type: IMAGE; \
+                               scale: 1; \
+                               description { state: "default" 0.0; \
+                                       rel1 { relative: BUTTON_BOTTOM_ICON_OFFSET_L CALL_QUICKPANEL_BTN_ICON_T; to: "button_image";}  \
+                                       rel2 { relative: BUTTON_BOTTOM_ICON_OFFSET_R CALL_QUICKPANEL_BTN_ICON_B; to: "button_image";}  \
+                                       image.normal: img; \
+                                       color_class: img_cc; \
+                                       align: 0.5 0.5; \
+                                       aspect_preference: SOURCE; \
+                               } \
+                               description { state: "clicked" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       color_class: img_cc_p; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       color_class: "ATO017"; \
+                               } \
+                       } \
+                       part { name: "over2"; \
+                               type: RECT; \
+                               repeat_events: 1; \
+                               ignore_flags: ON_HOLD; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "over3"; \
+                               type: RECT; \
+                               repeat_events: 1; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                               } \
+                       } \
+                       part { name: "disabler"; \
+                               type: RECT; \
+                               description { state: "default" 0.0; \
+                                       color: 0 0 0 0; \
+                                       visible: 0; \
+                               } \
+                               description { state: "disabled" 0.0; \
+                                       inherit: "default" 0.0; \
+                                       visible: 1; \
+                               } \
+                       } \
+               } \
+               programs { \
+                       program { name: "button_click"; \
+                               signal: "mouse,down,1"; \
+                               source: "over3"; \
+                               action: SIGNAL_EMIT "elm,action,press" ""; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_click_anim"; \
+                               action: STATE_SET "clicked" 0.0; \
+                               target: "button_image"; \
+                               target: "content_image"; \
+                       } \
+                       program { name: "button_double_click"; \
+                               signal: "mouse,down,1,double"; \
+                               source: "over3"; \
+                               after: "button_click_anim"; \
+                       } \
+                       program { name: "button_unpress"; \
+                               action: SIGNAL_EMIT "elm,action,unpress" ""; \
+                       } \
+                       program { name: "button_mouseout_clicked"; \
+                               signal: "mouse,up,1"; \
+                               source: "over3"; \
+                               script { \
+                               if (get_int(button_state) != 1) \
+                                       set_state(PART:"button_image", "default", 0.0); \
+                                       set_state(PART:"content_image", "default", 0.0); \
+                               } \
+                               after: button_unpress; \
+                       } \
+                       program { name: "touch_snd"; \
+                               signal: "mouse,clicked,1"; \
+                               source: "over2"; \
+                               action: RUN_PLUGIN "touch_sound"; \
+                               after: button_unclick3; \
+                       } \
+                       program { name: "button_unclick3"; \
+                               action: SIGNAL_EMIT "elm,action,click" ""; \
+                       } \
+                       program { name: "disable"; \
+                               signal: "elm,state,disabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "disabled" 0.0; \
+                               target: "button_image"; \
+                               target: "content_image"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "enable"; \
+                               signal: "elm,state,enabled"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "button_image"; \
+                               target: "content_image"; \
+                               target: "disabler"; \
+                       } \
+                       program { name: "action_focus"; \
+                               signal: "elm,action,focus_highlight,show"; \
+                               source: "elm"; \
+                               action: STATE_SET "focused" 0.0; \
+                               target: "focus_image"; \
+                       } \
+                       program { name: "action_unfocus"; \
+                               signal: "elm,action,focus_highlight,hide"; \
+                               source: "elm"; \
+                               action: STATE_SET "default" 0.0; \
+                               target: "focus_image"; \
+                       } \
+               } \
+       }
+
+collections {
+       base_scale: 1.8;
+
+       plugins {
+               plugin {
+                       name: "touch_sound";
+                       source: "feedback";
+                       param: "FEEDBACK_TYPE_SOUND FEEDBACK_PATTERN_TAP";
+               }
+       }
+
+       styles {
+               style { name: "normal_hold";
+                       base: "font=Tizen:style=Regular font_size=36 align=center color=#FAFAFAFF style=shadow,bottom shadow_color=#000000FF ellipsis=1.0 wrap=none text_class=tizen";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "disabled_hold";
+                       base: "font=Tizen:style=Regular font_size=36 align=center color=#FAFAFA80 style=shadow,bottom shadow_color=#000000FF ellipsis=1.0 wrap=none text_class=tizen";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "normal_unhold";
+                       base: "font=Tizen:style=Regular font_size=36 align=center color=#87E22DFF style=shadow,bottom shadow_color=#000000FF ellipsis=1.0 wrap=none text_class=tizen";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "disabled_unhold";
+                       base: "font=Tizen:style=Regular font_size=36 align=center color=#87E22D80 style=shadow,bottom shadow_color=#000000FF ellipsis=1.0 wrap=none text_class=tizen";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "normal_swap";
+                       base: "font=Tizen:style=Regular font_size=36 align=center color=#FAFAFAFF style=shadow,bottom shadow_color=#000000FF ellipsis=1.0 wrap=none text_class=tizen";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "disabled_swap";
+                       base: "font=Tizen:style=Regular font_size=36 align=center color=#00000080 style=shadow,bottom shadow_color=#00000066 ellipsis=1.0 wrap=none text_class=tizen";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "end_button";
+                       base: "font=Tizen:style=Regular color=#FAFAFAFF text_class="ATO008"";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "end_button_disabled";
+                       base: "font=Tizen:style=Regular color=#FAFAFAFF text_class="ATO008"";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+               style { name: "end_button_disabled_visible";
+                       base: "font=Tizen:style=Regular color=#FAFAFAFF text_class="ATO008"";
+                       tag: "br" "\n";
+                       tag: "ps" "ps";
+                       tag: "tab" "\t";
+               }
+           style { name: "button_bottom";
+              base: "font=Tizen:style=Regular font_size="BUTTON_BOTTOM_TEXT_SIZE" align=center color=#ffffff color_class="ATO012" text_class="ATO012" ellipsis=1.0";
+                  tag:  "br" "\n";
+                  tag:  "ps" "ps";
+                  tag:  "tab" "\t";
+                  tag:  "b" "+ font_weight=Bold";
+           }
+           style { name: "button_bottom_dim";
+              base: "font=Tizen:style=Regular font_size="BUTTON_BOTTOM_TEXT_SIZE" align=center color=#ffffff color_class="ATO014" text_class="ATO014" ellipsis=1.0";
+                  tag:  "br" "\n";
+                  tag:  "ps" "ps";
+                  tag:  "tab" "\t";
+                  tag:  "b" "+ font_weight=Bold";
+           }
+           style { name: "button_bottom_press";
+              base: "font=Tizen:style=Regular font_size="BUTTON_BOTTOM_TEXT_SIZE" align=center color=#ffffff color_class="ATO013" text_class="ATO013" ellipsis=1.0";
+                  tag:  "br" "\n";
+                  tag:  "ps" "ps";
+                  tag:  "tab" "\t";
+                  tag:  "b" "+ font_weight=Bold";
+           }
+       }
+
+
+////////////// elm/button/base/default -disabled  //////////////////////////////////////////////
+//////This is disabled effect for buttons of Six buttons layout and disabled effect is when making MO call////
+       STYLE_CALL_SIX_BUTTON_DISABLED("style_call_sixbtn_disabled_add", ICON_IMG_PATH"/call_button_add_call.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_DISABLED("style_call_sixbtn_disabled_keypad", ICON_IMG_PATH"/call_button_keypad.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_DISABLED("style_call_sixbtn_disabled_keypad_hide", ICON_IMG_PATH"/call_button_keypad.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_DISABLED("style_call_sixbtn_disabled_speaker", ICON_IMG_PATH"/call_button_speaker.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_DISABLED("style_call_sixbtn_disabled_mute", ICON_IMG_PATH"/call_button_mute.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_DISABLED("style_call_sixbtn_disabled_headset", ICON_IMG_PATH"/call_button_bluetooth.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_DISABLED("style_call_sixbtn_disabled_contacts", ICON_IMG_PATH"/call_button_contacts.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_DISABLED("style_call_sixbtn_disabled_extra_vol", ICON_IMG_PATH"/call_button_extra.png", "AO008", 1, 1)
+
+////////////// elm/button/base/default  //////////////////////////////////////////////
+//////This effect is for buttons of Six buttons layout when they are enabled//////
+       STYLE_CALL_SIX_BUTTON("style_call_sixbtn_add", ICON_IMG_PATH"/call_button_add_call.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON("style_call_sixbtn_keypad", ICON_IMG_PATH"/call_button_keypad.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON("style_call_sixbtn_keypad_hide", ICON_IMG_PATH"/call_button_keypad.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE("style_call_sixbtn_speaker", ICON_IMG_PATH"/call_button_speaker.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_PRESSED("style_call_sixbtn_speaker_on", ICON_IMG_PATH"/call_button_speaker.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE("style_call_sixbtn_mute", ICON_IMG_PATH"/call_button_mute.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_PRESSED("style_call_sixbtn_mute_on", ICON_IMG_PATH"/call_button_mute.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE("style_call_sixbtn_headset", ICON_IMG_PATH"/call_button_bluetooth.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_PRESSED("style_call_sixbtn_headset_on", ICON_IMG_PATH"/call_button_bluetooth.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON("style_call_sixbtn_contacts", ICON_IMG_PATH"/call_button_contacts.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE("style_call_sixbtn_extra_vol", ICON_IMG_PATH"/call_button_extra.png", "AO008", 1, 1)
+       STYLE_CALL_SIX_BUTTON_TOGGLE_PRESSED("style_call_sixbtn_extra_vol_on", ICON_IMG_PATH"/call_button_extra.png", "AO008", 1, 1)
+
+//     STYLE_CALL_SIX_BUTTON_PRESSED("style_call_sixbtn_keypad_pressed", ICON_IMG_PATH"/call_button_keypad.png", 1, 1);
+
+////////////// elm/button/base/style_call_icon_only_end  //////////////////////////////////////////////
+/////////////This style is for End button in quickpanel view//////////////////////////////////////////////////////////
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_end, "AO013", "AO013P", ICON_IMG_PATH"/icon_end_call.png", "ATO017", "ATO017");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_call, "AO012P1", "AO012P", ICON_IMG_PATH"/icon_call.png", "ATO017", "ATO017");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_end_landscape, "AO013", "AO013P", ICON_IMG_PATH"/icon_end_call.png", "AO017", "ATO017");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_call_landscape, "AO012P1", "AO012P", ICON_IMG_PATH"/icon_call.png", "AO017", "ATO017");
+
+////////////// elm/button/base/style_call_icon_only_qp_mute //////////////////////////////////////////////
+/////////////This style is for mute/unhold button in quickpanel view//////////////////////////////////////////////////////////
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_mute, "AO001", "AO014P", ICON_IMG_PATH"/icon_mic.png", "AO019", "AO019P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_mute_on, "AO001", "AO014P", ICON_IMG_PATH"/icon_mic.png", "AO018", "AO018P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_mute_landscape, "AO001", "AO014P", ICON_IMG_PATH"/icon_mic.png", "AO019", "AO019P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_mute_on_landscape, "AO001", "AO014P", ICON_IMG_PATH"/icon_mic.png", "AO018", "AO018P");
+////////////// elm/button/base/style_call_icon_only_qp_speaker //////////////////////////////////////////////
+/////////////This style is for speaker/unhold button in quickpanel view//////////////////////////////////////////////////////////
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_speaker, "AO001", "AO014P", ICON_IMG_PATH"/icon_speaker.png", "AO019", "AO019P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_speaker_on, "AO001", "AO014P", ICON_IMG_PATH"/icon_speaker.png", "AO018", "AO018P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_speaker_landscape, "AO001", "AO014P", ICON_IMG_PATH"/icon_speaker.png", "AO019", "AO019P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_speaker_on_landscape, "AO001", "AO014P", ICON_IMG_PATH"/icon_speaker.png", "AO018", "AO018P");
+/////////////This style is for speaker/resume button in quickpanel view//////////////////////////////////////////////////////////
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_resume, "AO001", "AO014P", ICON_IMG_PATH"/call_btn_resume.png", "AO019", "AO019P");
+       STYLE_CALL_TOGGLE_BUTTON(style_call_icon_only_qp_resume_on, "AO001", "AO014P", ICON_IMG_PATH"/call_btn_resume.png", "AO018", "AO018P");
+////////////// elm/button/base/text_only/call_end_grey  //////////////////////////////////////////////
+///////////// This style is for add to contacts button in end call view//////////////////////////////
+       STYLE_CALL_END_CONTACT_BUTTONS("style_call_end_create_contact_button", "AO026L1", "AO026P", 15, 60, "AO049", 79, 30, "ATO008", 130, ICON_IMG_PATH"/call_btn_end_03.png")
+       STYLE_CALL_END_CONTACT_BUTTONS("style_call_end_update_contact_button", "AO026L2", "AO026P", 15, 60, "AO049", 79, 30, "ATO008", 130, ICON_IMG_PATH"/call_btn_end_02.png")
+       STYLE_CALL_END_CONTACT_BUTTONS("style_call_end_view_contact_button", "AO026L1", "AO026P", 15, 60, "AO049", 79, 30, "ATO008", 130, ICON_IMG_PATH"/call_btn_end_01.png")
+       STYLE_MERGE_SWAP_BUTTONS("style_call_merge_call_button", "AO022", "AO022P", 0, 60, "AO026", 60, 25, "ATO028", 98, ICON_IMG_PATH"/call_extra_merge.png")
+       STYLE_MERGE_SWAP_BUTTONS("style_call_swap_call_button", "AO022", "AO022P", 0, 60, "AO026", 60, 25, "ATO028", 98, ICON_IMG_PATH"/call_extra_swap.png")
+
+       //STYLE_CALL_END_CONTACT_BUTTONS("style_call_end_contact_button_ln", A026L1, ICON_IMG_PATH"/call_btn_end_01.png")
+
+       STYLE_INDICATOR_BG_COLOR("during_indicator", 94, 163, 10, 255);
+       STYLE_INDICATOR_BG_COLOR("ending_indicator", 224, 89, 37, 255);
+
+       group { name: "elm/layout/list/B/popup/sim_select";
+               parts {
+                       part {
+                               name: "padding.left";
+                               type: SPACER;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel2.relative: 0.0 1.0;
+                                       min: 15 0;
+                                       max: 15 -1;
+                                       fixed: 1 0;
+                                       rel2.relative: 0.0 1.0;
+                                       align: 0.0 0.5;
+                               }
+                       }
+                       part {
+                               name: "padding.right";
+                               type: SPACER;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1.relative: 1.0 0.0;
+                                       min: 1 0;
+                                       max: 1 -1;
+                                       fixed: 1 0;
+                                       align: 1.0 0.5;
+                               }
+                       }
+                       part {
+                               name: "elm.swallow.icon";
+                               type: SWALLOW;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 1.0 0.0; to_x: "padding.left"; }
+                                       rel2 { relative: 0.0 1.0; to_x: "padding.right";}
+                                       min: 46 46;
+                                       max: 46 46;
+                               }
+                       }
+               }
+       }
+
+   group { name: "elm/slider/horizontal/indicator/default";
+           alias: "elm/slider/horizontal/indicator/disabled";
+           alias: "elm/slider/horizontal/indicator/tap_to_drag";
+      images {
+         image: BG_IMG_PATH"/vc_volume_slider_handle.png" COMP;
+         image: BG_IMG_PATH"/vc_volume_slider_handle_dim.png" COMP;
+         image: BG_IMG_PATH"/vc_volume_slider_handle_press.png" COMP;
+      }
+      parts {
+         part { name: "access";
+            type: RECT;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               color: 0 0 0 0;
+            }
+         }
+         part { name: "button_events";
+            type: RECT;
+            mouse_events: 1;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               min: 2*SLIDER_INDICATOR_WIDTH_INC 1.5*SLIDER_INDICATOR_HEIGHT_INC;
+               aspect: 1.0 1.0;
+               aspect_preference: VERTICAL;
+               color: 0 0 0 0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "image_left_padding";
+            type: SPACER;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               min: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+               max: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+               rel1 {
+                  to_x: "elm.indicator";
+                  relative: -1.0 0.0;
+               }
+               rel2 {
+                  to_x: "elm.indicator";
+                  relative: 0.0 1.0;
+               }
+               align: 1.0 0.5;
+            }
+         }
+         part { name: "image_right_padding";
+            type: SPACER;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               min: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+               max: SLIDER_INDICATOR_IMAGE_PADDING_SIZE_INC;
+               rel1 {
+                  to_x: "elm.indicator";
+                  relative: 1.0 0.0;
+               }
+               rel2 {
+                  to_x: "elm.indicator";
+                  relative: 2.0 1.0;
+               }
+               align: 0.0 0.5;
+            }
+         }
+         part { name: "button0";
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               min: SLIDER_INDICATOR_WIDTH_INC SLIDER_INDICATOR_HEIGHT_INC;
+               max: SLIDER_INDICATOR_MAX_WIDTH_INC SLIDER_INDICATOR_HEIGHT_INC;
+               rel1.to: "image_left_padding";
+               rel2.to: "image_right_padding";
+               image {
+                  normal: BG_IMG_PATH"/vc_volume_slider_handle.png";
+                  border: 32 32 32 32;
+                  border_scale: 1;
+               }
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: BG_IMG_PATH"/vc_volume_slider_handle_press.png";
+               }
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               image {
+                  normal: BG_IMG_PATH"/vc_volume_slider_handle_dim.png";
+               }
+            }
+         }
+         part { name: "elm.indicator";
+            type: TEXT;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 1;
+               color: SLIDER_INDICATOR_TEXT_COLOR_INC;
+               text {
+                  font: "Tizen:style=Medium";
+                  size: SLIDER_INDICATOR_TEXT_SIZE_INC;
+                  min: 1 1;
+                  align: 0.5 0.5;
+                  text_class: "tizen";
+               }
+            }
+            description { state: "hide" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+             }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               color: SLIDER_INDICATOR_TEXT_PRESSED_COLOR_INC;
+            }
+         }
+      }
+      programs {
+         program { name: "set_val_show";
+            signal: "elm,state,val,show";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "elm.indicator";
+         }
+         program { name: "set_val_hide";
+            signal: "elm,state,val,hide";
+            source: "elm";
+            action:  STATE_SET "hide" 0.0;
+            target: "elm.indicator";
+         }
+         program { name: "slider_disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action:  STATE_SET "disabled" 0.0;
+            target: "button0";
+            target: "button_events";
+         }
+         program { name: "slider_enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action:  STATE_SET "default" 0.0;
+            target: "button0";
+            target: "button_events";
+         }
+         program { name: "mouse_down";
+            signal: "mouse,down,*";
+            source: "button_events";
+            action:  STATE_SET "pressed" 0.0;
+            target: "button0";
+            after: "text_pressed";
+         }
+         program { name: "mouse_up";
+            signal: "mouse,up,*";
+            source: "button_events";
+            action:  STATE_SET "default" 0.0;
+            target: "button0";
+            after: "text_unpressed";
+         }
+         program { name: "text_pressed";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.indicator", st, 30, vl);
+               if (!strcmp(st, "default"))
+                 set_state(PART:"elm.indicator", "pressed", 0.0);
+            }
+         }
+         program { name: "text_unpressed";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"elm.indicator", st, 30, vl);
+               if (!strcmp(st, "pressed"))
+                 set_state(PART:"elm.indicator", "default", 0.0);
+            }
+         }
+      }
+   }
+
+group { name: "elm/button/base/text_only";
+      script {
+         public mouse_down = 0;
+         public multi_down = 0;
+      }
+      images {
+                image: BG_IMG_PATH"/core_button_bg.#.png" COMP;
+      }
+      parts {
+         part { name: "base";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+                min: BUTTON_MIN_WIDTH BUTTON_BOTTOM_MIN_HEIGHT;
+            }
+         }
+         part { name: "bg";
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               image.normal: BG_IMG_PATH"/core_button_bg.#.png";
+               color_class: "AO043";
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               color_class: "AO043P";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "AO043D";
+            }
+         }
+         part { name: "padding_left_top";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_BOTTOM_PADDING_LEFT_RIGHT 0;
+               fixed: 1 1;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_BOTTOM_PADDING_LEFT_RIGHT 0;
+               fixed: 1 1;
+            }
+         }
+         part { name: "icon_rect";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               min: 0 0;
+               fixed: 1 1;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_ICON_WIDTH BUTTON_ICON_HEIGHT;
+               fixed: 1 1;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "visible" 0.0;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 1;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               fixed: 1 1;
+               min: BUTTON_ICON_WIDTH BUTTON_ICON_HEIGHT;
+               align: 1.0 0.5;
+               rel1 {
+                  relative: 0.0 1.0;
+                  to_x: "elm.text";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to_x: "elm.text";
+                  to_y: "padding_right_bottom";
+               }
+            }
+            description { state: "icononly" 0.0;
+               min: BUTTON_ICON_WIDTH BUTTON_ICON_HEIGHT;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "visible" 0.0;
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               min: BUTTON_MAX_WIDTH BUTTON_ICON_HEIGHT;
+               max: BUTTON_MAX_WIDTH BUTTON_ICON_HEIGHT;
+            rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "icon_rect";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               text {
+                  min: 1 0;
+                  style: "button_bottom";
+               }
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               text.style: "button_bottom_press";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               text.style: "button_bottom_dim";
+            }
+            description { state: "invisible" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "event";
+            scale: 1;
+            type: RECT;
+            description { state: "default" 0.0;
+              rel1.to: "base";
+              rel2.to: "base";
+              color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program { name: "pressed";
+            signal: "mouse,down,1*";
+            source: "event";
+            script {
+               if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0))
+                 {
+                     set_int(mouse_down, 1);
+                     run_program(PROGRAM:"button_press1");
+                 }
+            }
+         }
+         program { name: "button_press1";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"bg", st, 30, vl);
+               if (strcmp(st, "disabled")) {
+                  set_state(PART:"base", "pressed", 0.0);
+                  set_state(PART:"bg", "pressed", 0.0);
+                  set_state(PART:"elm.text", "pressed", 0.0);
+                  emit("elm,action,press", "");
+               }
+            }
+         }
+         program { name: "unpressed";
+            signal: "mouse,up,1";
+            source: "event";
+            script {
+               if (get_int(mouse_down) == 1) {
+                 set_int(mouse_down, 0);
+                 run_program(PROGRAM:"button_unpress1");
+               }
+            }
+         }
+         program { name: "button_unpress1";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"bg", st, 30, vl);
+               if (strcmp(st, "disabled")) {
+                  set_state(PART:"base", "default", 0.0);
+                  set_state(PART:"bg", "default", 0.0);
+                  set_state(PART:"elm.text", "default", 0.0);
+                  emit("elm,action,unpress", "");
+               }
+            }
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "event";
+            script {
+               new st[31];
+               new Float:vl;
+               if (get_int(multi_down) == 0) {
+                  get_state(PART:"bg", st, 30, vl);
+                  if (strcmp(st, "disabled")) {
+                     run_program(PROGRAM:"touch_sound");
+                     emit("elm,action,click", "");
+                  }
+               }
+            }
+         }
+         program { name: "touch_sound";
+            action: RUN_PLUGIN "touch_sound";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "text_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            action: STATE_SET "invisible" 0.0;
+            target: "elm.text";
+         }
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "bg";
+            target: "elm.text";
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "elm.text";
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "multi_down";
+            signal: "elm,action,multi,down";
+            source: "elm";
+            script {
+               set_int(multi_down, 1);
+            }
+         }
+         program { name: "multi_up";
+            signal: "elm,action,multi,up";
+            source: "elm";
+            script {
+               set_int(multi_down, 0);
+            }
+         }
+      }
+   }
+
+group { name: "elm/button/base/call_icon_only";
+      script {
+         public mouse_down = 0;
+         public multi_down = 0;
+      }
+      images {
+                image: BG_IMG_PATH"/core_button_bg.#.png" COMP;
+      }
+      parts {
+         part { name: "base";
+            scale: 1;
+            description { state: "default" 0.0;
+               image.normal: BG_IMG_PATH"/core_button_bg.#.png";
+               color_class: "W011E1";
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               visible: 0 ;
+            }
+         }
+         part { name: "bg";
+            scale: 1;
+            description { state: "default" 0.0;
+               rel1.to: "base";
+               rel2.to: "base";
+               image.normal: BG_IMG_PATH"/call_btn_circle.png";
+               color_class: "AO043";
+               aspect_preference: SOURCE;
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               color_class: "AO043P";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               color_class: "AO043D";
+            }
+         }
+         part { name: "padding_left_top";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 0.0 0.0;
+               rel2.relative: 0.0 0.0;
+               min: BUTTON_BOTTOM_PADDING_LEFT_RIGHT 0;
+               fixed: 1 1;
+            }
+         }
+         part { name: "padding_right_bottom";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 1.0 1.0;
+               rel1.relative: 1.0 1.0;
+               min: BUTTON_BOTTOM_PADDING_LEFT_RIGHT 0;
+               fixed: 1 1;
+            }
+         }
+         part { name: "icon_rect";
+            type: SPACER;
+            scale: 1;
+            description { state: "default" 0.0;
+               align: 0.0 0.5;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to: "padding_left_top";
+               }
+               rel2 {
+                  relative: 1.0 0.0;
+                  to_x: "padding_left_top";
+                  to_y: "padding_right_bottom";
+               }
+               min: 0 0;
+               fixed: 1 1;
+            }
+            description { state: "visible" 0.0;
+               inherit: "default" 0.0;
+               min: BUTTON_ICON_WIDTH BUTTON_ICON_HEIGHT;
+               max: BUTTON_ICON_WIDTH BUTTON_ICON_HEIGHT;
+               fixed: 1 1;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "visible" 0.0;
+            }
+         }
+         part { name: "elm.swallow.content";
+            type: SWALLOW;
+            scale: 1;
+            description { state: "default" 0.0;
+               visible: 1;
+               align: 0.5 0.5;
+               rel1 {
+                  relative: BUTTON_BOTTOM_ICON_OFFSET_L 0.0;
+               }
+               rel2 {
+                  relative: BUTTON_BOTTOM_ICON_OFFSET_R 1.0;
+               }
+               fixed: 1 0;
+            }
+            description { state: "visible" 0.0;
+               fixed: 1 1;
+               inherit: "default" 0.0;
+            }
+            description { state: "icononly" 0.0;
+               inherit: "visible" 0.0;
+            }
+            description { state: "disabled" 0.0;
+               inherit: "visible" 0.0;
+            }
+         }
+         part { name: "elm.text";
+            type: TEXTBLOCK;
+            mouse_events: 0;
+            scale: 1;
+            description { state: "default" 0.0;
+               fixed: 1 1;
+               rel1 {
+                  relative: 1.0 1.0;
+                  to_x: "icon_rect";
+                  to_y: "padding_left_top";
+               }
+               rel2 {
+                  relative: 0.0 0.0;
+                  to: "padding_right_bottom";
+               }
+               text {
+                  max: 1 0;
+                  style: "button_bottom";
+               }
+            }
+            description { state: "pressed" 0.0;
+               inherit: "default" 0.0;
+               text.style: "button_bottom_press";
+            }
+            description { state: "disabled" 0.0;
+               inherit: "default" 0.0;
+               text.style: "button_bottom_dim";
+            }
+            description { state: "invisible" 0.0;
+               inherit: "default" 0.0;
+               visible: 0;
+            }
+         }
+         part { name: "event";
+            scale: 1;
+            type: RECT;
+            description { state: "default" 0.0;
+              rel1.to: "base";
+              rel2.to: "base";
+              color: 0 0 0 0;
+            }
+         }
+      }
+      programs {
+         program { name: "pressed";
+            signal: "mouse,down,1*";
+            source: "event";
+            script {
+               if ((get_int(multi_down) == 0) && (get_int(mouse_down) == 0))
+                 {
+                     set_int(mouse_down, 1);
+                     run_program(PROGRAM:"button_press1");
+                 }
+            }
+         }
+         program { name: "button_press1";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"bg", st, 30, vl);
+               if (strcmp(st, "disabled")) {
+                  set_state(PART:"base", "pressed", 0.0);
+                  set_state(PART:"bg", "pressed", 0.0);
+                  set_state(PART:"elm.text", "pressed", 0.0);
+                  emit("elm,action,press", "");
+               }
+            }
+         }
+         program { name: "unpressed";
+            signal: "mouse,up,1";
+            source: "event";
+            script {
+               if (get_int(mouse_down) == 1) {
+                 set_int(mouse_down, 0);
+                 run_program(PROGRAM:"button_unpress1");
+               }
+            }
+         }
+         program { name: "button_unpress1";
+            script {
+               new st[31];
+               new Float:vl;
+               get_state(PART:"bg", st, 30, vl);
+               if (strcmp(st, "disabled")) {
+                  set_state(PART:"base", "default", 0.0);
+                  set_state(PART:"bg", "default", 0.0);
+                  set_state(PART:"elm.text", "default", 0.0);
+                  emit("elm,action,unpress", "");
+               }
+            }
+         }
+         program { name: "touch_snd";
+            signal: "mouse,clicked,1";
+            source: "event";
+            script {
+               new st[31];
+               new Float:vl;
+               if (get_int(multi_down) == 0) {
+                  get_state(PART:"bg", st, 30, vl);
+                  if (strcmp(st, "disabled")) {
+                     run_program(PROGRAM:"touch_sound");
+                     emit("elm,action,click", "");
+                  }
+               }
+            }
+         }
+         program { name: "touch_sound";
+            action: RUN_PLUGIN "touch_sound";
+         }
+         program { name: "text_show";
+            signal: "elm,state,text,visible";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.text";
+         }
+         program { name: "text_hide";
+            signal: "elm,state,text,hidden";
+            source: "elm";
+            action: STATE_SET "invisible" 0.0;
+            target: "elm.text";
+         }
+         program { name: "icon_show";
+            signal: "elm,state,icon,visible";
+            source: "elm";
+            action: STATE_SET "visible" 0.0;
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "icon_hide";
+            signal: "elm,state,icon,hidden";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "disable";
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled" 0.0;
+            target: "bg";
+            target: "elm.text";
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "enable";
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default" 0.0;
+            target: "bg";
+            target: "elm.text";
+            target: "elm.swallow.content";
+            target: "icon_rect";
+         }
+         program { name: "multi_down";
+            signal: "elm,action,multi,down";
+            source: "elm";
+            script {
+               set_int(multi_down, 1);
+            }
+         }
+         program { name: "multi_up";
+            signal: "elm,action,multi,up";
+            source: "elm";
+            script {
+               set_int(multi_down, 0);
+            }
+         }
+      }
+   }
+}
diff --git a/res/themes/icon/call_btn_end_01.png b/res/themes/icon/call_btn_end_01.png
new file mode 100755 (executable)
index 0000000..4c6a356
Binary files /dev/null and b/res/themes/icon/call_btn_end_01.png differ
diff --git a/res/themes/icon/call_btn_end_02.png b/res/themes/icon/call_btn_end_02.png
new file mode 100755 (executable)
index 0000000..ad30f30
Binary files /dev/null and b/res/themes/icon/call_btn_end_02.png differ
diff --git a/res/themes/icon/call_btn_end_03.png b/res/themes/icon/call_btn_end_03.png
new file mode 100755 (executable)
index 0000000..2b80f2d
Binary files /dev/null and b/res/themes/icon/call_btn_end_03.png differ
diff --git a/res/themes/icon/call_btn_resume.png b/res/themes/icon/call_btn_resume.png
new file mode 100644 (file)
index 0000000..98600e2
Binary files /dev/null and b/res/themes/icon/call_btn_resume.png differ
diff --git a/res/themes/icon/call_button_add_call.png b/res/themes/icon/call_button_add_call.png
new file mode 100755 (executable)
index 0000000..ff411d9
Binary files /dev/null and b/res/themes/icon/call_button_add_call.png differ
diff --git a/res/themes/icon/call_button_bluetooth.png b/res/themes/icon/call_button_bluetooth.png
new file mode 100755 (executable)
index 0000000..5be0b4a
Binary files /dev/null and b/res/themes/icon/call_button_bluetooth.png differ
diff --git a/res/themes/icon/call_button_contacts.png b/res/themes/icon/call_button_contacts.png
new file mode 100755 (executable)
index 0000000..451c0a0
Binary files /dev/null and b/res/themes/icon/call_button_contacts.png differ
diff --git a/res/themes/icon/call_button_extra.png b/res/themes/icon/call_button_extra.png
new file mode 100755 (executable)
index 0000000..f0f2c3a
Binary files /dev/null and b/res/themes/icon/call_button_extra.png differ
diff --git a/res/themes/icon/call_button_headset.png b/res/themes/icon/call_button_headset.png
new file mode 100755 (executable)
index 0000000..dbda9d0
Binary files /dev/null and b/res/themes/icon/call_button_headset.png differ
diff --git a/res/themes/icon/call_button_keypad.png b/res/themes/icon/call_button_keypad.png
new file mode 100755 (executable)
index 0000000..0213635
Binary files /dev/null and b/res/themes/icon/call_button_keypad.png differ
diff --git a/res/themes/icon/call_button_mute.png b/res/themes/icon/call_button_mute.png
new file mode 100755 (executable)
index 0000000..5e11026
Binary files /dev/null and b/res/themes/icon/call_button_mute.png differ
diff --git a/res/themes/icon/call_button_speaker.png b/res/themes/icon/call_button_speaker.png
new file mode 100755 (executable)
index 0000000..66179a6
Binary files /dev/null and b/res/themes/icon/call_button_speaker.png differ
diff --git a/res/themes/icon/call_extra_call.png b/res/themes/icon/call_extra_call.png
new file mode 100755 (executable)
index 0000000..8ce6294
Binary files /dev/null and b/res/themes/icon/call_extra_call.png differ
diff --git a/res/themes/icon/call_extra_merge.png b/res/themes/icon/call_extra_merge.png
new file mode 100755 (executable)
index 0000000..5c7ed29
Binary files /dev/null and b/res/themes/icon/call_extra_merge.png differ
diff --git a/res/themes/icon/call_extra_swap.png b/res/themes/icon/call_extra_swap.png
new file mode 100755 (executable)
index 0000000..e0fc6ca
Binary files /dev/null and b/res/themes/icon/call_extra_swap.png differ
diff --git a/res/themes/icon/call_extra_volume.png b/res/themes/icon/call_extra_volume.png
new file mode 100755 (executable)
index 0000000..5cfc524
Binary files /dev/null and b/res/themes/icon/call_extra_volume.png differ
diff --git a/res/themes/icon/call_onoff_bar.#.png b/res/themes/icon/call_onoff_bar.#.png
new file mode 100755 (executable)
index 0000000..6daf3cb
Binary files /dev/null and b/res/themes/icon/call_onoff_bar.#.png differ
diff --git a/res/themes/icon/icon_call.png b/res/themes/icon/icon_call.png
new file mode 100644 (file)
index 0000000..cf48689
Binary files /dev/null and b/res/themes/icon/icon_call.png differ
diff --git a/res/themes/icon/icon_end_call.png b/res/themes/icon/icon_end_call.png
new file mode 100644 (file)
index 0000000..97eb8cb
Binary files /dev/null and b/res/themes/icon/icon_end_call.png differ
diff --git a/res/themes/icon/icon_mic.png b/res/themes/icon/icon_mic.png
new file mode 100644 (file)
index 0000000..7ac836a
Binary files /dev/null and b/res/themes/icon/icon_mic.png differ
diff --git a/res/themes/icon/icon_noti_call.png b/res/themes/icon/icon_noti_call.png
new file mode 100755 (executable)
index 0000000..22ca0ca
Binary files /dev/null and b/res/themes/icon/icon_noti_call.png differ
diff --git a/res/themes/icon/icon_speaker.png b/res/themes/icon/icon_speaker.png
new file mode 100644 (file)
index 0000000..fe08bbb
Binary files /dev/null and b/res/themes/icon/icon_speaker.png differ
diff --git a/res/themes/icon/icon_video_call.png b/res/themes/icon/icon_video_call.png
new file mode 100755 (executable)
index 0000000..b74b1ce
Binary files /dev/null and b/res/themes/icon/icon_video_call.png differ
diff --git a/res/themes/icon/icon_voice_recorder.png b/res/themes/icon/icon_voice_recorder.png
new file mode 100755 (executable)
index 0000000..c25f574
Binary files /dev/null and b/res/themes/icon/icon_voice_recorder.png differ
diff --git a/res/themes/icon/vc_button_qp_call.png b/res/themes/icon/vc_button_qp_call.png
new file mode 100755 (executable)
index 0000000..d258c84
Binary files /dev/null and b/res/themes/icon/vc_button_qp_call.png differ
diff --git a/res/themes/icon/vc_button_qp_call_landscape.png b/res/themes/icon/vc_button_qp_call_landscape.png
new file mode 100755 (executable)
index 0000000..c1a77b4
Binary files /dev/null and b/res/themes/icon/vc_button_qp_call_landscape.png differ
diff --git a/res/themes/icon/vc_button_qp_call_press.png b/res/themes/icon/vc_button_qp_call_press.png
new file mode 100755 (executable)
index 0000000..9146e8f
Binary files /dev/null and b/res/themes/icon/vc_button_qp_call_press.png differ
diff --git a/res/themes/icon/vc_button_qp_call_press_landscape.png b/res/themes/icon/vc_button_qp_call_press_landscape.png
new file mode 100755 (executable)
index 0000000..075f371
Binary files /dev/null and b/res/themes/icon/vc_button_qp_call_press_landscape.png differ
diff --git a/res/themes/icon/vc_button_qp_end_normal.png b/res/themes/icon/vc_button_qp_end_normal.png
new file mode 100755 (executable)
index 0000000..e1ee8b3
Binary files /dev/null and b/res/themes/icon/vc_button_qp_end_normal.png differ
diff --git a/res/themes/icon/vc_button_qp_end_normal_landscape.png b/res/themes/icon/vc_button_qp_end_normal_landscape.png
new file mode 100755 (executable)
index 0000000..98a341b
Binary files /dev/null and b/res/themes/icon/vc_button_qp_end_normal_landscape.png differ
diff --git a/res/themes/icon/vc_button_qp_end_press.png b/res/themes/icon/vc_button_qp_end_press.png
new file mode 100755 (executable)
index 0000000..a11d950
Binary files /dev/null and b/res/themes/icon/vc_button_qp_end_press.png differ
diff --git a/res/themes/icon/vc_button_qp_end_press_landscape.png b/res/themes/icon/vc_button_qp_end_press_landscape.png
new file mode 100755 (executable)
index 0000000..eafc92b
Binary files /dev/null and b/res/themes/icon/vc_button_qp_end_press_landscape.png differ
diff --git a/res/themes/icon/vc_conf_end_dim.png b/res/themes/icon/vc_conf_end_dim.png
new file mode 100755 (executable)
index 0000000..64a3f01
Binary files /dev/null and b/res/themes/icon/vc_conf_end_dim.png differ
diff --git a/res/themes/icon/vc_conf_end_normal.png b/res/themes/icon/vc_conf_end_normal.png
new file mode 100755 (executable)
index 0000000..91116a1
Binary files /dev/null and b/res/themes/icon/vc_conf_end_normal.png differ
diff --git a/res/themes/icon/vc_conf_end_press.png b/res/themes/icon/vc_conf_end_press.png
new file mode 100755 (executable)
index 0000000..fc79110
Binary files /dev/null and b/res/themes/icon/vc_conf_end_press.png differ
diff --git a/res/themes/icon/vc_conf_split.png b/res/themes/icon/vc_conf_split.png
new file mode 100755 (executable)
index 0000000..4b1b703
Binary files /dev/null and b/res/themes/icon/vc_conf_split.png differ
diff --git a/res/themes/icon/vc_conf_split_dim.png b/res/themes/icon/vc_conf_split_dim.png
new file mode 100755 (executable)
index 0000000..86e2a65
Binary files /dev/null and b/res/themes/icon/vc_conf_split_dim.png differ
diff --git a/res/themes/icon/vc_conf_split_press.png b/res/themes/icon/vc_conf_split_press.png
new file mode 100755 (executable)
index 0000000..aaea502
Binary files /dev/null and b/res/themes/icon/vc_conf_split_press.png differ
diff --git a/res/themes/icon/vc_quick_btn_mute_disabled.png b/res/themes/icon/vc_quick_btn_mute_disabled.png
new file mode 100755 (executable)
index 0000000..feb5e41
Binary files /dev/null and b/res/themes/icon/vc_quick_btn_mute_disabled.png differ
diff --git a/res/themes/icon/vc_quick_btn_mute_nor.png b/res/themes/icon/vc_quick_btn_mute_nor.png
new file mode 100755 (executable)
index 0000000..b01cb7a
Binary files /dev/null and b/res/themes/icon/vc_quick_btn_mute_nor.png differ
diff --git a/res/themes/icon/vc_quick_btn_speaker_off.png b/res/themes/icon/vc_quick_btn_speaker_off.png
new file mode 100755 (executable)
index 0000000..e15284a
Binary files /dev/null and b/res/themes/icon/vc_quick_btn_speaker_off.png differ
diff --git a/res/themes/icon/vc_quick_btn_speaker_on.png b/res/themes/icon/vc_quick_btn_speaker_on.png
new file mode 100755 (executable)
index 0000000..8ef4511
Binary files /dev/null and b/res/themes/icon/vc_quick_btn_speaker_on.png differ
diff --git a/res/themes/sounds/List_reorder.wav b/res/themes/sounds/List_reorder.wav
new file mode 100755 (executable)
index 0000000..5ab6958
Binary files /dev/null and b/res/themes/sounds/List_reorder.wav differ
diff --git a/res/themes/sounds/Tizen_Touch.wav b/res/themes/sounds/Tizen_Touch.wav
new file mode 100755 (executable)
index 0000000..ef6e6ae
Binary files /dev/null and b/res/themes/sounds/Tizen_Touch.wav differ
diff --git a/src/callui-common.c b/src/callui-common.c
new file mode 100755 (executable)
index 0000000..41070e8
--- /dev/null
@@ -0,0 +1,858 @@
+/*
+ * 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.
+ *
+ */
+
+#include <app_control.h>
+#include <Ecore_X.h>
+#include <utilX.h>
+#include <vconf.h>
+#include <sys/sysinfo.h>
+#include <time.h>
+#include <contacts.h>
+#include <device/display.h>
+#include <device/power.h>
+#include <dbus/dbus.h>
+#include <gio/gio.h>
+#include <runtime_info.h>
+#include <bluetooth.h>
+#include <system_info.h>
+#include <system_settings.h>
+
+#include "callui-common.h"
+#include "callui-view-elements.h"
+#include "callui.h"
+#include "callui-view-dialing.h"
+#include "callui-view-single-call.h"
+#include "callui-view-callend.h"
+#include "callui-view-manager.h"
+#include "callui-view-multi-call-list.h"
+#include "callui-view-multi-call-split.h"
+#include "callui-view-multi-call-conf.h"
+#include "callui-view-quickpanel.h"
+#include "callui-view-caller-info-defines.h"
+
+#define CONTACT_PKG                    "org.tizen.contacts"
+#define PHONE_PKG                      "org.tizen.phone"
+#define BLUETOOTH_PKG          "ug-bluetooth-efl"
+#define BUS_NAME       "org.tizen.system.deviced"
+#define OBJECT_PATH    "/Org/Tizen/System/DeviceD"
+#define INTERFACE_NAME BUS_NAME
+
+#define DEVICED_PATH_DISPLAY   OBJECT_PATH"/Display"
+#define DEVICED_INTERFACE_DISPLAY      INTERFACE_NAME".display"
+#define LCD_ON_SIGNAL_NAME "LCDOnByPowerkey"
+#define METHOD_SET_LCDTIMEOUT "setlcdtimeout"
+
+#define TIME_BUF_LEN (16)
+
+#define DBUS_REPLY_TIMEOUT (120 * 1000)
+
+static bool g_is_headset_connected;
+
+#define SCREEN_WIDTH 720
+#define SCREEN_HEIGHT 1280
+
+#define SYSTEM_INFO_KEY_SCREEN_WIDTH "http://tizen.org/feature/screen.width"
+#define SYSTEM_INFO_KEY_SCREEN_HEIGHT "http://tizen.org/feature/screen.height"
+
+struct dbus_byte {
+        const char *data;
+        int size;
+};
+
+static Eina_Bool __callui_common_duration_timer_cb(void *data)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, ECORE_CALLBACK_CANCEL);
+
+       if ((ad->active) && (ad->incom == NULL) && (ad->active->call_state != CM_CALL_STATE_DIALING)) {
+               if (ad->held) {
+                       _callui_common_update_call_duration(ad->held->start_time);
+               } else {
+                       _callui_common_update_call_duration(ad->active->start_time);
+               }
+       }
+       return ECORE_CALLBACK_RENEW;
+}
+
+void _callui_common_set_call_duration(char *time_dur)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       Evas_Object *layout = NULL;
+       layout = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+       CALLUI_RETURN_IF_FAIL(layout);
+       if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCALL_MULTICALL_SPLIT_VIEW) {
+               Evas_Object *one_hold_layout = elm_object_part_content_get(layout, PART_SWALLOW_CALL_INFO);
+               Evas_Object *active_layout = elm_object_part_content_get(one_hold_layout, PART_SWALLOW_ACTIVE_INFO);
+               elm_object_part_text_set(active_layout, PART_TEXT_STATUS, time_dur);
+       } else {
+               edje_object_part_text_set(_EDJ(layout), "call_txt_status", _(time_dur));
+       }
+
+       if (ad->win_quickpanel && ad->quickpanel_layout) {
+               _callui_view_qp_set_call_timer(ad->quickpanel_layout, time_dur);
+       }
+}
+
+void _callui_common_update_call_duration(long starttime)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       long curr_time = 0;
+       struct tm loctime;
+       long call_time;
+
+       curr_time = _callui_common_get_uptime();
+       call_time = curr_time - starttime;
+       gmtime_r((const time_t *)&call_time, &loctime);
+
+       ad->current_sec = loctime.tm_sec;
+       ad->current_min = loctime.tm_min;
+       ad->current_hour = loctime.tm_hour;
+
+       char dur[TIME_BUF_LEN];
+       if (ad->current_hour > 0) {
+               snprintf(dur, TIME_BUF_LEN, "%02d:%02d:%02d", ad->current_hour, ad->current_min, ad->current_sec);
+       } else {
+               snprintf(dur, TIME_BUF_LEN, "%02d:%02d", ad->current_min, ad->current_sec);
+       }
+
+       _callui_common_set_call_duration(dur);
+}
+
+Eina_Bool _callui_common_is_earjack_connected(void)
+{
+       int result = EINA_FALSE;
+       int earjack_status = -1;
+
+       int ret = runtime_info_get_value_int(RUNTIME_INFO_KEY_AUDIO_JACK_STATUS, &earjack_status);
+       if (RUNTIME_INFO_ERROR_NONE == ret) {
+               dbg("earjack_status:[%d]", earjack_status);
+               if (RUNTIME_INFO_AUDIO_JACK_STATUS_UNCONNECTED != earjack_status) {
+                       result = EINA_TRUE;
+               }
+       } else {
+               err("runtime_info_get_value_int failed.. Error: %d", ret);
+       }
+
+       return result;
+}
+
+void _callui_common_set_quickpanel_scrollable(Eina_Bool benable)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       unsigned int val[3];
+
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       if (benable) {
+               val[0] = 1;
+               val[1] = 1;
+               val[2] = 1;
+       } else {
+               val[0] = 0;
+               val[1] = 0;
+               val[2] = 0;
+       }
+
+       dbg("Set Quick panel scrollable : %d", benable);
+       ecore_x_window_prop_card32_set(elm_win_xwindow_get(ad->win), ad->quickpanel_scroll_state, val, 3);
+}
+
+void _callui_common_create_duration_timer()
+{
+       dbg("_callui_common_create_duration_timer..");
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       if (ad->duration_timer) {
+               ecore_timer_del(ad->duration_timer);
+               ad->duration_timer = NULL;
+       }
+       CALLUI_RETURN_IF_FAIL(ad->active);
+
+       _callui_common_update_call_duration(ad->active->start_time);
+       ad->duration_timer = ecore_timer_add(1.0, __callui_common_duration_timer_cb, NULL);
+       if (ad->duration_timer == NULL) {
+               err("ecore_timer_add returned NULL");
+       }
+}
+
+void _callui_common_delete_duration_timer()
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (ad->duration_timer) {
+               ecore_timer_del(ad->duration_timer);
+               ad->duration_timer = NULL;
+       }
+}
+
+static Eina_Bool __callui_common_ending_timer_expired_cb(void *data)
+{
+       dbg("__callui_common_ending_timer_expired_cb");
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       ad->ending_timer = NULL;
+       _callvm_terminate_app_or_view_change(ad);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool __callui_common_ending_timer_blink_cb(void *data)
+{
+       dbg("__callui_common_ending_timer_blink_cb");
+       callui_app_data_t *ad = _callui_get_app_data();
+       call_view_data_t *vd = data;
+
+       if ((ad->blink_cnt % 2) == 0) {
+               _callui_show_caller_info_status(ad, _("IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"), 0);
+       } else if ((ad->blink_cnt % 2) == 1) {
+               _callui_show_caller_info_status(ad, _(" "), 0);
+       }
+
+       ad->blink_cnt++;
+       if (ad->blink_cnt == 5) {
+               /* Run a timer of 2secs for destroying the end selection menu */
+               if (ad->ending_timer) {
+                       ecore_timer_del(ad->ending_timer);
+                       ad->ending_timer = NULL;
+               }
+               ad->ending_timer = ecore_timer_add(2, __callui_common_ending_timer_expired_cb, NULL);
+
+               ad->blink_timer = NULL;
+               return ECORE_CALLBACK_CANCEL;
+       }
+       return ECORE_CALLBACK_RENEW;
+}
+
+void _callui_common_create_ending_timer(call_view_data_t *vd, long start_time)
+{
+       CALLUI_RETURN_IF_FAIL(vd);
+       callui_app_data_t *ad = _callui_get_app_data();
+       ad->blink_cnt = 0;
+       if (ad->blink_timer) {
+               ecore_timer_del(ad->blink_timer);
+               ad->blink_timer = NULL;
+       }
+       ad->blink_timer = ecore_timer_add(0.5, __callui_common_ending_timer_blink_cb, vd);
+}
+
+void _callui_common_delete_ending_timer(void)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (ad->ending_timer) {
+               ecore_timer_del(ad->ending_timer);
+               ad->ending_timer = NULL;
+       }
+
+       if (ad->blink_timer) {
+               ecore_timer_del(ad->blink_timer);
+               ad->blink_timer = NULL;
+       }
+}
+
+char *_callui_common_get_sim_name(void *appdata)
+{
+       dbg("_callui_common_get_sim_name");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       char *sim_name = NULL;
+       if (ad->sim_slot == CM_SIM_SLOT_1_E) {
+               sim_name = vconf_get_str(VCONFKEY_SETAPPL_SIM1_NAME);
+       } else if (ad->sim_slot == CM_SIM_SLOT_2_E) {
+               sim_name = vconf_get_str(VCONFKEY_SETAPPL_SIM2_NAME);
+       } else {
+               err("Invalid option for sim slot reached !!!");
+       }
+       info("sim name is :  %s ", sim_name);
+       return sim_name;
+}
+
+
+static bool __callui_common_bt_device_connected_profile(bt_profile_e profile, void *user_data)
+{
+       dbg("..");
+       if ((profile == BT_PROFILE_A2DP) || (profile == BT_PROFILE_HSP)) {
+               dbg("found connected bluetooth headset device");
+               g_is_headset_connected = true;
+               return false;
+       }
+       return true;
+}
+
+
+static bool __callui_common_bt_adapter_bonded_device_cb(bt_device_info_s *device_info, void *user_data)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)user_data;
+       if (device_info->is_connected) {
+               bt_device_foreach_connected_profiles(device_info->remote_address, __callui_common_bt_device_connected_profile, ad);
+       }
+       return true;
+}
+
+
+Eina_Bool _callui_common_is_headset_conected(void)
+{
+       g_is_headset_connected = false;
+       callui_app_data_t *ad  = _callui_get_app_data();
+       bt_adapter_foreach_bonded_device(__callui_common_bt_adapter_bonded_device_cb, ad);
+
+       return g_is_headset_connected;
+}
+
+callui_idle_lock_type_t _callui_common_get_idle_lock_type(void)
+{
+       int lock_state = -1;
+       int lock_type = SETTING_SCREEN_LOCK_TYPE_NONE;
+       int ret = 0;
+       callui_idle_lock_type_t ret_val = LOCK_TYPE_UNLOCK;
+
+       ret = system_settings_get_value_int(SYSTEM_SETTINGS_KEY_LOCK_STATE, &lock_state);
+       if (ret < 0) {
+               err("system_settings_get_value_int failed with code %d", ret);
+       }
+
+       ret = vconf_get_int(VCONFKEY_SETAPPL_SCREEN_LOCK_TYPE_INT, &lock_type);
+       if (ret < 0) {
+               err("vconf_get_int error");
+       }
+
+       if (lock_state == SYSTEM_SETTINGS_LOCK_STATE_LOCK) {
+               if (lock_type == SETTING_SCREEN_LOCK_TYPE_SIMPLE_PASSWORD
+                       || lock_type == SETTING_SCREEN_LOCK_TYPE_PASSWORD) {
+                       ret_val = LOCK_TYPE_SECURITY_LOCK;
+               } else {
+                       ret_val = LOCK_TYPE_SWIPE_LOCK;
+               }
+       } else {
+               ret_val = LOCK_TYPE_UNLOCK;
+       }
+
+       info("Lock state : %d", ret_val);
+       return ret_val;
+}
+
+int _callui_common_unlock_swipe_lock(void)
+{
+       vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
+       return 0;
+}
+
+long _callui_common_get_uptime(void)
+{
+       struct sysinfo info;
+
+       if (sysinfo(&info) == 0) {
+               return info.uptime;
+       }
+       return 0;
+}
+
+void _callui_common_win_set_noti_type(void *appdata, int bwin_noti)
+{
+       dbg("_callui_common_win_set_noti_type");
+       Ecore_X_Window xwin;
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+
+       /* Get x-window */
+       xwin = elm_win_xwindow_get(ad->win);
+
+       if (bwin_noti == EINA_FALSE) {
+               dbg("window type: NORMAL");
+               /* Set Normal window */
+               ecore_x_netwm_window_type_set(xwin, ECORE_X_WINDOW_TYPE_NORMAL);
+       } else {
+               dbg("window type: NOTI-HIGH");
+               /* Set Notification window */
+               ecore_x_netwm_window_type_set(xwin, ECORE_X_WINDOW_TYPE_NOTIFICATION);
+               /* Set Notification's priority to LEVEL_HIGH */
+               utilx_set_system_notification_level(ecore_x_display_get(), xwin, UTILX_NOTIFICATION_LEVEL_HIGH);
+       }
+       return;
+}
+
+void _callui_common_get_contact_info(int person_id, call_contact_data_t *ct_info)
+{
+       dbg("_callui_common_get_contact_info");
+       contacts_error_e err = CONTACTS_ERROR_NONE;
+       contacts_record_h person_record = NULL;
+
+       if (person_id == -1) {
+               err("Invalid contact index!!!");
+               return;
+       }
+
+       if (ct_info == NULL) {
+               err("Empty contact info!!!");
+               return;
+       }
+
+       err = contacts_connect();
+       if (CONTACTS_ERROR_NONE != err) {
+               err("contacts_connect is error : %d", err);
+               return;
+       }
+
+       ct_info->person_id = person_id;
+       err = contacts_db_get_record(_contacts_person._uri, person_id, &person_record);
+       if (CONTACTS_ERROR_NONE != err) {
+               err("contacts_db_get_record error %d", err);
+       } else {
+               char *name = NULL;
+               char *img_path = NULL;
+
+               /* Get display name */
+               err = contacts_record_get_str(person_record, _contacts_person.display_name, &name);
+               if (CONTACTS_ERROR_NONE != err) {
+                       err("contacts_record_get_str(display name) error %d", err);
+               } else {
+                       g_strlcpy(ct_info->call_disp_name, name, CALLUI_DISPLAY_NAME_LENGTH_MAX);
+                       free(name);
+               }
+
+               /* Get caller id path */
+               err = contacts_record_get_str(person_record, _contacts_person.image_thumbnail_path, &img_path);
+               if (CONTACTS_ERROR_NONE != err) {
+                       err("contacts_record_get_str(caller id path) error %d", err);
+               } else {
+                       g_strlcpy(ct_info->caller_id_path, img_path, CALLUI_IMAGE_PATH_LENGTH_MAX);
+                       free(img_path);
+               }
+               contacts_record_destroy(person_record, TRUE);
+       }
+
+       dbg("contact index:[%d]", ct_info->person_id);
+       dbg("display name:[%s]", ct_info->call_disp_name);
+       dbg("img path:[%s]", ct_info->caller_id_path);
+
+       contacts_disconnect();
+       return;
+}
+
+void _callui_common_launch_contacts(void *appdata)
+{
+       dbg("..");
+       app_control_h service;
+
+       _callui_common_win_set_noti_type(appdata, EINA_FALSE);
+
+       int ret = app_control_create(&service);
+       if (ret < 0) {
+               err("app_control_create() return error : %d", ret);
+               return;
+       }
+
+       if (app_control_set_app_id(service, CONTACT_PKG)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_app_id() is failed");
+       } else if (app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_operation() is failed");
+       } else if (app_control_send_launch_request(service, NULL, NULL)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() is failed");
+       }
+
+       app_control_destroy(service);
+}
+
+void _callui_common_launch_bt_app(void *appdata)
+{
+       dbg("..");
+       app_control_h service;
+
+       _callui_common_win_set_noti_type(appdata, EINA_FALSE);
+
+       int ret = app_control_create(&service);
+       if (ret < 0) {
+               err("app_control_create() return error : %d", ret);
+               return;
+       }
+
+       if (app_control_set_app_id(service, BLUETOOTH_PKG) != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_app_id() is failed");
+       } else if (app_control_set_operation(service, APP_CONTROL_OPERATION_PICK) != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_operation() is failed");
+       } else if (app_control_send_launch_request(service, NULL, NULL)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() is failed");
+       }
+
+       app_control_destroy(service);
+}
+
+void _callui_common_launch_dialer(void *appdata)
+{
+       app_control_h service = NULL;
+       int ret = APP_CONTROL_ERROR_NONE;
+       char *uri = NULL;
+
+       _callui_common_win_set_noti_type(appdata, EINA_FALSE);
+
+       ret = app_control_create(&service);
+       if (ret < 0) {
+               err("app_control_create() return error : %d", ret);
+               return;
+       }
+
+       uri = (char *)calloc(5, sizeof(char));
+       if (uri == NULL) {
+               err("memory alloc failed");
+               app_control_destroy(service);
+               return;
+       }
+       snprintf(uri, sizeof(char)*5, "%s", "tel:");
+
+       if (app_control_set_app_id(service, PHONE_PKG)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_app_id() is failed");
+       } else if (app_control_set_operation(service, APP_CONTROL_OPERATION_DIAL)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_operation() is failed");
+       } else if (app_control_set_uri(service, uri)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_set_uri() is failed");
+       } else if (app_control_add_extra_data(service, "launch_type", "add_call")  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_add_extra_data() is failed");
+       } else if (app_control_send_launch_request(service, NULL, NULL)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() is failed");
+       }
+
+       app_control_destroy(service);
+       g_free(uri);
+
+       return;
+}
+
+void _callui_common_launch_msg_composer(void *appdata, char *number)
+{
+       dbg("..");
+
+       app_control_h service;
+       int ret = APP_CONTROL_ERROR_NONE;
+
+       _callui_common_win_set_noti_type(appdata, EINA_FALSE);
+
+       ret = app_control_create(&service);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               warn("app_control_create() return error : %d", ret);
+               return;
+       }
+
+       ret = app_control_set_app_id(service, MSG_PKG);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               warn("app_control_set_app_id() return error : %d", ret);
+               ret = app_control_destroy(service);
+               return;
+       }
+
+       if (number) {
+               ret = app_control_add_extra_data(service, "type", "compose");
+               if (ret != APP_CONTROL_ERROR_NONE) {
+                       warn("app_control_add_extra_data() return error : %d", ret);
+                       ret = app_control_destroy(service);
+                       return;
+               }
+
+               if (strlen(number) > 0) {
+                       ret = app_control_add_extra_data_array(service, APP_CONTROL_DATA_TO, &number, 1);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               warn("app_control_add_extra_data() return error : %d", ret);
+                               ret = app_control_destroy(service);
+                               return;
+                       }
+               }
+       }
+
+       ret = app_control_send_launch_request(service, NULL, NULL);
+       if (ret != APP_CONTROL_ERROR_NONE) {
+               warn("app_control_send_launch_request() is failed : %d", ret);
+       }
+
+       app_control_destroy(service);
+}
+
+/* LCD api */
+void _callui_common_dvc_control_lcd_state(callui_lcd_control_t state)
+{
+       dbg("[%d]", state);
+       int result = -1;
+       switch (state) {
+       case LCD_ON:
+               result = device_display_change_state(DISPLAY_STATE_NORMAL);
+               break;
+
+       case LCD_ON_LOCK:
+               result = device_display_change_state(DISPLAY_STATE_NORMAL);
+               result = device_power_request_lock(POWER_LOCK_DISPLAY, 0);
+               break;
+
+       case LCD_ON_UNLOCK:
+               result = device_display_change_state(DISPLAY_STATE_NORMAL);
+               result = device_power_release_lock(POWER_LOCK_DISPLAY);
+               result = device_power_release_lock(POWER_LOCK_CPU);
+               break;
+
+       case LCD_OFF_SLEEP_LOCK:
+               result = device_power_request_lock(POWER_LOCK_CPU, 0);
+               break;
+
+       case LCD_OFF_SLEEP_UNLOCK:
+               result = device_power_release_lock(POWER_LOCK_CPU);
+               break;
+
+       default:
+               break;
+       }
+       if (result != DEVICE_ERROR_NONE)
+               warn("error during change lcd state");
+}
+
+static int __callui_common_dvc_append_variant(DBusMessageIter *iter, const char *sig, char *param[])
+{
+       char *ch = NULL;
+       int i;
+       int int_type;
+       uint64_t int64_type;
+       DBusMessageIter arr;
+       struct dbus_byte *byte;
+
+       if (!sig || !param)
+               return 0;
+
+       for (ch = (char *)sig, i = 0; *ch != '\0'; ++i, ++ch) {
+               switch (*ch) {
+                       case 'i':
+                               int_type = atoi(param[i]);
+                               dbus_message_iter_append_basic(iter, DBUS_TYPE_INT32, &int_type);
+                               break;
+                       case 'u':
+                               int_type = strtoul(param[i], NULL, 10);
+                               dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT32, &int_type);
+                               break;
+                       case 't':
+                               int64_type = atoll(param[i]);
+                               dbus_message_iter_append_basic(iter, DBUS_TYPE_UINT64, &int64_type);
+                               break;
+                       case 's':
+                               dbus_message_iter_append_basic(iter, DBUS_TYPE_STRING, &param[i]);
+                               break;
+                       case 'a':
+                               if ((ch+1 != NULL) && (*(ch+1) == 'y')) {
+                                       dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, DBUS_TYPE_BYTE_AS_STRING, &arr);
+                                       byte = (struct dbus_byte *)param[i];
+                                       dbus_message_iter_append_fixed_array(&arr, DBUS_TYPE_BYTE, &(byte->data), byte->size);
+                                       dbus_message_iter_close_container(iter, &arr);
+                                       ch++;
+                               }
+                               break;
+                       default:
+                               return -EINVAL;
+               }
+       }
+       return 0;
+}
+
+static void __callui_common_dvc_dbus_reply_cb(DBusPendingCall *call, gpointer user_data)
+{
+       DBusMessage *reply;
+       DBusError derr;
+
+       reply = dbus_pending_call_steal_reply(call);
+       dbus_error_init(&derr);
+
+       if (dbus_set_error_from_message(&derr, reply)) {
+               err("__callui_common_dvc_dbus_reply_cb error: %s, %s",
+                       derr.name, derr.message);
+               dbus_error_free(&derr);
+               goto done;
+       }
+       dbus_pending_call_unref(call);
+done:
+       dbg("__callui_common_dvc_dbus_reply_cb : -");
+       dbus_message_unref(reply);
+}
+gboolean __callui_common_dvc_invoke_dbus_method_async(const char *dest,
+               const char *path,
+               const char *interface,
+               const char *method, const char *sig, char *param[])
+{
+       DBusConnection *conn = NULL;
+       DBusMessage *msg = NULL;
+       DBusMessageIter iter;
+       DBusPendingCall *c = NULL;
+       dbus_bool_t ret = FALSE;
+       int r = -1;
+       conn = dbus_bus_get(DBUS_BUS_SYSTEM, NULL);
+       if (!conn) {
+               err("dbus bus get error");
+               return FALSE;
+       }
+
+       msg = dbus_message_new_method_call(dest, path, interface, method);
+       if (!msg) {
+               err("dbus_message_new_method_call(%s:%s-%s",
+                               path, interface, method);
+               return FALSE;
+       }
+       dbus_message_iter_init_append(msg, &iter);
+       r = __callui_common_dvc_append_variant(&iter, sig, param);
+       if (r < 0) {
+               err("append_variant error : %d", r);
+               goto EXIT;
+       }
+
+       ret = dbus_connection_send_with_reply(conn, msg, &c, DBUS_REPLY_TIMEOUT);
+       if (!ret) {
+               err("dbus_connection_send_ error (False returned)");
+       }
+       dbus_pending_call_set_notify(c, __callui_common_dvc_dbus_reply_cb,      NULL, NULL);
+
+EXIT:
+       dbus_message_unref(msg);
+
+       return ret;
+}
+
+void _callui_common_dvc_set_lcd_timeout(callui_lcd_timeout_t state)
+{
+       int bPowerkeyMode = 0;
+       char str_on[32];
+       char str_dim[32];
+       char str_holdkey[2];
+       char *ar[3];
+       int ret = vconf_get_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, &bPowerkeyMode);
+       if (ret < 0) {
+               err("vconf_get_int failed..[%d]\n", ret);
+       }
+
+       dbg("set timeout : %d, powerkeymode : %d", state, bPowerkeyMode);
+       if (state == LCD_TIMEOUT_SET) {
+               snprintf(str_on, sizeof(str_on), "%d", 10);
+               snprintf(str_dim, sizeof(str_dim), "%d", 20);
+               snprintf(str_holdkey, sizeof(str_holdkey), "%d", bPowerkeyMode);
+       } else if (state == LCD_TIMEOUT_UNSET) {
+               snprintf(str_on, sizeof(str_on), "%d", 0);
+               snprintf(str_dim, sizeof(str_dim), "%d", 0);
+               snprintf(str_holdkey, sizeof(str_holdkey), "%d", bPowerkeyMode);
+       } else if (state == LCD_TIMEOUT_LOCKSCREEN_SET) { /*After lock-screen comes in Connected state LCD goes to OFF in 5 secs*/
+               snprintf(str_on, sizeof(str_on), "%d", 5);
+               snprintf(str_dim, sizeof(str_dim), "%d", 0);
+               snprintf(str_holdkey, sizeof(str_holdkey), "%d", bPowerkeyMode);
+       } else if (state == LCD_TIMEOUT_KEYPAD_SET) {
+               snprintf(str_on, sizeof(str_on), "%d", 3);
+               snprintf(str_dim, sizeof(str_dim), "%d", 5);
+               snprintf(str_holdkey, sizeof(str_holdkey), "%d", bPowerkeyMode);
+       } else {
+               snprintf(str_on, sizeof(str_on), "%d", 0);
+               snprintf(str_dim, sizeof(str_dim), "%d", 0);
+               snprintf(str_holdkey, sizeof(str_holdkey), "%d", 0);
+       }
+
+       dbg("on(%s), dim(%s), hold(%s)", str_on, str_dim, str_holdkey);
+
+       ar[0] = str_on;
+       ar[1] = str_dim;
+       ar[2] = str_holdkey;
+
+       __callui_common_dvc_invoke_dbus_method_async(BUS_NAME,
+                               DEVICED_PATH_DISPLAY,
+                               DEVICED_INTERFACE_DISPLAY,
+                               METHOD_SET_LCDTIMEOUT, "iii", ar);
+}
+
+void _callui_common_reset_main_ly_text_fields(Evas_Object *contents)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(contents);
+       Evas_Object *caller_info = NULL;
+
+       edje_object_part_text_set(_EDJ(contents), "call_txt_status", "");
+       edje_object_part_text_set(_EDJ(contents), "txt_timer", "");
+
+       caller_info = elm_object_part_content_get(contents, "caller_info");
+       if (caller_info) {
+               edje_object_part_text_set(_EDJ(caller_info), "txt_call_name", "");
+               edje_object_part_text_set(_EDJ(caller_info), "txt_phone_num", "");
+       }
+
+       return;
+}
+
+gboolean _callui_common_is_extra_volume_available(void)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, EINA_TRUE);
+       cm_audio_state_type_e snd_path = CM_AUDIO_STATE_NONE_E;
+
+       cm_get_audio_state(ad->cm_handle, &snd_path);
+       dbg("sound path : %d", snd_path);
+
+       if ((snd_path == CM_AUDIO_STATE_BT_E)
+               || ((snd_path == CM_AUDIO_STATE_EARJACK_E)
+                               && (_callui_common_is_earjack_connected() == EINA_TRUE))) {
+               return EINA_FALSE;
+       } else {
+               return EINA_TRUE;
+       }
+}
+
+gboolean _callui_common_is_answering_mode_on(void)
+{
+       gboolean bAnswerMode = EINA_FALSE;
+       Eina_Bool ret = EINA_FALSE;
+
+       ret = vconf_get_bool(VCONFKEY_CISSAPPL_ANSWERING_KEY_BOOL, &bAnswerMode);
+       if (0 == ret) {
+               dbg("bAnswerMode = [%d] \n", bAnswerMode);
+       } else {
+               dbg("vconf_get_int failed..[%d]\n", ret);
+       }
+
+       return bAnswerMode;
+}
+
+gboolean _callui_common_is_powerkey_mode_on(void)
+{
+       gboolean bPowerkeyMode = EINA_FALSE;
+       Eina_Bool ret = EINA_FALSE;
+
+       ret = vconf_get_bool(VCONFKEY_CISSAPPL_POWER_KEY_ENDS_CALL_BOOL, &bPowerkeyMode);
+       if (0 == ret) {
+               dbg("bPowerkeyMode = [%d] \n", bPowerkeyMode);
+       } else {
+               dbg("vconf_get_int failed..[%d]\n", ret);
+       }
+
+       return bPowerkeyMode;
+}
+
+int _callui_common_get_scaled_width(int width)
+{
+       int systemWidth = 0;
+       int scaledWidth = 0;
+       int err = system_info_get_platform_int(SYSTEM_INFO_KEY_SCREEN_WIDTH, &systemWidth);
+       if (err != SYSTEM_INFO_ERROR_NONE) {
+               err("system_info_get_platform_int error %d", err);
+               return width;
+       }
+       scaledWidth = (systemWidth * width) / SCREEN_WIDTH;
+       return scaledWidth;
+}
+
+int _callui_common_get_scaled_height(int height)
+{
+       int systemHeight = 0;
+       int scaledHeight = 0;
+       int err = system_info_get_platform_int(SYSTEM_INFO_KEY_SCREEN_HEIGHT, &systemHeight);
+       if (err != SYSTEM_INFO_ERROR_NONE) {
+               err("system_info_get_platform_int error %d", err);
+               return height;
+       }
+       scaledHeight = (systemHeight * height) / SCREEN_HEIGHT;
+       return scaledHeight;
+}
diff --git a/src/callui-keypad.c b/src/callui-keypad.c
new file mode 100755 (executable)
index 0000000..7ce8ba4
--- /dev/null
@@ -0,0 +1,441 @@
+/*
+ * 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.
+ *
+ */
+
+
+#include "callui.h"
+#include "callui-keypad.h"
+#include "callui-common.h"
+#include "callui-view-elements.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-view-caller-info-defines.h"
+
+#define VC_KEYPAD_ENTRY_FONT "<font='Samsung Sans Num47:style=Light'>%s</>"
+#define VC_KEYAD_ENTRY_STYLE "DEFAULT='align=center color=#ffffffff font_size=76'"
+#define KEYPAD_ENTRY_DISP_DATA_SIZE            1024
+
+typedef struct _keypad_data_t {
+       Evas_Object *keypad_ly;
+       Evas_Object *entry;
+       int data_len;
+       char entry_disp_data[KEYPAD_ENTRY_DISP_DATA_SIZE+1];
+       Eina_Bool bkeypad_show;
+       Ecore_Timer *anim_timer;
+
+       Evas_Object *gesture_ly;
+       int gesture_start_y;
+       int gesture_momentum_y;
+} keypad_data_t;
+
+static keypad_data_t *gkeypad_data;
+
+static Evas_Object *__callui_keypad_create_contents(callui_app_data_t *ad, char *grp_name)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, NULL);
+       Evas_Object *eo = NULL;
+
+       /* load edje */
+       eo = _callui_load_edj(ad->win, EDJ_NAME, grp_name);
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+static keypad_data_t *__callui_keypad_memory_alloc()
+{
+       dbg("..");
+
+       CALLUI_RETURN_VALUE_IF_FAIL(gkeypad_data == NULL, gkeypad_data);
+
+       gkeypad_data = (keypad_data_t *) calloc(1, sizeof(keypad_data_t));
+       if (gkeypad_data == NULL) {
+               err("keydata structure not allocated");
+               return NULL;
+       }
+       memset(gkeypad_data, 0x00, sizeof(keypad_data_t));
+       gkeypad_data->bkeypad_show = EINA_FALSE;
+
+       return gkeypad_data;
+}
+
+static void __callui_keypad_back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       _callui_keypad_hide_layout(ad);
+}
+
+static Evas_Event_Flags __callui_keypad_arrow_flick_gesture_event_cb(void *data, void *event_info)
+{
+       dbg("Flick_Gesture Move");
+       Elm_Gesture_Line_Info *info = (Elm_Gesture_Line_Info *)event_info;
+       keypad_data_t *pkeypad_data = gkeypad_data;
+
+       dbg("*********************************************");
+       dbg("info->angle = %lf", info->angle);
+       dbg("info->momentum.mx = %d, info->momentum.my = %d", info->momentum.mx, info->momentum.my);
+       dbg("info->momentum.n = %d", info->momentum.n);
+       dbg("info->momentum.tx = %d, info->momentum.ty = %d", info->momentum.tx, info->momentum.ty);
+       dbg("info->momentum.x1 = %d, info->momentum.x2 = %d", info->momentum.x1, info->momentum.x2);
+       dbg("info->momentum.y1 = %d, info->momentum.y2 = %d", info->momentum.y1, info->momentum.y2);
+       dbg("*********************************************");
+
+       pkeypad_data->gesture_momentum_y = info->momentum.my;
+       return EVAS_EVENT_FLAG_NONE;
+}
+
+static void __callui_keypad_arrow_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       Evas_Event_Mouse_Move *ev = event_info;
+
+       pkeypad_data->gesture_start_y = ev->cur.canvas.y;
+
+       return;
+}
+
+static void __callui_keypad_arrow_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       Evas_Event_Mouse_Move *ev = event_info;
+
+       if (((ev->cur.canvas.y-pkeypad_data->gesture_start_y) > 100) && (pkeypad_data->gesture_momentum_y > 500)) {
+               info("Hide keypad!!");
+               _callui_keypad_hide_layout(ad);
+       }
+
+       return;
+}
+
+static void __callui_keypad_create_gesture_layer(void *data)
+{
+       dbg("..");
+
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       Evas_Object *sweep_area = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       if (pkeypad_data->gesture_ly) {
+               evas_object_del(pkeypad_data->gesture_ly);
+               pkeypad_data->gesture_ly = NULL;
+       }
+
+       sweep_area = _callui_edje_object_part_get(pkeypad_data->keypad_ly, "sweep_area");
+       pkeypad_data->gesture_ly = elm_gesture_layer_add(pkeypad_data->keypad_ly);
+       if (FALSE == elm_gesture_layer_attach(pkeypad_data->gesture_ly, sweep_area)) {
+               err("elm_gesture_layer_attach failed !!");
+               evas_object_del(pkeypad_data->gesture_ly);
+       } else {
+               evas_object_event_callback_add(sweep_area, EVAS_CALLBACK_MOUSE_DOWN, __callui_keypad_arrow_mouse_down_cb, ad);
+               evas_object_event_callback_add(sweep_area, EVAS_CALLBACK_MOUSE_UP, __callui_keypad_arrow_mouse_up_cb, ad);
+               elm_gesture_layer_cb_set(pkeypad_data->gesture_ly, ELM_GESTURE_N_FLICKS, ELM_GESTURE_STATE_MOVE, __callui_keypad_arrow_flick_gesture_event_cb, ad);
+       }
+
+       return;
+}
+
+
+Eina_Bool _callui_keypad_get_show_status(void)
+{
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       CALLUI_RETURN_VALUE_IF_FAIL(pkeypad_data != NULL, EINA_FALSE);
+
+       return pkeypad_data->bkeypad_show;
+}
+
+static void __callui_keypad_set_show_status(Eina_Bool bkeypad_status)
+{
+       keypad_data_t *pkeypad_data = gkeypad_data;
+
+       CALLUI_RETURN_IF_FAIL(pkeypad_data != NULL);
+
+       dbg("Set show status(%d)", bkeypad_status);
+       pkeypad_data->bkeypad_show = bkeypad_status;
+}
+
+static void __callui_keypad_on_key_down(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       dbg("__callui_keypad_on_key_down");
+       char *entry_dest = NULL;
+       char *keypad_source = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       CALLUI_RETURN_IF_FAIL(pkeypad_data != NULL);
+       char *entry_str = NULL;
+       char *disp_str = NULL;
+
+       if (source == NULL || strlen(source) == 0) {
+               err("Source value is not valid");
+               return;
+       }
+
+       if (strcmp(source, "star") == 0) {
+               keypad_source = "*";
+       } else if (strcmp(source, "sharp") == 0) {
+               keypad_source = "#";
+       } else {
+               keypad_source = (char *)source;
+       }
+
+       cm_start_dtmf(ad->cm_handle, keypad_source[0]);
+
+       const char *text = elm_entry_entry_get(pkeypad_data->entry);
+       disp_str = elm_entry_markup_to_utf8(text);
+
+       if (disp_str == NULL) {
+               err("disp_str is null");
+               return;
+       } else if (strlen(disp_str) == 0) {
+               entry_dest = calloc(1, 2);
+               if (entry_dest == NULL) {
+                       err("entry_dest allocation fail");
+                       free(disp_str);
+                       return;
+               }
+               snprintf(entry_dest, 2, "%c", keypad_source[0]);
+       } else {
+               int buf_size = strlen(disp_str) + 2;
+               entry_dest = calloc(1, buf_size);
+               if (entry_dest == NULL) {
+                       err("entry_dest allocation fail");
+                       free(disp_str);
+                       return;
+               }
+               snprintf(entry_dest, buf_size, "%s%c", disp_str, keypad_source[0]);
+       }
+
+       free(disp_str);
+
+       entry_str = g_strdup_printf(VC_KEYPAD_ENTRY_FONT, entry_dest);
+       if (entry_str) {
+               elm_object_text_set(pkeypad_data->entry, entry_str);
+               g_free(entry_str);
+       }
+       elm_entry_cursor_end_set(pkeypad_data->entry);
+
+       if (entry_dest) {
+               free(entry_dest);
+               entry_dest = NULL;
+       }
+}
+
+static void __callui_keypad_on_key_up(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       cm_stop_dtmf(ad->cm_handle);
+}
+
+static Evas_Object *__callui_keypad_create_single_line_scrolled_entry(void *content)
+{
+       Evas_Object *en;
+       Elm_Entry_Filter_Accept_Set digits_filter_data;
+
+       if (content == NULL) {
+               err("content is NULL!");
+               return NULL;
+       }
+
+       en = elm_entry_add(content);
+       elm_entry_editable_set(en, EINA_FALSE);
+       elm_entry_scrollable_set(en, EINA_TRUE);
+
+       elm_entry_select_all(en);
+       elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, ELM_SCROLLER_POLICY_AUTO);
+
+       elm_scroller_bounce_set(en, EINA_FALSE, EINA_FALSE);
+       elm_entry_line_wrap_set(en, ELM_WRAP_WORD);
+       elm_entry_input_panel_enabled_set(en, EINA_FALSE);
+       elm_entry_single_line_set(en, EINA_TRUE);
+
+       digits_filter_data.accepted = "0123456789+*#";
+       digits_filter_data.rejected = NULL;
+       elm_entry_markup_filter_append(en, elm_entry_filter_accept_set, &digits_filter_data);
+
+       elm_entry_context_menu_disabled_set(en, EINA_TRUE);
+       elm_entry_cursor_end_set(en);
+       evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       elm_entry_text_style_user_push(en, VC_KEYAD_ENTRY_STYLE);
+
+       evas_object_show(en);
+
+       return en;
+}
+
+static void __callui_keypad_create_entry(void *data)
+{
+       dbg("..");
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       Evas_Object *current_ly = _callvm_get_view_layout(ad);
+
+       CALLUI_RETURN_IF_FAIL(pkeypad_data != NULL);
+
+       if (!pkeypad_data->entry) {
+               dbg("..");
+               pkeypad_data->entry = __callui_keypad_create_single_line_scrolled_entry(ad->win_conformant);
+               memset(pkeypad_data->entry_disp_data, 0x0, sizeof(pkeypad_data->entry_disp_data));
+               pkeypad_data->data_len = 0;
+
+               elm_object_signal_callback_add(pkeypad_data->keypad_ly, "pad_down", "*", __callui_keypad_on_key_down, ad);
+               elm_object_signal_callback_add(pkeypad_data->keypad_ly, "pad_up", "*", __callui_keypad_on_key_up, ad);
+
+               if (current_ly) {
+                       edje_object_part_swallow(_EDJ(current_ly), PART_SWALLOW_TEXTBLOCK_AREA, pkeypad_data->entry);
+               }
+       }
+}
+
+static Eina_Bool __down_arrow_animation_timerout_cb(void *data)
+{
+       keypad_data_t *pkeypad_data = (keypad_data_t *)data;
+
+       if (pkeypad_data->keypad_ly) {
+               elm_object_signal_emit(pkeypad_data->keypad_ly, "start_animation", "down_arrow");
+       }
+
+       return ECORE_CALLBACK_RENEW;
+}
+
+void _callui_keypad_show_layout(void *app_data)
+{
+       dbg("..");
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       CALLUI_RETURN_IF_FAIL(pkeypad_data);
+       callui_app_data_t *ad = (callui_app_data_t *)app_data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       Evas_Object *view_ly = _callvm_get_view_layout(ad);
+       CALLUI_RETURN_IF_FAIL(view_ly);
+
+       elm_object_signal_emit(pkeypad_data->keypad_ly, "SHOW", "KEYPADBTN");
+       elm_object_signal_emit(view_ly, "SHOW", "KEYPAD_BTN");
+
+       /* Start animation */
+       elm_object_signal_emit(pkeypad_data->keypad_ly, "init", "down_arrow");
+       elm_object_signal_emit(pkeypad_data->keypad_ly, "start_animation", "down_arrow");
+
+       __callui_keypad_set_show_status(EINA_TRUE);
+       /* change LCD timeout duration */
+       _callui_lock_screen_stop_timer();
+       _callui_common_dvc_set_lcd_timeout(LCD_TIMEOUT_KEYPAD_SET);
+
+       eext_object_event_callback_add(view_ly, EEXT_CALLBACK_BACK, __callui_keypad_back_cb, ad);
+
+       if (pkeypad_data->anim_timer) {
+               ecore_timer_del(pkeypad_data->anim_timer);
+               pkeypad_data->anim_timer = NULL;
+       }
+       pkeypad_data->anim_timer = ecore_timer_add(2.0, __down_arrow_animation_timerout_cb, pkeypad_data);
+}
+
+void _callui_keypad_hide_layout(void *app_data)
+{
+       dbg("..");
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       CALLUI_RETURN_IF_FAIL(pkeypad_data);
+       callui_app_data_t *ad = (callui_app_data_t *)app_data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       Evas_Object *view_ly = _callvm_get_view_layout(ad);
+       CALLUI_RETURN_IF_FAIL(view_ly);
+
+       elm_object_signal_emit(pkeypad_data->keypad_ly, "HIDE", "KEYPADBTN");
+       elm_object_signal_emit(view_ly, "HIDE", "KEYPAD_BTN");
+
+       __callui_keypad_set_show_status(EINA_FALSE);
+       _callui_lock_screen_start_timer();
+       _callui_common_dvc_set_lcd_timeout(LCD_TIMEOUT_SET);
+
+       eext_object_event_callback_del(view_ly, EEXT_CALLBACK_BACK,     __callui_keypad_back_cb);
+
+       if (pkeypad_data->anim_timer) {
+               ecore_timer_del(pkeypad_data->anim_timer);
+               pkeypad_data->anim_timer = NULL;
+       }
+}
+
+void _callui_keypad_create_layout(void *appdata)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       CALLUI_RETURN_IF_FAIL(ad);
+       Evas_Object *parent_ly = _callvm_get_view_layout(ad);
+       CALLUI_RETURN_IF_FAIL(parent_ly);
+
+       _callui_keypad_delete_layout(ad);
+
+       keypad_data_t *pkeypad_data = __callui_keypad_memory_alloc();
+       CALLUI_RETURN_IF_FAIL(pkeypad_data != NULL);
+
+       if (!pkeypad_data->keypad_ly) {
+               dbg("..");
+               pkeypad_data->keypad_ly = __callui_keypad_create_contents(ad, GRP_KEYPAD);
+
+               __callui_keypad_create_gesture_layer(ad);
+
+               elm_object_part_content_set(parent_ly, PART_SWALLOW_KEYPAD, pkeypad_data->keypad_ly);
+       }
+
+       __callui_keypad_create_entry(ad);
+       memset(pkeypad_data->entry_disp_data, '\0', KEYPAD_ENTRY_DISP_DATA_SIZE+1);
+       pkeypad_data->data_len = 0;
+       elm_entry_entry_set(pkeypad_data->entry, "");
+       elm_entry_cursor_end_set(pkeypad_data->entry);
+}
+
+void _callui_keypad_delete_layout(void *appdata)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       CALLUI_RETURN_IF_FAIL(ad);
+       keypad_data_t *pkeypad_data = gkeypad_data;
+       CALLUI_RETURN_IF_FAIL(pkeypad_data);
+       Evas_Object *parent_ly = _callvm_get_view_layout(ad);
+       CALLUI_RETURN_IF_FAIL(parent_ly);
+
+       elm_object_signal_emit(parent_ly, "HIDE", "KEYPAD_AREA");
+
+       if (pkeypad_data->entry) {
+               edje_object_part_unswallow(_EDJ(pkeypad_data->keypad_ly), pkeypad_data->entry);
+               evas_object_del(pkeypad_data->entry);
+               pkeypad_data->entry = NULL;
+       }
+
+       if (pkeypad_data->anim_timer) {
+               ecore_timer_del(pkeypad_data->anim_timer);
+               pkeypad_data->anim_timer = NULL;
+       }
+
+       if (pkeypad_data->keypad_ly) {
+               edje_object_part_unswallow(_EDJ(parent_ly), pkeypad_data->keypad_ly);
+               evas_object_del(pkeypad_data->keypad_ly);
+               pkeypad_data->keypad_ly = NULL;
+       }
+
+       g_free(pkeypad_data);
+       pkeypad_data = NULL;
+       gkeypad_data = NULL;
+}
+
diff --git a/src/callui-view-active-incoming-call.c b/src/callui-view-active-incoming-call.c
new file mode 100644 (file)
index 0000000..d5dae04
--- /dev/null
@@ -0,0 +1,269 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui-view-incoming-lock.h"
+#include "callui-view-active-incoming-call.h"
+#include "callui-view-manager.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-view-elements.h"
+#include "callui-common.h"
+#include <vconf.h>
+#include <app_control.h>
+
+#define DURING_ICON            "call_button_icon_03.png"
+#define REJECT_ICON            "call_button_icon_04.png"
+#define END_ICON               "call_button_icon_01.png"
+#define REJ_MSG_GENLIST_DATA "reject_msg_genlist_data"
+
+static void __callui_view_active_incoming_call_effect_close_active();
+static void __callui_view_active_incoming_call_reject_msg_create_glist(void *data);
+typedef void (*button_cb)(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+
+static void __callui_view_active_incoming_call_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       __callui_view_active_incoming_call_effect_close_active();
+}
+
+static void __callui_view_active_incoming_call_effect_close_active()
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (ad && ad->win) {
+               int xpos = 0;
+               int ypos = 0;
+               int width = 0;
+               int height = 0;
+               int transit_y = 0;
+               Evas_Object *screen_ly = ad->win;
+               Elm_Transit *transit = elm_transit_add();
+               elm_transit_object_add(transit, screen_ly);
+               evas_object_geometry_get(screen_ly, &xpos, &ypos, &width, &height);
+               transit_y = -(height + ypos);
+
+               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+               elm_transit_duration_set(transit, 0.05);
+               elm_transit_objects_final_state_keep_set(transit, EINA_TRUE);
+               elm_transit_go(transit);
+       }
+}
+
+static void __callui_view_active_incoming_call_reject_message_btn_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       if (data) {
+               incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *) vd->priv;
+               callui_app_data_t * ad = (callui_app_data_t *)evas_object_data_get(obj, "app_data");
+               if (ad) {
+                       evas_object_resize(ad->win, ad->root_w, ad->root_h);
+               }
+               _callui_view_incoming_lock_reject_msg_create_call_setting_handle(vd);
+               __callui_view_active_incoming_call_reject_msg_create_glist(vd);
+               elm_object_signal_emit(priv->contents, "big_main_ly", "main_incoming_active_call");
+       }
+}
+
+static void __callui_view_active_incoming_call_reject_ms_back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       if (data) {
+               incoming_lock_view_priv_t *prev = (incoming_lock_view_priv_t *) data;
+               callui_app_data_t * ad = (callui_app_data_t *)evas_object_data_get(obj, "app_data");
+               if (ad) {
+                       evas_object_resize(ad->win, ad->root_w, ELM_SCALE_SIZE(MTLOCK_ACTIVE_CALL_HEIGHT));
+               }
+               elm_object_signal_emit(prev->contents, "small_main_ly", "main_incoming_active_call");
+               evas_object_del(prev->msg_glist);
+       }
+}
+
+static void __callui_view_active_incoming_call_reject_msg_create_glist(void *data)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(vd);
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       CALLUI_RETURN_IF_FAIL(priv);
+       callui_app_data_t *ad = _callui_get_app_data();
+       Elm_Object_Item *item = NULL;
+       int msg_cnt = 0;
+       int index = 0;
+
+       if (0 != vconf_get_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, &msg_cnt)) {
+               warn("vconf_get_int failed.");
+       }
+
+       priv->reject_msg_gl = _callui_load_edj(ad->win, EDJ_NAME, "reject_msg_ly");
+       elm_object_part_content_set(priv->contents, "swallow.reject_msg", priv->reject_msg_gl);
+       priv->msg_glist = elm_genlist_add(priv->contents);
+       CALLUI_RETURN_IF_FAIL(priv->msg_glist);
+       elm_genlist_realization_mode_set(priv->msg_glist, EINA_TRUE);
+       evas_object_data_set(priv->reject_msg_gl, "app_data", ad);
+       eext_object_event_callback_add(priv->reject_msg_gl, EEXT_CALLBACK_BACK, __callui_view_active_incoming_call_reject_ms_back_cb, (void *)priv);
+
+       evas_object_data_set(priv->msg_glist, REJ_MSG_GENLIST_DATA, (const void *)vd);
+       evas_object_size_hint_weight_set(priv->msg_glist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(priv->msg_glist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_object_part_content_set(priv->reject_msg_gl, "swallow.content", priv->msg_glist);
+
+       priv->itc_reject_msg = _callui_view_incoming_lock_create_item_class();
+
+       if (msg_cnt == 0) {
+               index = -1;
+               item = _callui_view_incoming_lock_append_genlist_item(priv->msg_glist, priv->itc_reject_msg, index);
+               if (item) {
+                       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+               }
+       } else {
+               for (index = 0; index < msg_cnt; index++) {
+                       _callui_view_incoming_lock_append_genlist_item(priv->msg_glist, priv->itc_reject_msg, index);
+               }
+       }
+       elm_genlist_item_class_free(priv->itc_reject_msg);
+       priv->itc_reject_msg = NULL;
+
+       _callui_view_incoming_lock_create_reject_msg_button(priv->reject_msg_gl, "swallow.button", data);
+
+       elm_object_tree_focus_allow_set(priv->msg_glist, EINA_FALSE);
+       evas_object_size_hint_min_set(priv->msg_glist, ad->root_w, 0);
+       evas_object_size_hint_max_set(priv->msg_glist, ad->root_w, ELM_SCALE_SIZE(MTLOCK_REJECT_MSG_LIST_1ITEM_NEW_HEIGHT * msg_cnt));
+       evas_object_show(priv->reject_msg_gl);
+       evas_object_show(priv->msg_glist);
+}
+
+static void __callui_view_active_incoming_call_app_control_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       char *key = (char *) data;
+       if (key == NULL) {
+               return;
+       }
+       app_control_h app_control = NULL;
+       if (app_control_create(&app_control) != APP_CONTROL_ERROR_NONE) {
+               dbg("app_control_create() is failed");
+       } else if (app_control_set_app_id(app_control, "org.tizen.call-ui") != APP_CONTROL_ERROR_NONE) {
+               dbg("app_control_set_app_id() is failed");
+       } else if (app_control_set_operation(app_control, key) != APP_CONTROL_ERROR_NONE) {
+               dbg("app_control_set_operation() is failed");
+       } else if (app_control_send_launch_request(app_control, NULL, NULL)  != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() is failed");
+       }
+
+       app_control_destroy(app_control);
+}
+
+int _callui_view_active_incoming_call_oncreate(call_view_data_t *view_data, void *appdata)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *) view_data->priv;
+
+       priv->contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+       if (priv->contents) {
+               priv->caller_info = elm_object_part_content_get(priv->contents, "caller_info");
+               if (priv->caller_info) {
+                       evas_object_del(priv->caller_info);
+                       priv->caller_info = NULL;
+               }
+
+               Evas_Object *btn_ly = elm_object_part_content_get(priv->contents, "btn_region");
+               if (btn_ly) {
+                       evas_object_del(btn_ly);
+                       btn_ly = NULL;
+               }
+               evas_object_del(priv->contents);
+               elm_win_alpha_set(ad->win, EINA_TRUE);
+               priv->contents = NULL;
+       }
+       if (ad->main_ly) {
+               evas_object_resize(ad->win, ad->root_w, ELM_SCALE_SIZE(MTLOCK_ACTIVE_CALL_HEIGHT));
+               priv->contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+               if (!priv->contents) {
+                       priv->contents = _callui_load_edj(ad->main_ly, EDJ_NAME,  "main_incoming_active_call");
+                       elm_object_part_content_set(ad->main_ly, "elm.swallow.content", priv->contents);
+               }
+               evas_object_show(priv->contents);
+               evas_object_show(ad->main_ly);
+       }
+       return 0;
+}
+
+void _callui_view_active_incoming_call_create_button(callui_app_data_t *ad, char *icon_name, char *part, button_cb func, void * data, void * data_bt_cb)
+{
+       incoming_lock_view_priv_t * priv = (incoming_lock_view_priv_t *)data;
+       if (priv) {
+               Evas_Object *button_call = elm_layout_add(priv->contents);
+               if (button_call) {
+                       elm_layout_file_set(button_call, EDJ_NAME, "main_button_ly");
+                       Evas_Object *icon = elm_image_add(button_call);
+                       elm_image_file_set(icon, EDJ_NAME, icon_name);
+                       elm_object_part_content_set(button_call, "swallow.icon", icon);
+                       elm_object_part_content_set(priv->contents, part, button_call);
+                       evas_object_data_set(button_call, "app_data", ad);
+                       evas_object_event_callback_add(button_call, EVAS_CALLBACK_MOUSE_UP, func, data_bt_cb);
+               }
+       }
+}
+
+void _callui_view_active_incoming_call_draw_screen(callui_app_data_t *ad, call_view_data_t *vd)
+{
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       call_data_t *call_data = NULL;
+
+       call_data = ad->incom;
+       if (call_data == NULL) {
+               err("call data is null");
+               return;
+       }
+       elm_object_signal_emit(priv->contents, "small_main_ly", "main_incoming_active_call");
+
+       _callui_view_active_incoming_call_create_button(ad, DURING_ICON, "swallow.call_button",
+                       __callui_view_active_incoming_call_app_control_cb, priv, (void *)APP_CONTROL_OPERATION_DURING_CALL);
+       _callui_view_active_incoming_call_create_button(ad, REJECT_ICON, "swallow.rj_msg_button",
+                       __callui_view_active_incoming_call_reject_message_btn_cb, priv, (void *)vd);
+       _callui_view_active_incoming_call_create_button(ad, END_ICON, "swallow.end_call_button",
+                       __callui_view_active_incoming_call_app_control_cb, priv, (void *)APP_CONTROL_OPERATION_END_CALL);
+
+       Evas_Object *swipe_button = elm_layout_add(priv->contents);
+       if (swipe_button) {
+               elm_layout_file_set(swipe_button, EDJ_NAME, "swipe_call_button_ly");
+               evas_object_event_callback_add(swipe_button, EVAS_CALLBACK_MOUSE_MOVE, __callui_view_active_incoming_call_mouse_move_cb, (void *)priv);
+               evas_object_data_set(swipe_button, "app_data", ad);
+       }
+       elm_object_part_content_set(priv->contents, "swallow.swipe_button", swipe_button);
+
+       char *call_name = call_data->call_ct_info.call_disp_name;
+       char *call_number = NULL;
+       if (call_data->call_disp_num[0] != '\0') {
+               call_number = call_data->call_disp_num;
+       } else {
+               call_number = call_data->call_num;
+       }
+       char *file_path = call_data->call_ct_info.caller_id_path;
+
+       if (!(call_name && call_name[0] != '\0') && !(call_number && call_number[0] != '\0')) {
+               elm_object_signal_emit(priv->contents, "big_buttons", "main_incoming_active_call");
+               elm_object_part_text_set(priv->contents, "text.contact_name", _("IDS_CALL_BODY_UNKNOWN"));
+       } else if (!(call_name && call_name[0] != '\0')) {
+               elm_object_signal_emit(priv->contents, "small_buttons", "main_incoming_active_call");
+               elm_object_part_text_set(priv->contents, "text.contact_name", call_number);
+       } else {
+               elm_object_signal_emit(priv->contents, "small_buttons", "main_incoming_active_call");
+               elm_object_part_text_set(priv->contents, "text.contact_name", call_name);
+               elm_object_part_text_set(priv->contents, "text.contact_number", call_number);
+       }
+
+       if (strcmp(file_path, "default") != 0) {
+               _callui_show_caller_id(priv->contents, file_path, TRUE);
+       } else {
+               elm_object_signal_emit(priv->contents, "show_image", "main_incoming_active_call");
+       }
+}
diff --git a/src/callui-view-callend.c b/src/callui-view-callend.c
new file mode 100644 (file)
index 0000000..2501748
--- /dev/null
@@ -0,0 +1,562 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui.h"
+#include "callui-view-callend.h"
+#include "callui-view-elements.h"
+#include "callui-common.h"
+#include <app_control.h>
+
+#define        CALLUI_VIEW_CALLEND_LAYOUT_ID "ENDCALLVIEW"
+struct callui_endcall_view_priv {
+       Evas_Object *contents;
+       Evas_Object *caller_info;
+       Evas_Object *caller_id;
+       Evas_Object *btn_ly;
+       Evas_Object *ic;        /* small size call image */
+       Eina_Bool bshowbutton;
+       char caller_id_path[CALLUI_IMAGE_PATH_LENGTH_MAX];
+       char call_number[CALLUI_PHONE_DISP_NUMBER_LENGTH_MAX];
+       int contact_person_id;
+       int call_end_type;
+       bool is_emergency_call;
+};
+
+#define APP_CONTROL_DATA_PHONE "http://tizen.org/appcontrol/data/phone"
+#define APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
+#define APP_CONTROL_OPERATION_ADD "http://tizen.org/appcontrol/operation/add"
+#define APP_CONTROL_DATA_ITEM_ID "http://tizen.org/appcontrol/data/item_id"
+#define CONTACT_NUMBER_BUF_LEN 32
+#define BG_COLOR_ALPHA 120
+
+static int __callui_view_callend_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3);
+static int __callui_view_callend_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_callend_onhide(call_view_data_t *view_data);
+static int __callui_view_callend_onshow(call_view_data_t *view_data, void *appdata);
+static int __callui_view_callend_ondestroy(call_view_data_t *view_data);
+static int __callui_view_callend_onrotate(call_view_data_t *view_data);
+static void __callui_view_callend_create_screen(callui_app_data_t *ad, Evas_Object *eo, void *data);
+static Evas_Object *__callui_view_callend_create_contents(void *data, char *grp_name);
+
+call_view_data_t *_callui_view_callend_new(callui_app_data_t *ad)
+{
+       static call_view_data_t callend_view = {
+               .type = VIEW_ENDCALL_VIEW,
+               .layout = NULL,
+               .onCreate = __callui_view_callend_oncreate,
+               .onUpdate = __callui_view_callend_onupdate,
+               .onHide = __callui_view_callend_onhide,
+               .onShow = __callui_view_callend_onshow,
+               .onDestroy = __callui_view_callend_ondestroy,
+               .onRotate = __callui_view_callend_onrotate,
+               .priv = NULL,
+       };
+
+       callend_view.priv = calloc(1, sizeof(callui_endcall_view_priv_t));
+
+       if (!callend_view.priv) {
+               err("ERROR!!!!!!!!!!!");
+       }
+
+       return &callend_view;
+}
+
+static void __callui_endcall_voicecall_btn_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP, __callui_endcall_voicecall_btn_cb);
+
+       _callui_common_delete_ending_timer();
+       ad->speaker_status = EINA_FALSE;
+       ad->mute_status = EINA_FALSE;
+       ad->extra_volume_status = EINA_FALSE;
+       cm_dial_call(ad->cm_handle, data, CM_CALL_TYPE_VOICE, ad->sim_slot);
+       free(data);
+       return;
+}
+
+char *__vcui_endcall_get_item_text(void *data, Evas_Object *obj, const char *part)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(data, NULL);
+       if (!strcmp(part, "elm.text")) {
+               return strdup(data);
+       }
+
+       return NULL;
+}
+
+static void __vcui_endcall_create_contact_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       _callvm_terminate_app_or_view_change(ad);
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_ADD);
+       app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+       if (data) {
+               app_control_add_extra_data(request, APP_CONTROL_DATA_PHONE, data);
+       }
+       int err = app_control_send_launch_request(request, NULL, NULL);
+       if (err != APP_CONTROL_ERROR_NONE) {
+               dbg("app_control_send_launch_request() is failed");
+       }
+       app_control_destroy(request);
+}
+
+static void __vcui_endcall_update_contact_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       _callvm_terminate_app_or_view_change(ad);
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_EDIT);
+       app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+       if (data) {
+               app_control_add_extra_data(request, APP_CONTROL_DATA_PHONE, data);
+       }
+       int result = app_control_send_launch_request(request, NULL, NULL);
+       if (result != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() failed (%d)", result);
+       }
+       app_control_destroy(request);
+}
+
+static void __vcui_endcall_popup_destroy_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       free(data);
+}
+
+static void __vcui_endcall_popup_back_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       evas_object_del(obj);
+
+       if (ad->ending_timer) {
+               ecore_timer_thaw(ad->ending_timer);
+       } else if (ad->blink_timer) {
+               ecore_timer_thaw(ad->blink_timer);
+       }
+}
+
+static void __vcui_endcall_create_popup_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       if (ad->ending_timer) {
+               ecore_timer_freeze(ad->ending_timer);
+       } else if (ad->blink_timer) {
+               ecore_timer_freeze(ad->blink_timer);
+       }
+       char *number = (char *)data;
+       Evas_Object *parent = elm_object_top_widget_get(obj);
+       CALLUI_RETURN_IF_FAIL(parent);
+       Evas_Object *popup = elm_popup_add(parent);
+       evas_object_event_callback_add(popup, EVAS_CALLBACK_DEL, __vcui_endcall_popup_destroy_cb, number);
+       eext_object_event_callback_add(popup, EEXT_CALLBACK_BACK, __vcui_endcall_popup_back_cb, ad);
+
+       elm_popup_align_set(popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+       if (number) {
+               elm_object_part_text_set(popup, "title,text", number);
+       }
+       Evas_Object *genlist = elm_genlist_add(popup);
+       elm_genlist_homogeneous_set(genlist, EINA_TRUE);
+       elm_genlist_mode_set(genlist, ELM_LIST_COMPRESS);
+       elm_scroller_content_min_limit(genlist, EINA_FALSE, EINA_TRUE);
+
+       Elm_Genlist_Item_Class *itc = elm_genlist_item_class_new();
+       CALLUI_RETURN_IF_FAIL(itc);
+       itc->item_style = "type1";
+       itc->func.text_get = __vcui_endcall_get_item_text;
+
+       elm_genlist_item_append(genlist, itc, _("IDS_COM_OPT_CREATE_CONTACT"), NULL, ELM_GENLIST_ITEM_NONE, __vcui_endcall_create_contact_btn_cb, number);
+       elm_genlist_item_append(genlist, itc, "Update contact", NULL, ELM_GENLIST_ITEM_NONE, __vcui_endcall_update_contact_btn_cb, number);
+
+       elm_genlist_item_class_free(itc);
+       elm_object_content_set(popup, genlist);
+       elm_popup_orient_set(popup, ELM_POPUP_ORIENT_CENTER);
+       evas_object_show(popup);
+}
+
+static void __vcui_endcall_msg_btn_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       evas_object_event_callback_del(obj, EVAS_CALLBACK_MOUSE_UP, __vcui_endcall_msg_btn_cb);
+       char *number = (char *)data;
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_COMPOSE);
+       char str[CONTACT_NUMBER_BUF_LEN];
+       snprintf(str, sizeof(str), "sms:%s", number);
+       app_control_set_uri(request, str);
+       int result = app_control_send_launch_request(request, NULL, NULL);
+       if (result != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() failed (%d)", result);
+       }
+       free(number);
+       app_control_destroy(request);
+}
+
+static void __callui_view_callend_create_screen(callui_app_data_t *ad, Evas_Object *eo, void *data)
+{
+       dbg("..");
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(vd);
+       callui_endcall_view_priv_t *priv = (callui_endcall_view_priv_t *)vd->priv;
+       CALLUI_RETURN_IF_FAIL(priv);
+       call_data_t *call_data = NULL;
+
+       if (ad->active) {
+               call_data = ad->active;
+       } else {
+               call_data = ad->held;
+       }
+       CALLUI_RETURN_IF_FAIL(call_data);
+
+       char *file_path = call_data->call_ct_info.caller_id_path;
+       char *call_name = call_data->call_ct_info.call_disp_name;
+       char *disp_number = NULL;
+       if (call_data->call_disp_num[0] != '\0') {
+               disp_number = call_data->call_disp_num;
+       } else {
+               disp_number = call_data->call_num;
+       }
+       priv->contact_person_id = call_data->call_ct_info.person_id;
+
+       Evas_Object *button_call_back = elm_layout_add(priv->contents);
+       if (button_call_back) {
+               elm_layout_file_set(button_call_back, EDJ_NAME, "call_back");
+               evas_object_event_callback_add(button_call_back, EVAS_CALLBACK_MOUSE_UP,  __callui_endcall_voicecall_btn_cb, (void *)strdup(call_data->call_num));
+               elm_object_part_text_set(button_call_back, "call_back_text", _("IDS_CALL_BUTTON_CALL"));
+       }
+       elm_object_part_content_set(priv->contents, "button_call_back", button_call_back);
+
+       Evas_Object *button_message = elm_layout_add(priv->contents);
+       if (button_message) {
+               elm_layout_file_set(button_message, EDJ_NAME, "message_button");
+               evas_object_event_callback_add(button_message, EVAS_CALLBACK_MOUSE_UP, __vcui_endcall_msg_btn_cb, (void *)strdup(call_data->call_num));
+               elm_object_part_text_set(button_message, "message_text", _("IDS_COM_BODY_MESSAGE"));
+       }
+       elm_object_part_content_set(priv->contents, "button_message_back", button_message);
+       elm_object_part_text_set(priv->contents, "main_title_status", _("IDS_CALL_BODY_CALL_ENDE_M_STATUS_ABB"));
+
+       if (!(call_name && call_name[0] != '\0')) {
+               Evas_Object *button_create = elm_layout_add(priv->contents);
+               if (button_create) {
+                       elm_layout_file_set(button_create, EDJ_NAME, "create_contact_button");
+                       evas_object_event_callback_add(button_create, EVAS_CALLBACK_MOUSE_UP,  __vcui_endcall_create_popup_cb, (void *)strdup(call_data->call_num));
+                       elm_object_part_content_set(priv->contents, "swallow.create_contact", button_create);
+               }
+               elm_object_part_text_set(priv->contents, "contact_name", disp_number);
+               elm_object_part_text_set(priv->contents, "contact_number", _("IDS_COM_OPT_ADD_TO_CONTACTS"));
+       } else {
+               elm_object_part_text_set(priv->contents, "contact_name", call_name);
+               elm_object_part_text_set(priv->contents, "contact_number", disp_number);
+       }
+
+       if (strcmp(file_path, "default") != 0) {
+               _callui_show_caller_id(priv->contents, file_path, TRUE);
+       } else {
+               elm_object_signal_emit(priv->contents, "show_image", "main_end_call");
+       }
+       _callui_common_create_ending_timer(vd, call_data->start_time);
+}
+
+static Evas_Object *__callui_view_callend_create_contents(void *data, char *grp_name)
+{
+       if (data == NULL) {
+               err("ERROR");
+               return NULL;
+       }
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Evas_Object *eo = NULL;
+
+       eo = _callui_load_edj(ad->main_ly, EDJ_NAME, grp_name);
+
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+static int __callui_view_callend_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *data)
+{
+       dbg("endcall view create");
+       call_view_data_t *vd = view_data;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       callui_endcall_view_priv_t *priv = (callui_endcall_view_priv_t *)vd->priv;
+       call_data_t *call_data = NULL;
+
+       priv->bshowbutton = FALSE;      /* Init */
+
+       if (ad->active) {
+               call_data = ad->active;
+       } else {
+               call_data = ad->held;
+       }
+       CALLUI_RETURN_VALUE_IF_FAIL(call_data, -1);
+
+       Evas_Object *contents = NULL;
+       Evas_Object *caller_info = NULL;
+       Evas_Object *btn_ly = NULL;
+
+       contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+       if (contents) {
+               caller_info = elm_object_part_content_get(contents, "caller_info");
+               if (caller_info) {
+                       evas_object_del(caller_info);
+                       caller_info = NULL;
+               }
+
+               btn_ly = elm_object_part_content_get(contents, "btn_region");
+               if (btn_ly) {
+                       evas_object_del(btn_ly);
+                       btn_ly = NULL;
+               }
+               evas_object_del(contents);
+
+               elm_win_alpha_set(ad->win, EINA_TRUE);
+               evas_object_color_set(ad->bg, 0, 0, 0, BG_COLOR_ALPHA);
+               contents = NULL;
+       }
+
+       g_strlcpy(priv->caller_id_path, call_data->call_ct_info.caller_id_path, sizeof(priv->caller_id_path));
+       if (ad->main_ly) {
+               priv->contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+               if (!priv->contents) {
+                       priv->contents = __callui_view_callend_create_contents(ad, "main_end_call");
+                       _callui_set_object_data(priv->contents, CALLUI_END_TYPE_KEY, CALLUI_END_TYPE_SINGLE_CALL_END);
+                       elm_object_part_content_set(ad->main_ly, "elm.swallow.content", priv->contents);
+                       evas_object_name_set(priv->contents, CALLUI_VIEW_CALLEND_LAYOUT_ID);
+               }
+
+               __callui_view_callend_onshow(view_data, ad);
+       }
+       return 0;
+}
+
+static int __callui_view_callend_onupdate(call_view_data_t *view_data, void *update_data)
+{
+       dbg("end call view update");
+#if 0
+       callui_app_data_t *ad = view_data->app_data;
+
+       if (ad->view_before_top != VIEW_INCALL_MULTICALL_SPLIT_VIEW &&
+                       ad->call_end_type != CALL_END_TYPE_MULTIPARTY_CALL) {
+               __callui_view_callend_onshow(view_data);
+       }
+#endif
+       return 0;
+}
+
+static int __callui_view_callend_onhide(call_view_data_t *view_data)
+{
+       dbg("end call view hide");
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       evas_object_hide(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_callend_onshow(call_view_data_t *view_data, void *appdata)
+{
+       dbg("end call view show");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       callui_endcall_view_priv_t *priv = (callui_endcall_view_priv_t *)view_data->priv;
+
+       __callui_view_callend_create_screen(ad, priv->contents, view_data);
+
+#if 0
+       /* Check If View is launched in landscape mode and update accordingly */
+       if (IS_LANDSCAPE_MODE(ad->rotate_angle)) { /* Landscape Mode */
+               __callui_view_callend_onrotate(view_data);
+       }
+#endif
+       _callui_common_win_set_noti_type(ad, EINA_TRUE);
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_callend_ondestroy(call_view_data_t *view_data)
+{
+       dbg("endcall view destroy");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, -1);
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_ENDCALL_VIEW);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, -1);
+       callui_endcall_view_priv_t *priv = (callui_endcall_view_priv_t *)vd->priv;
+
+       _callui_common_delete_ending_timer();
+
+       if (priv != NULL) {
+               if (priv->contents) {
+                       evas_object_del(priv->contents);
+                       priv->contents = NULL;
+               }
+
+               if (priv->caller_info) {
+                       evas_object_del(priv->caller_info);
+                       priv->caller_info = NULL;
+               }
+
+               if (priv->caller_id) {
+                       evas_object_del(priv->caller_id);
+                       priv->caller_id = NULL;
+               }
+
+               free(priv);
+               priv = NULL;
+       }
+       _callvm_reset_call_view_data(ad, VIEW_ENDCALL_VIEW);
+
+       dbg("complete destroy one view");
+       return 0;
+}
+
+static int __callui_view_callend_onrotate(call_view_data_t *view_data)
+{
+       dbg("*** Call End view Rotate ***");
+#if 0
+       callui_endcall_view_priv_t *priv = view_data->priv;
+       callui_app_data_t *ad = _vcui_get_app_data();
+
+       if (IS_PORTRAIT_MODE(ad->rotate_angle)) { /* Portrait Mode */
+               if (ad->call_end_type == CALL_END_TYPE_SINGLE_CALL) {
+/***This if else condtion has to be updated when we get more info on single sim and double sim handling***/
+                       if (0) {
+                               edje_object_signal_emit(_EDJ(priv->contents), "set_portrait_3_btn", "end_singlecall_3_btn");
+                       } else {
+                               edje_object_signal_emit(_EDJ(priv->contents), "set_portrait_2_btn", "end_singlecall_2_btn");
+                       }
+               } else if (ad->call_end_type == CALL_END_TYPE_CONF_CALL) {
+                       elm_object_signal_emit(priv->contents, "set_portrait", "end_confcall");
+               } else if (ad->call_end_type == CALL_END_TYPE_MULTIPARTY_CALL) {
+                       elm_object_signal_emit(priv->contents, "set_portrait", "end_multicall");
+               }
+               elm_object_signal_emit(priv->caller_info, "set_portrait", "caller_info_layout");
+               elm_object_signal_emit(priv->caller_info, "set-end-caller-info", "end-screen");
+       } else { /* Landscape Mode */
+               if (ad->call_end_type == CALL_END_TYPE_SINGLE_CALL) {
+                       elm_object_signal_emit(priv->contents, "set_landscape", "end_singlecall");
+               } else if (ad->call_end_type == CALL_END_TYPE_CONF_CALL) {
+                       elm_object_signal_emit(priv->contents, "set_landscape", "end_confcall");
+               } else if (ad->call_end_type == CALL_END_TYPE_MULTIPARTY_CALL) {
+                       elm_object_signal_emit(priv->contents, "set_landscape", "end_multicall");
+               }
+               elm_object_signal_emit(priv->caller_info, "set_landscape", "caller_info_layout");
+               elm_object_signal_emit(priv->caller_info, "set-end-caller-info", "end-screen-landscape");
+       }
+
+       CALLUI_DEBUG(DEBUG, "priv->bshowbutton(%d)", priv->bshowbutton);
+       if (priv->bshowbutton == EINA_TRUE) {
+               if (IS_PORTRAIT_MODE(ad->rotate_angle)) {
+/***This if else condtion has to be updated when we get more info on single sim and double sim handling***/
+                       if (0) {
+                               edje_object_signal_emit(_EDJ(priv->contents), "show_end_menu_3_btns", "show_3_btns");
+                       } else {
+                               edje_object_signal_emit(_EDJ(priv->contents), "show_end_menu_2_btns", "show_2_btns");
+                       }
+               } else {
+                       edje_object_signal_emit(_EDJ(priv->contents), "show_end_menu_btns_landscape", "show_btns");
+               }
+       }
+
+       if (ad->call_end_type == CALL_END_TYPE_SINGLE_CALL) {
+               CALLUI_DEBUG(DEBUG, "CALL_END_TYPE_SINGLE_CALL type end screen");
+               CALLUI_SECURE_LOGD("file_path: %s", priv->caller_id_path);
+
+               if (strcmp(priv->caller_id_path, "default") != 0) {
+                       _vcui_show_caller_id(priv->caller_info, priv->caller_id_path, TRUE);
+               } else if (_vcui_doc_get_is_favorite_contact(call_data)) {
+                       _vcui_show_favorit_caller_id(priv->caller_info, _vcui_doc_get_contact_index(call_data));
+               }
+
+               /* Update End-Screen Contacts btn's */
+               if ((strlen(priv->call_number) != 0) &&
+                               (_vcui_is_fm_lock() != EINA_TRUE)) {
+                       if (priv->contact_person_id > 0) {
+                               _vcui_create_view_contact_button(view_data, priv->contact_person_id);
+                       } else {
+                               _vcui_create_create_contacts_button(view_data,
+                                               priv->call_number);
+                               _vcui_create_update_existing_contact_button(view_data,
+                                               priv->call_number);
+                       }
+               }
+       } else if (ad->call_end_type == CALL_END_TYPE_CONF_CALL) {
+               CALLUI_DEBUG(DEBUG, "CALL_END_TYPE_CONF_CALL type end screen");
+
+               if (priv->call_status == CALL_HOLD) {
+                       CALLUI_DEBUG(DEBUG, "ad->root_w: %d ad->root_h: %d", ad->root_w, ad->root_h);
+                       if (ad->root_w == MAIN_WIN_HD_W && ad->root_h == MAIN_WIN_HD_H) {
+                               if (IS_PORTRAIT_MODE(ad->rotate_angle)) {
+                                       elm_object_signal_emit(priv->contents, "SHOW_DIM_HD", "CID_HD");
+                               } else {
+                                       elm_object_signal_emit(priv->contents, "SHOW_DIM_HD_LANDSCAPE", "CID_HD");
+                               }
+                       } else if (ad->root_w == MAIN_WIN_WVGA_W && ad->root_h == MAIN_WIN_WVGA_H) {
+                               if (IS_PORTRAIT_MODE(ad->rotate_angle)) {
+                                       elm_object_signal_emit(priv->contents, "SHOW_DIM_WVGA", "CID_WVGA");
+                               } else {
+                                       elm_object_signal_emit(priv->contents, "SHOW_DIM_WVGA_LANDSCAPE", "CID_WVGA");
+                               }
+                       }
+               } else {
+                       if (IS_PORTRAIT_MODE(ad->rotate_angle)) {
+                               elm_object_signal_emit(priv->contents, "HIDE_DIM", "CID");
+                       } else {
+                               elm_object_signal_emit(priv->contents, "HIDE_DIM_LANDSCAPE", "CID");
+                       }
+               }
+       } else if (ad->call_end_type == CALL_END_TYPE_MULTIPARTY_CALL) {
+               CALLUI_DEBUG(DEBUG, "CALL_END_TYPE_MULTIPARTY_CALL type end screen");
+
+               CALLUI_SECURE_LOGD("file_path: %s", priv->caller_id_path);
+               if (strcmp(priv->caller_id_path, "default") != 0) {
+                       _vcui_show_caller_id(priv->caller_info, priv->caller_id_path, TRUE);
+                       /*put blur effect on full-cid*/
+               } else if (_vcui_doc_get_is_favorite_contact(call_data)) {
+                       _vcui_show_favorit_caller_id(priv->caller_info, _vcui_doc_get_contact_index(call_data));
+               }
+       } else {
+               CALLUI_DEBUG(WARN, "invalid type... return");
+       }
+#endif
+       return 0;
+}
+
+Evas_Object *_callui_view_callend_get_layout(call_view_data_t *vd)
+{
+       dbg("..");
+       callui_endcall_view_priv_t *priv = NULL;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, NULL);
+       priv = (callui_endcall_view_priv_t *) vd->priv;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(priv, NULL);
+       return priv->contents;
+}
+
diff --git a/src/callui-view-circle.c b/src/callui-view-circle.c
new file mode 100755 (executable)
index 0000000..ef6e752
--- /dev/null
@@ -0,0 +1,580 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui-view-manager.h"
+#include "callui-view-circle.h"
+#include "callui-view-incoming-lock.h"
+#include "callui-view-elements.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-common.h"
+
+static void __callui_view_circle_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static void __callui_view_circle_multi_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static void __callui_view_circle_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static void __callui_view_circle_multi_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static void __callui_view_circle_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static void __callui_view_circle_multi_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info);
+static void __callui_view_circle_accept_down(call_view_data_t *vd, callui_app_data_t *ad, int x, int y);
+static void __callui_view_circle_accept_move(call_view_data_t *vd, callui_app_data_t *ad, int x, int y);
+static void __callui_view_circle_accept_up(call_view_data_t *vd, callui_app_data_t *ad, int x, int y);
+static void __callui_view_circle_reject_down(call_view_data_t *vd, callui_app_data_t *ad, int x, int y);
+static void __callui_view_circle_reject_move(call_view_data_t *vd, callui_app_data_t *ad, int x, int y);
+static void __callui_view_circle_reject_up(call_view_data_t *vd, callui_app_data_t *ad, int x, int y);
+
+static int accept_touch_num = -1;
+static int reject_touch_num = -1;
+
+static int accept_button_center_x = -1;
+static int reject_button_center_x = -1;
+static int button_center_y = -1;
+static int button_radius = -1;
+static int accept_outer_circle_x = -1;
+static int reject_outer_circle_x = -1;
+static int outer_circle_y = -1;
+static int outer_circle_radius = -1;
+static int outer_circle_width = -1;
+static int outer_circle_height = -1;
+
+static Eina_Bool baccept_clicked;
+static Eina_Bool breject_clicked;
+
+static void __callui_view_circle_handle_accept(call_view_data_t *vd, callui_app_data_t *ad)
+{
+       dbg("..");
+
+       int ret = -1;
+       if (_callui_common_get_idle_lock_type() == LOCK_TYPE_SWIPE_LOCK) {
+               _callui_common_unlock_swipe_lock();
+       }
+
+       if (vd->type == VIEW_INCOMING_LOCK_VIEW) {
+               if (ad->active == NULL) {
+                       dbg("No Call Or Held call - Accept");
+
+                       ret = cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_NORMAL);
+                       if (ret != CM_ERROR_NONE) {
+                               err("cm_answer_call() is failed");
+                               return;
+                       }
+               } else {
+                       dbg("Show popup - 2nd MT call - test volume popup");
+                       _callui_load_second_call_popup(ad);
+               }
+       }
+}
+
+static void __callui_view_circle_handle_reject(call_view_data_t *vd, callui_app_data_t *ad)
+{
+       dbg("..");
+       int ret = -1;
+
+       if (vd->type == VIEW_INCOMING_LOCK_VIEW) {
+               ret = cm_reject_call(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_reject_call() is failed");
+               }
+       }
+       return;
+}
+
+static Evas_Object *__callui_view_circle_get_accept_layout(void *data)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       Evas_Object *layout = NULL;
+       switch (vd->type) {
+       case VIEW_INCOMING_LOCK_VIEW:
+               {
+                       layout = _callui_view_incoming_lock_get_accept_layout(vd);
+               }
+               break;
+       default:
+               err("vd type is error");
+               return NULL;
+       }
+       return layout;
+}
+
+static void __callui_view_circle_set_accept_layout(void *data, Evas_Object *layout)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       switch (vd->type) {
+       case VIEW_INCOMING_LOCK_VIEW:
+               {
+                       _callui_view_incoming_lock_set_accept_layout(vd, layout);
+               }
+               break;
+       default:
+               err("vd type is error");
+       }
+}
+
+static Evas_Object *__callui_view_circle_get_reject_layout(void *data)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       Evas_Object *layout = NULL;
+       switch (vd->type) {
+       case VIEW_INCOMING_LOCK_VIEW:
+               {
+                       layout = _callui_view_incoming_lock_get_reject_layout(vd);
+               }
+               break;
+       default:
+               err("code should never reach here");
+               return NULL;
+       }
+       return layout;
+}
+
+static void __callui_view_circle_set_reject_layout(void *data, Evas_Object *layout)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       switch (vd->type) {
+       case VIEW_INCOMING_LOCK_VIEW:
+               {
+                       _callui_view_incoming_lock_set_reject_layout(vd, layout);
+               }
+               break;
+       default:
+               err("vd type is error");
+       }
+}
+
+static Evas_Coord __callui_view_circle_get_distance(callui_app_data_t *ad, int centre_x, int point_x, int point_y)
+{
+       int centre_y = 0;
+
+       centre_y = button_center_y;
+       return (Evas_Coord)sqrt((point_x-centre_x)*(point_x-centre_x) + (point_y-centre_y)*(point_y-centre_y));
+}
+
+static void __callui_view_circle_accept_down(call_view_data_t *vd, callui_app_data_t *ad, int x, int y)
+{
+       dbg("..");
+       Evas_Object *lock_accept = __callui_view_circle_get_accept_layout(vd);
+
+       int point_distance = 0;
+
+       point_distance = __callui_view_circle_get_distance(ad, accept_button_center_x, x, y);
+       dbg("point_distance(%d)", point_distance);
+
+       if (point_distance < button_radius) {
+               dbg("Point lies inside the region");
+               baccept_clicked = EINA_TRUE;
+               elm_object_signal_emit(lock_accept, "outer_circle,show", "outer-circle");
+       } else {
+               warn("Point lies outside the region");
+               baccept_clicked = EINA_FALSE;
+       }
+}
+
+static void __callui_view_circle_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("");
+       Evas_Event_Mouse_Down *ev = event_info;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCOMING_LOCK_VIEW);
+
+       CALLUI_RETURN_IF_FAIL(vd);
+
+       if (-1 == accept_touch_num && -1 == reject_touch_num) {
+               __callui_view_circle_accept_down(vd, ad, ev->canvas.x, ev->canvas.y);
+               if (TRUE == baccept_clicked) {
+                       accept_touch_num = 0;
+               } else {
+                       __callui_view_circle_reject_down(vd, ad, ev->canvas.x, ev->canvas.y);
+                       if (TRUE == breject_clicked)
+                               reject_touch_num = 0;
+               }
+       }
+}
+
+static void __callui_view_circle_multi_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       Evas_Event_Multi_Down *ev = event_info;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCOMING_LOCK_VIEW);
+
+       CALLUI_RETURN_IF_FAIL(vd);
+
+       dbg("ev->device = %d, accept_touch_num = %d", ev->device, accept_touch_num);
+       if (-1 == accept_touch_num && -1 == reject_touch_num) {
+               __callui_view_circle_accept_down(vd, ad, ev->canvas.x, ev->canvas.y);
+               if (TRUE == baccept_clicked) {
+                       accept_touch_num = ev->device;
+               } else {
+                       __callui_view_circle_reject_down(vd, ad, ev->canvas.x, ev->canvas.y);
+                       if (TRUE == breject_clicked)
+                               reject_touch_num = ev->device;
+               }
+       }
+
+}
+
+static void __callui_view_circle_accept_move(call_view_data_t *vd, callui_app_data_t *ad, int x, int y)
+{
+       Evas_Object *lock_accept = __callui_view_circle_get_accept_layout(vd);
+
+       Evas_Coord point_distance = 0;
+
+       if (baccept_clicked) {
+               Evas_Object *circle_bg = _callui_edje_object_part_get(lock_accept, "accept_inner_circle_bg");
+               point_distance = __callui_view_circle_get_distance(ad, accept_button_center_x, x, y);
+
+               if (point_distance < outer_circle_radius) {
+                       evas_object_move(circle_bg, accept_button_center_x-point_distance, button_center_y-point_distance);
+                       evas_object_resize(circle_bg, point_distance*2, point_distance*2);
+                       evas_object_image_fill_set(circle_bg, 0, 0, point_distance*2, point_distance*2);
+               } else {
+                       evas_object_move(circle_bg, accept_outer_circle_x, outer_circle_y);
+                       evas_object_resize(circle_bg, outer_circle_width, outer_circle_height);
+                       evas_object_image_fill_set(circle_bg, 0, 0, outer_circle_width, outer_circle_height);
+               }
+       } else {
+               warn("Initial click is not in correct region");
+       }
+}
+
+static void __callui_view_circle_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       Evas_Event_Mouse_Move *ev = event_info;
+       CALLUI_RETURN_IF_FAIL(ev);
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCOMING_LOCK_VIEW);
+       CALLUI_RETURN_IF_FAIL(vd);
+       if (accept_touch_num == 0)
+               __callui_view_circle_accept_move(vd, ad, ev->cur.canvas.x, ev->cur.canvas.y);
+       else if (reject_touch_num == 0)
+               __callui_view_circle_reject_move(vd, ad, ev->cur.canvas.x, ev->cur.canvas.y);
+}
+
+static void __callui_view_circle_multi_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       Evas_Event_Multi_Move *ev = event_info;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCOMING_LOCK_VIEW);
+       dbg("ev->device = %d, accept_touch_num = %d", ev->device, accept_touch_num);
+       if (vd) {
+               if (accept_touch_num == ev->device)
+                       __callui_view_circle_accept_move(vd, ad, ev->cur.canvas.x, ev->cur.canvas.y);
+               else if (reject_touch_num == ev->device)
+                       __callui_view_circle_reject_move(vd, ad, ev->cur.canvas.x, ev->cur.canvas.y);
+       }
+
+}
+
+static void __callui_view_circle_accept_up(call_view_data_t *vd, callui_app_data_t *ad, int x, int y)
+{
+       dbg("..");
+       Evas_Object *lock_accept = __callui_view_circle_get_accept_layout(vd);
+       Evas_Coord point_distance = 0;
+
+       if (baccept_clicked) {
+               dbg("Initial click is in right region");
+               Evas_Object *circle_bg = _callui_edje_object_part_get(lock_accept, "accept_inner_circle_bg");
+               point_distance = __callui_view_circle_get_distance(ad, accept_button_center_x, x, y);
+               if (point_distance >= outer_circle_radius) {
+                       evas_object_move(circle_bg, accept_outer_circle_x, outer_circle_y);
+                       evas_object_resize(circle_bg, outer_circle_width, outer_circle_height);
+                       evas_object_image_fill_set(circle_bg, 0, 0, outer_circle_width, outer_circle_height);
+
+                       dbg("__callui_view_circle_handle_accept");
+                       __callui_view_circle_handle_accept(vd, ad);
+               } else {
+                       elm_object_signal_emit(lock_accept, "outer_circle,hide", "outer-circle");
+               }
+       } else {
+               warn("Initial click is not in correct region");
+       }
+}
+
+static void __callui_view_circle_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       Evas_Event_Mouse_Up *ev = event_info;
+       CALLUI_RETURN_IF_FAIL(ev);
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCOMING_LOCK_VIEW);
+       CALLUI_RETURN_IF_FAIL(vd);
+
+       if (accept_touch_num == 0) {
+               __callui_view_circle_accept_up(vd, ad, ev->canvas.x, ev->canvas.y);
+               accept_touch_num = -1;
+       } else if (reject_touch_num == 0) {
+               __callui_view_circle_reject_up(vd, ad, ev->canvas.x, ev->canvas.y);
+               reject_touch_num = -1;
+       }
+}
+
+static void __callui_view_circle_multi_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       Evas_Event_Multi_Up *ev = event_info;
+       CALLUI_RETURN_IF_FAIL(ev);
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCOMING_LOCK_VIEW);
+       CALLUI_RETURN_IF_FAIL(vd);
+       dbg("ev->device = %d", ev->device);
+
+       if (accept_touch_num == ev->device) {
+               __callui_view_circle_accept_up(vd, ad, ev->canvas.x, ev->canvas.y);
+               accept_touch_num = -1;
+       } else if (reject_touch_num == ev->device) {
+               __callui_view_circle_reject_up(vd, ad, ev->canvas.x, ev->canvas.y);
+               reject_touch_num = -1;
+       }
+}
+
+static void __callui_view_circle_reject_down(call_view_data_t *vd, callui_app_data_t *ad, int x, int y)
+{
+       dbg("..");
+       Evas_Object *lock_reject = __callui_view_circle_get_reject_layout(vd);
+       int     point_distance = 0;
+
+       point_distance = __callui_view_circle_get_distance(ad, reject_button_center_x, x, y);
+
+       if (point_distance < button_radius) {
+               dbg("Point lies inside the region");
+               breject_clicked = EINA_TRUE;
+               elm_object_signal_emit(lock_reject, "outer_circle,show", "outer-circle");
+       } else {
+               warn("Point lies outside the region");
+               breject_clicked = EINA_FALSE;
+       }
+}
+
+static void __callui_view_circle_reject_move(call_view_data_t *vd, callui_app_data_t *ad, int x, int y)
+{
+       Evas_Object *lock_reject = __callui_view_circle_get_reject_layout(vd);
+
+       Evas_Coord      point_distance = 0;
+
+       if (breject_clicked) {
+               Evas_Object *circle_bg = _callui_edje_object_part_get(lock_reject, "reject_inner_circle_bg");
+
+               point_distance = __callui_view_circle_get_distance(ad, reject_button_center_x, x, y);
+               if (point_distance < outer_circle_radius) {
+                       evas_object_move(circle_bg, reject_button_center_x-point_distance, button_center_y-point_distance);
+                       evas_object_resize(circle_bg, point_distance*2, point_distance*2);
+                       evas_object_image_fill_set(circle_bg, 0, 0, point_distance*2, point_distance*2);
+               } else {
+                       evas_object_move(circle_bg, reject_outer_circle_x, outer_circle_y);
+                       evas_object_resize(circle_bg, outer_circle_width, outer_circle_height);
+                       evas_object_image_fill_set(circle_bg, 0, 0, outer_circle_width, outer_circle_height);
+               }
+       } else {
+               warn("Initial click is not in correct region");
+       }
+}
+
+static void __callui_view_circle_reject_up(call_view_data_t *vd, callui_app_data_t *ad, int x, int y)
+{
+       dbg("..");
+       Evas_Object *lock_reject = __callui_view_circle_get_reject_layout(vd);
+       Evas_Coord      point_distance = 0;
+
+       if (breject_clicked) {
+               dbg("Initial click is in right region");
+               Evas_Object *circle_bg = _callui_edje_object_part_get(lock_reject, "reject_inner_circle_bg");
+               point_distance = __callui_view_circle_get_distance(ad, reject_button_center_x, x, y);
+               if (point_distance >= outer_circle_radius) {
+                       evas_object_move(circle_bg, reject_outer_circle_x, outer_circle_y);
+                       evas_object_resize(circle_bg, outer_circle_width, outer_circle_height);
+                       evas_object_image_fill_set(circle_bg, 0, 0, outer_circle_width, outer_circle_height);
+                       __callui_view_circle_handle_reject(vd, ad);
+               } else {
+                       elm_object_signal_emit(lock_reject, "outer_circle,hide", "outer-circle");
+                       elm_object_signal_emit(lock_reject, "inner_circle,show", "inner-circle");
+               }
+       } else {
+               warn("Initial click is not in correct region");
+       }
+}
+
+void _callui_view_circle_accept_reject_reset(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       Evas_Object *lock_accept = __callui_view_circle_get_accept_layout(vd);
+       Evas_Object *lock_reject = __callui_view_circle_get_reject_layout(vd);
+
+       baccept_clicked = EINA_FALSE;
+       breject_clicked = EINA_FALSE;
+
+       elm_object_signal_emit(lock_reject, "inner_circle,show", "inner-circle");
+       elm_object_signal_emit(lock_accept, "inner_circle,show", "inner-circle");
+
+}
+
+static void __callui_view_circle_reject_focus_key_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       Evas_Event_Key_Down *ev = event_info;
+       if (!ev) return;
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
+               return;
+
+       if ((!strcmp(ev->keyname, "Return")) ||
+               (!strcmp(ev->keyname, "KP_Enter"))) {
+               dbg("..");
+       }
+}
+
+Evas_Object *_callui_view_circle_create_reject_layout(callui_app_data_t *ad, void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       Evas_Object *lock_reject = __callui_view_circle_get_reject_layout(vd);
+       Evas_Object *focus = NULL;
+       Evas_Object *inner_circle = NULL;
+       Evas_Object *outer_circle = NULL;
+       int x = 0;
+       int y = 0;
+       int width = 0;
+       int height = 0;
+
+       if (lock_reject != NULL) {
+               evas_object_del(lock_reject);
+               __callui_view_circle_set_reject_layout(vd, NULL);
+       }
+
+       lock_reject = _callui_load_edj(ad->win, EDJ_NAME, GRP_LOCK_REJECT);
+       evas_object_resize(lock_reject, ad->root_w, ad->root_h);
+       evas_object_move(lock_reject, 0, 0);
+
+       __callui_view_circle_set_reject_layout(vd, lock_reject);
+
+       elm_object_signal_emit(lock_reject, "outer_circle,hide", "outer-circle");
+
+       elm_object_part_text_set(lock_reject, "reject_text", _("IDS_CALL_BUTTON_REJECT"));
+
+       evas_object_event_callback_add(lock_reject, EVAS_CALLBACK_MOUSE_DOWN, __callui_view_circle_mouse_down_cb, ad);
+       evas_object_event_callback_add(lock_reject, EVAS_CALLBACK_MOUSE_MOVE, __callui_view_circle_mouse_move_cb, ad);
+       evas_object_event_callback_add(lock_reject, EVAS_CALLBACK_MOUSE_UP, __callui_view_circle_mouse_up_cb, ad);
+       evas_object_event_callback_add(lock_reject, EVAS_CALLBACK_MULTI_DOWN, __callui_view_circle_multi_down_cb, ad);
+       evas_object_event_callback_add(lock_reject, EVAS_CALLBACK_MULTI_MOVE, __callui_view_circle_multi_move_cb, ad);
+       evas_object_event_callback_add(lock_reject, EVAS_CALLBACK_MULTI_UP, __callui_view_circle_multi_up_cb, ad);
+
+       focus = _callui_view_create_focus_layout(ad->win);
+       evas_object_event_callback_add(focus, EVAS_CALLBACK_KEY_DOWN, __callui_view_circle_reject_focus_key_down, vd);
+       elm_object_part_content_set(lock_reject, "reject_inner_circle_focus", focus);
+
+       inner_circle = _callui_edje_object_part_get(lock_reject, "reject_inner_circle");
+       evas_object_geometry_get(inner_circle, &x, &y, &width, &height);
+       dbg("inner circle[%p] geometry: x = %d y = %d w1 =%d h1 =%d\n", inner_circle, x, y, width, height);
+       reject_button_center_x = x+(width/2);
+       dbg("Button center X[%d] Y[%d]", reject_button_center_x, button_center_y);
+
+       outer_circle = _callui_edje_object_part_get(lock_reject, "rect_outer_circle");
+       evas_object_geometry_get(outer_circle, &x, &y, &width, &height);
+       reject_outer_circle_x = x;
+
+       evas_object_show(lock_reject);
+
+       return lock_reject;
+}
+
+static void __callui_view_circle_accept_focus_key_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       Evas_Event_Key_Down *ev = event_info;
+
+       if (!ev) return;
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
+               return;
+
+       if ((!strcmp(ev->keyname, "Return")) ||
+               (!strcmp(ev->keyname, "KP_Enter"))) {
+               dbg("..");
+       }
+}
+
+Evas_Object *_callui_view_circle_create_accept_layout(callui_app_data_t *ad, void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       Evas_Object *lock_accept = __callui_view_circle_get_accept_layout(vd);
+       Evas_Object *focus = NULL;
+       Evas_Object *inner_circle = NULL;
+       Evas_Object *outer_circle = NULL;
+       int x = 0;
+       int y = 0;
+       int width = 0;
+       int height = 0;
+
+       if (lock_accept != NULL) {
+               evas_object_del(lock_accept);
+               __callui_view_circle_set_accept_layout(vd, NULL);
+       }
+
+       lock_accept = _callui_load_edj(ad->win, EDJ_NAME, GRP_LOCK_ACCEPT);
+       evas_object_resize(lock_accept, ad->root_w, ad->root_h);
+       evas_object_move(lock_accept, 0, 0);
+
+       __callui_view_circle_set_accept_layout(vd, lock_accept);
+
+       elm_object_signal_emit(lock_accept, "outer_circle,hide", "outer-circle");
+
+       elm_object_part_text_set(lock_accept, "accept_text", _("IDS_CALL_BUTTON_ACCEPT"));
+       evas_object_event_callback_add(lock_accept, EVAS_CALLBACK_MOUSE_DOWN, __callui_view_circle_mouse_down_cb, ad);
+       evas_object_event_callback_add(lock_accept, EVAS_CALLBACK_MOUSE_MOVE, __callui_view_circle_mouse_move_cb, ad);
+       evas_object_event_callback_add(lock_accept, EVAS_CALLBACK_MOUSE_UP, __callui_view_circle_mouse_up_cb, ad);
+       evas_object_event_callback_add(lock_accept, EVAS_CALLBACK_MULTI_DOWN, __callui_view_circle_multi_down_cb, ad);
+       evas_object_event_callback_add(lock_accept, EVAS_CALLBACK_MULTI_MOVE, __callui_view_circle_multi_move_cb, ad);
+       evas_object_event_callback_add(lock_accept, EVAS_CALLBACK_MULTI_UP, __callui_view_circle_multi_up_cb, ad);
+
+       focus = _callui_view_create_focus_layout(ad->win);
+       evas_object_event_callback_add(focus, EVAS_CALLBACK_KEY_DOWN, __callui_view_circle_accept_focus_key_down, ad);
+       elm_object_part_content_set(lock_accept, "accept_inner_circle_focus", focus);
+       elm_object_focus_set(focus, EINA_TRUE);
+
+       inner_circle = _callui_edje_object_part_get(lock_accept, "accept_inner_circle");
+       evas_object_geometry_get(inner_circle, &x, &y, &width, &height);
+       dbg("inner circle[%p] geometry: x = %d y = %d w1 =%d h1 =%d\n", inner_circle, x, y, width, height);
+       button_center_y = y+(height/2);
+       accept_button_center_x = x+(width/2);
+       button_radius = width/2;
+       dbg("Button center X[%d] Y[%d]", accept_button_center_x, button_center_y);
+
+       outer_circle = _callui_edje_object_part_get(lock_accept, "rect_outer_circle");
+       evas_object_geometry_get(outer_circle, &x, &y, &width, &height);
+       dbg("outer circle[%p] geometry: x = %d y = %d w1 =%d h1 =%d\n", outer_circle, x, y, width, height);
+       accept_outer_circle_x = x;
+       outer_circle_y = y;
+       outer_circle_radius = width/2;
+       outer_circle_width = width;
+       outer_circle_height = height;
+       dbg("Outer Circle X[%d] Y[%d] Radius[%d]", accept_outer_circle_x, outer_circle_y, outer_circle_radius);
+       evas_object_show(lock_accept);
+
+       return lock_accept;
+}
+
+Eina_Bool _callui_view_circle_easy_touch_state(void)
+{
+       int value = EINA_FALSE;
+
+       /*if (0 != vconf_get_bool(VCONFKEY_SETAPPL_EASY_TOUCH_MODE_BOOL, &value)) {
+               CALLUI_DEBUG(WARN, "vconf_get_bool failed.");
+       }*/
+
+       return value;
+}
+
diff --git a/src/callui-view-dialing.c b/src/callui-view-dialing.c
new file mode 100644 (file)
index 0000000..04df0d2
--- /dev/null
@@ -0,0 +1,317 @@
+/*
+ * 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.
+ *
+ */
+
+#include <Elementary.h>
+
+#include "callui-view-dialing.h"
+#include "callui.h"
+#include "callui-view-manager.h"
+#include "callui-view-elements.h"
+#include "callui-keypad.h"
+#include "callui-view-quickpanel.h"
+#include "callui-common.h"
+
+struct callui_view_dialing_priv {
+       Evas_Object *contents;
+       Evas_Object *caller_info;
+       Evas_Object *btn_ly;
+       Evas_Object *ic;
+       Eina_Bool bredial;
+
+       Ecore_Timer *lock_delay_timer;
+};
+
+#define         VIEW_DIALING_LAYOUT_ID "DIALVIEW"
+
+static int __callui_view_dialing_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *appdata);
+static int __callui_view_dialing_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_dialing_onhide(call_view_data_t *view_data);
+static int __callui_view_dialing_onshow(call_view_data_t *view_data, void *appdata);
+static int __callui_view_dialing_ondestroy(call_view_data_t *view_data);
+static int __callui_view_dialing_onrotate(call_view_data_t *view_data);
+
+call_view_data_t *_callui_dialing_view_dialing_new(callui_app_data_t *ad)
+{
+       static call_view_data_t dialing_view = {
+               .type = VIEW_DIALLING_VIEW,
+               .layout = NULL,
+               .onCreate = __callui_view_dialing_oncreate,
+               .onUpdate = __callui_view_dialing_onupdate,
+               .onHide = __callui_view_dialing_onhide,
+               .onShow = __callui_view_dialing_onshow,
+               .onDestroy = __callui_view_dialing_ondestroy,
+               .onRotate = __callui_view_dialing_onrotate,
+               .priv = NULL,
+       };
+       dialing_view.priv = calloc(1, sizeof(callui_view_dialing_priv_t));
+
+       if (!dialing_view.priv) {
+               err("ERROR!!!!!!!!!!! ");
+       }
+
+       return &dialing_view;
+}
+
+static Evas_Object *__callui_view_dialing_create_contents(void *data, char *grpname)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Evas_Object *eo = NULL;
+
+       /* load edje */
+       eo = _callui_load_edj(ad->main_ly, EDJ_NAME, grpname);
+       if (eo == NULL) {
+               err("__callui_view_dialing_create_contents ERROR");
+               return NULL;
+       }
+       return eo;
+}
+
+static Eina_Bool __callui_view_dialing_lock_delay_timeout_cb(void *data)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       callui_view_dialing_priv_t *priv = vd->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       if (ad->lock_screen_handle == NULL) {
+               ad->lock_screen_handle = _callui_lock_screen_create_layout(vd);
+       } else {
+               _callui_lock_screen_show_layout(ad->lock_screen_handle);
+       }
+       priv->lock_delay_timer = NULL;
+
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static void __callui_view_dialing_draw_screen(callui_app_data_t *ad, Evas_Object *eo, void *data)
+{
+       dbg("__callui_view_dialing_draw_screen");
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       callui_view_dialing_priv_t *priv = (callui_view_dialing_priv_t *)vd->priv;
+       call_data_t *now_call_data = ad->active;
+       CALLUI_RETURN_IF_FAIL(now_call_data);
+       char *file_path = NULL;
+       char *sim_name = NULL;
+       char status_txt[128 + 1] = { '\0', };
+
+       call_view_data_t *q_vd = _callvm_get_call_view_data(ad, VIEW_QUICKPANEL_VIEW);
+
+       if (now_call_data == NULL) {
+               err("Now Data is NULL");
+               return;
+       }
+
+       file_path = now_call_data->call_ct_info.caller_id_path;
+       sec_dbg("file_path: %s", file_path);
+
+       char *call_name = now_call_data->call_ct_info.call_disp_name;
+       char *disp_number = NULL;
+       if (strlen(now_call_data->call_disp_num) > 0) {
+               disp_number = now_call_data->call_disp_num;
+       } else {
+               disp_number = now_call_data->call_num;
+       }
+
+       if (now_call_data->is_emergency == EINA_TRUE) {
+               call_name = _("IDS_COM_BODY_EMERGENCY_NUMBER");
+               disp_number = "";
+       }
+
+       if (strlen(call_name) == 0) {
+               _callui_show_caller_info_name(ad, disp_number, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "1line", "caller_name");
+       } else if (now_call_data->is_emergency == EINA_TRUE) {
+               _callui_show_caller_info_name(ad, call_name, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "1line", "caller_name");
+       } else {
+               _callui_show_caller_info_name(ad, call_name, EINA_FALSE);
+               _callui_show_caller_info_number(ad, disp_number, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "2line", "caller_name");
+       }
+
+       _callui_show_caller_info_status(ad, _("IDS_CALL_POP_DIALLING"), EINA_FALSE);
+
+       _callui_create_top_first_button(ad);
+       _callui_create_top_second_button(ad);
+       _callui_create_top_third_button(ad);
+       _callui_create_bottom_first_button_disabled(ad);
+       _callui_create_bottom_second_button_disabled(ad);
+       _callui_create_bottom_third_button_disabled(ad);
+
+       elm_object_signal_emit(priv->contents, "SHOW_EFFECT", "ALLBTN");
+
+       /*_vcui_elements_check_keypad_n_hide(vd);*/
+       _callui_create_end_call_button(priv->contents, vd);
+
+       evas_object_show(eo);
+
+       if (q_vd) {
+               _callui_view_qp_update_text_status(_("IDS_CALL_POP_DIALLING"));
+       }
+
+       if (now_call_data->is_emergency == EINA_TRUE) {
+               elm_object_signal_emit(priv->caller_info, "set_emergency_mode", "");
+       } else {
+               if (strcmp(file_path, "default") != 0) {
+                       _callui_show_caller_id(priv->caller_info, file_path, FALSE);
+               }
+       }
+       /*evas_event_callback_add(evas_object_evas_get(eo),
+                       EVAS_CALLBACK_RENDER_POST, __vcui_view_dialing_post_render_cb, vd);*/
+}
+
+static int __callui_view_dialing_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *appdata)
+{
+       dbg("dialling view create!!");
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+       callui_view_dialing_priv_t *priv = (callui_view_dialing_priv_t *)view_data->priv;
+
+       if (ad->main_ly) {
+               priv->contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+               if (!priv->contents) {
+                       priv->contents = __callui_view_dialing_create_contents(ad, GRP_MAIN_LY);
+                       elm_object_part_content_set(ad->main_ly, "elm.swallow.content", priv->contents);
+               }
+
+               priv->btn_ly = elm_object_part_content_get(priv->contents, "btn_region");
+               if (!priv->btn_ly) {
+                       priv->btn_ly = __callui_view_dialing_create_contents(ad, GRP_BUTTON_LAYOUT);
+                       elm_object_part_content_set(priv->contents, "btn_region", priv->btn_ly);
+               }
+
+               priv->caller_info = elm_object_part_content_get(priv->contents, "caller_info");
+               if (!priv->caller_info) {
+                       priv->caller_info = __callui_view_dialing_create_contents(ad, GRP_CALLER_INFO);
+                       elm_object_part_content_set(priv->contents, "caller_info", priv->caller_info);
+               }
+               evas_object_name_set(priv->contents, VIEW_DIALING_LAYOUT_ID);
+               dbg("[========== DIALVIEW: priv->contents Addr : [%p] ==========]", priv->contents);
+
+               /*create keypad layout*/
+               _callui_keypad_create_layout(ad);
+       }
+       __callui_view_dialing_onshow(view_data, ad);
+
+       /* Create Lock Screen instead of using proximity sensor */
+       if (priv->lock_delay_timer == NULL) {
+               priv->lock_delay_timer = ecore_timer_add(2, __callui_view_dialing_lock_delay_timeout_cb, view_data);
+       }
+
+       return 0;
+}
+
+static int __callui_view_dialing_onupdate(call_view_data_t *view_data, void *update_data)
+{
+#if 0
+       CALLUI_DEBUG(DEBUG, "dialling view update");
+       call_view_data_t *priv = view_data->priv;
+
+       __vcui_view_dialing_draw_screen(priv->contents, view_data);
+#endif
+       return 0;
+}
+
+static int __callui_view_dialing_onhide(call_view_data_t *view_data)
+{
+       dbg("dialling view hide");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       evas_object_hide(ad->main_ly);
+
+       return 0;
+}
+
+static int __callui_view_dialing_onshow(call_view_data_t *view_data, void *appdata)
+{
+       dbg("dialling view show");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+
+       callui_view_dialing_priv_t *priv = (callui_view_dialing_priv_t *)view_data->priv;
+
+       __callui_view_dialing_draw_screen(ad, priv->contents, view_data);
+
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+
+       return 0;
+}
+
+static int __callui_view_dialing_ondestroy(call_view_data_t *vd)
+{
+       dbg("dialling view destroy");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       callui_view_dialing_priv_t *priv = (callui_view_dialing_priv_t *)vd->priv;
+
+       if (priv != NULL) {
+               /*Delete keypad layout */
+               _callui_keypad_delete_layout(ad);
+               elm_object_signal_emit(priv->contents, "HIDE_BTN_LY", "ALLBTN");
+               _callui_common_reset_main_ly_text_fields(priv->contents);
+               ecore_timer_del(priv->lock_delay_timer);
+               free(priv);
+               priv = NULL;
+       }
+
+       _callvm_reset_call_view_data(ad, VIEW_DIALLING_VIEW);
+
+       return 0;
+}
+
+static int __callui_view_dialing_onrotate(call_view_data_t *view_data)
+{
+       dbg("*** Dialling view Rotate ***");
+#if 0
+       call_view_data_t *priv = view_data->priv;
+       callui_app_data_t *ad = _vcui_get_app_data();
+       call_data_t *now_call_data = _vcui_doc_get_mo_call_data();
+       char *file_path = NULL;
+
+       if (now_call_data == NULL) {
+               CALLUI_DEBUG(DEBUG, "Now Data is NULL");
+               return -1;
+       }
+
+       file_path = _vcui_doc_get_caller_id_file_path(now_call_data);
+       CALLUI_SECURE_LOGD("file_path: %s", file_path);
+
+       if (strcmp(file_path, "default") != 0) {
+               _vcui_show_caller_id(priv->caller_info, file_path, FALSE);
+       } else if (_vcui_doc_get_is_favorite_contact(now_call_data)) {
+               _vcui_show_favorit_caller_id(priv->caller_info, _vcui_doc_get_contact_index(now_call_data));
+       }
+
+       if (IS_PORTRAIT_MODE(ad->rotate_angle)) { /* Portrait Mode */
+               elm_object_signal_emit(priv->contents, "set_portrait", "mo_view_layout");
+               elm_object_signal_emit(priv->caller_info, "set_portrait", "caller_info_layout_without_bg");
+       } else { /* Landscape Mode */
+               elm_object_signal_emit(priv->contents, "set_landscape", "mo_view_layout");
+               elm_object_signal_emit(priv->caller_info, "set_landscape", "caller_info_layout_without_bg");
+       }
+
+#ifdef _VC_SNS_STATUS
+       /*Update the alerts*/
+       _vcui_view_common_update_alerts(now_call_data, EINA_FALSE, view_data);
+#endif
+
+       _vcui_keypad_update_after_rotate(priv->contents, view_data);
+
+       evas_object_show(ad->win_main);
+#endif
+       return 0;
+}
diff --git a/src/callui-view-elements.c b/src/callui-view-elements.c
new file mode 100755 (executable)
index 0000000..63619b7
--- /dev/null
@@ -0,0 +1,1643 @@
+/*
+ * 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.
+ *
+ */
+
+#include <vconf.h>
+#include <vconf-keys.h>
+#include <bluetooth.h>
+
+#include "callui-view-elements.h"
+#include "callui-view-manager.h"
+#include "callui-view-dialing.h"
+#include "callui-view-single-call.h"
+#include "callui-view-callend.h"
+#include "callui-view-incoming-lock.h"
+#include "callui-view-multi-call-split.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-common.h"
+#include "callui-keypad.h"
+#include "callui-view-multi-call-conf.h"
+#include "callui-view-incoming-lock.h"
+#include "callui-view-quickpanel.h"
+#include "callui-view-caller-info-defines.h"
+#include <app_control.h>
+#include <notification.h>
+
+#define        POPUP_LIST_W            300
+#define        POPUP_LIST_ITEM_H       96
+#define APP_CONTROL_DATA_PHONE "http://tizen.org/appcontrol/data/phone"
+#define APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
+#define APP_CONTROL_OPERATION_ADD "http://tizen.org/appcontrol/operation/add"
+#define APP_CONTROL_DATA_ITEM_ID "http://tizen.org/appcontrol/data/item_id"
+#define CONTACT_ID_BUF_LEN 16
+#define CONTACT_NUMBER_BUF_LEN 32
+
+typedef struct {
+       int index;
+       char option_msg[512];
+} second_call_popup_data_t;
+
+static void __vcui_msg_btn_cb(void *data, Evas_Object *obj, void *event_info);
+static void __vcui_view_contact_btn_cb(void *data, Evas_Object *obj, void *event_info);
+static void __vcui_update_existing_contact_btn_cb(void *data, Evas_Object *obj, void *event_info);
+static void __vcui_create_contact_btn_cb(void *data, Evas_Object *obj, void *event_info);
+static void __callui_unload_more_option(callui_app_data_t *ad);
+
+const char *group_thumbnail[] = {
+       GROUP_THUMBNAIL_98,
+       GROUP_THUMBNAIL_186,
+       "",
+};
+
+const char *group_default_thumbnail[] = {
+       GROUP_DEFAULT_THUMBNAIL_98,
+       GROUP_DEFAULT_THUMBNAIL_186,
+       GROUP_DEFAULT_CONFERENCE_THUMBNAIL_186,
+};
+
+const int thumbnail_size[] = {
+       98,
+       186,
+       186,
+};
+
+Evas_Object *_callui_load_edj(Evas_Object *parent, const char *file, const char *group)
+{
+       Evas_Object *eo;
+       int ret;
+
+       eo = elm_layout_add(parent);
+       if (eo) {
+               ret = elm_layout_file_set(eo, file, group);
+               if (!ret) {
+                       evas_object_del(eo);
+                       err("ERROR!!");
+                       return NULL;
+               }
+
+               evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       }
+
+       return eo;
+}
+
+Evas_Object *_callui_edje_object_part_get(Evas_Object *parent, const char *part)
+{
+       Evas_Object *obj = NULL;
+
+       obj = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(parent), part);
+       if (obj == NULL) {
+               err("(%s) part is not avialable", part);
+       }
+
+       return obj;
+}
+
+static Evas_Object *__callui_create_caller_info(void *data, Eina_Bool bhold)
+{
+       Evas_Object *caller_info = NULL;
+       Evas_Object *layout = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, NULL);
+
+       layout = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+       CALLUI_RETURN_VALUE_IF_FAIL(layout, NULL);
+       caller_info = elm_object_part_content_get(layout, "caller_info");
+
+       return caller_info;
+}
+
+static Evas_Object *__callui_create_button_style(void *data, Evas_Object **p_button, char *part_name)
+{
+       Evas_Object *layout = NULL;
+       Evas_Object *btn_ly = NULL;
+       Evas_Object *sw = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, NULL);
+       layout = _callvm_get_view_layout(ad);
+       CALLUI_RETURN_VALUE_IF_FAIL(layout, NULL);
+       btn_ly = elm_object_part_content_get(layout, "btn_region");
+       CALLUI_RETURN_VALUE_IF_FAIL(btn_ly, NULL);
+
+       sw = edje_object_part_swallow_get(_EDJ(btn_ly), part_name);
+       if (sw) {
+               dbg("Object Already Exists, so Update Only");
+               *p_button = sw;
+       } else {
+               *p_button = elm_button_add(btn_ly);
+               elm_object_part_content_set(btn_ly, part_name, *p_button);
+       }
+
+       return btn_ly;
+}
+
+static void __callui_spk_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       int ret = -1;
+
+       if (ad->speaker_status == EINA_TRUE) {
+               ret = cm_speaker_off(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_speaker_off() is failed");
+                       return;
+               }
+       } else {
+               ret = cm_speaker_on(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_speaker_on() is failed");
+                       return;
+               }
+       }
+       _callui_update_speaker_btn(ad, !ad->speaker_status);
+
+       return;
+}
+
+static void __callui_contacts_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       __callui_unload_more_option(ad);
+       _callui_common_launch_contacts(ad);
+}
+
+void _callui_update_speaker_btn(callui_app_data_t *ad, Eina_Bool is_on)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       ad->speaker_status = is_on;
+       if (is_on) {
+               _callui_lock_screen_stop_timer();
+       } else {
+               _callui_lock_screen_start_timer();
+       }
+
+       /* Update Buttons */
+       _callui_create_top_first_button(ad);
+       _callui_create_quickpanel_speaker_button(ad, EINA_FALSE);
+
+       return;
+}
+
+void _callui_update_headset_btn(callui_app_data_t *ad, Eina_Bool is_on)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad);
+       ad->headset_status = is_on;
+       _callui_create_top_third_button(ad);
+
+       return;
+}
+
+void _callui_update_mute_btn(callui_app_data_t *ad, Eina_Bool is_on)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+
+       ad->mute_status = is_on;
+       _callui_create_bottom_second_button(ad);
+       _callui_create_quickpanel_mute_button(ad, EINA_FALSE);
+
+       return;
+}
+
+void _callui_update_extra_vol_btn(callui_app_data_t *ad, Eina_Bool is_on)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+
+       ad->extra_volume_status = is_on;
+       _callui_create_bottom_third_button(ad);
+
+       return;
+}
+
+void _callui_mute_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       int ret = -1;
+       gboolean is_mute_on = FALSE;
+
+       if (ad->mute_status == EINA_FALSE) {
+               is_mute_on = TRUE;
+       } else {
+               is_mute_on = FALSE;
+       }
+
+       ret = cm_set_mute_state(ad->cm_handle, is_mute_on);
+       if (ret != CM_ERROR_NONE) {
+               err("cm_set_mute_state() get failed with err[%d]", ret);
+               return;
+       }
+
+       _callui_update_mute_btn(ad, is_mute_on);
+       return;
+}
+
+static void __callui_headset_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       Eina_Bool bupdate_btn = EINA_FALSE;
+
+       if (ad->headset_status == EINA_TRUE) {
+               ad->headset_status = EINA_FALSE;
+               ad->speaker_status = EINA_FALSE;
+               cm_bluetooth_off(ad->cm_handle);
+               bupdate_btn = EINA_TRUE;
+       } else {
+               /* Check If SCO path exists, open if exists*/
+               if (EINA_TRUE == _callui_common_is_headset_conected()) {
+                       ad->headset_status = EINA_TRUE;
+                       ad->speaker_status = EINA_FALSE;
+                       cm_bluetooth_on(ad->cm_handle);
+                       bupdate_btn = EINA_TRUE;
+               } else {
+                       bt_adapter_state_e bt_state = -1;
+                       int ret_code = bt_adapter_get_state(&bt_state);
+                       if ((ret_code == BT_ERROR_NONE) && (bt_state != -1)) {
+                               info("BT status value: %d", bt_state);
+                               if (bt_state == BT_ADAPTER_DISABLED) {
+                                       _callui_load_bluetooth_popup(ad);
+                               } else {
+                                       _callui_common_launch_bt_app(ad);
+                               }
+                       } else {
+                               err("fail to get vconf key: %d", ret_code);
+                       }
+                       bupdate_btn = EINA_FALSE;
+               }
+       }
+
+       if (bupdate_btn) {
+               if (ad->extra_volume_status == EINA_TRUE) {
+                       int ret = -1;
+                       ret = cm_set_extra_vol(ad->cm_handle, EINA_FALSE);
+                       if (ret != CM_ERROR_NONE) {
+                               err("Fail cm_set_extra_vol");
+                       }
+                       ad->extra_volume_status = EINA_FALSE;
+               }
+               /* Update Headset/Speaker buttons */
+               _callui_create_top_first_button(ad);
+               _callui_create_top_third_button(ad);
+               _callui_create_bottom_third_button(ad);
+       }
+}
+
+static void __callui_addcall_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+
+       _callui_common_launch_dialer(ad);
+}
+
+static void __callui_keypad_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       if (_callui_keypad_get_show_status() == EINA_FALSE) {   /*show keypad region*/
+               dbg("..");
+               /*Actual show with animation*/
+               _callui_keypad_show_layout(ad);
+       } else {
+               dbg("..");
+               /*Hide animation on keypad*/
+               _callui_keypad_hide_layout(ad);
+       }
+}
+
+/* Speaker Button ENABLED */
+Evas_Object *_callui_create_top_first_button(callui_app_data_t *ad)
+{
+       Evas_Object *btn = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       __callui_create_button_style(ad, &btn, PART_TOP_FIRST_BTN);
+
+       evas_object_smart_callback_del(btn, "clicked", __callui_spk_btn_cb);
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_SPEAKER"));
+       evas_object_smart_callback_add(btn, "clicked", __callui_spk_btn_cb, ad);
+       if (ad->speaker_status == EINA_FALSE) {
+               elm_object_style_set(btn, "style_call_sixbtn_speaker");
+       } else {
+               elm_object_style_set(btn, "style_call_sixbtn_speaker_on");
+       }
+
+       elm_object_disabled_set(btn, EINA_FALSE);
+
+       return btn;
+}
+
+/* Speaker Button DISABLED */
+Evas_Object *_callui_create_top_first_button_disabled(callui_app_data_t *ad)
+{
+       Evas_Object *btn = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+
+       __callui_create_button_style(ad, &btn, PART_TOP_FIRST_BTN);
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_speaker");
+
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_SPEAKER"));
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+       return btn;
+}
+
+/* Keypad Button ENABLED */
+Evas_Object *_callui_create_top_second_button(callui_app_data_t *ad)
+{
+       Evas_Object *btn = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+
+       __callui_create_button_style(ad, &btn, PART_TOP_SECOND_BTN);
+       elm_object_style_set(btn, "style_call_sixbtn_keypad");
+
+       evas_object_smart_callback_del(btn, "clicked", __callui_keypad_btn_cb);
+       evas_object_smart_callback_add(btn, "clicked", __callui_keypad_btn_cb, ad);
+       elm_object_text_set(btn, _("IDS_CALL_SK3_KEYPAD")); /* ToDo: Handle Keypad/Hide layout and text changes */
+       elm_object_disabled_set(btn, EINA_FALSE);
+
+       return btn;
+}
+
+/* Keypad Button DISABLED */
+Evas_Object *_callui_create_top_second_button_disabled(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       Evas_Object *btn = NULL;
+
+       __callui_create_button_style(ad, &btn, PART_TOP_SECOND_BTN);
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_keypad");
+
+       elm_object_text_set(btn, _("IDS_CALL_SK3_KEYPAD"));
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+       return btn;
+}
+
+/* HeadSet Button ENABLED */
+Evas_Object *_callui_create_top_third_button(callui_app_data_t *ad)
+{
+       Evas_Object *btn = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+
+       __callui_create_button_style(ad, &btn, PART_TOP_THIRD_BTN);
+
+       if (ad->headset_status == EINA_FALSE) {
+               elm_object_style_set(btn, "style_call_sixbtn_headset");
+       } else {
+               elm_object_style_set(btn, "style_call_sixbtn_headset_on");
+       }
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_BLUETOOTH_ABB"));
+       evas_object_smart_callback_del(btn, "clicked", __callui_headset_btn_cb);
+       evas_object_smart_callback_add(btn, "clicked", __callui_headset_btn_cb, ad);
+       elm_object_disabled_set(btn, EINA_FALSE);
+
+       return btn;
+}
+
+/* HeadSet Button DISABLED */
+Evas_Object *_callui_create_top_third_button_disabled(callui_app_data_t *ad)
+{
+       Evas_Object *btn = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+
+       __callui_create_button_style(ad, &btn, PART_TOP_THIRD_BTN);
+
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_headset");
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_BLUETOOTH_ABB"));
+
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+       return btn;
+}
+
+/* Add-Call/Join button ENABLED*/
+Evas_Object *_callui_create_bottom_first_button(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       Evas_Object *btn = NULL;
+
+       __callui_create_button_style(ad, &btn, PART_BOTTOM_FIRST_BTN);
+       evas_object_smart_callback_del(btn, "clicked", __callui_addcall_btn_cb);
+       elm_object_style_set(btn, "style_call_sixbtn_add");
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_ADD_CALL"));
+       evas_object_smart_callback_add(btn, "clicked", __callui_addcall_btn_cb, ad);
+
+       elm_object_disabled_set(btn, EINA_FALSE);
+
+       return btn;
+}
+
+/* Add-Call/Join Button DISABLED */
+Evas_Object *_callui_create_bottom_first_button_disabled(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       Evas_Object *btn = NULL;
+
+       __callui_create_button_style(ad, &btn, PART_BOTTOM_FIRST_BTN);
+
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_add");
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_ADD_CALL"));
+
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+       return btn;
+}
+
+/* Mute Button ENABLED */
+Evas_Object *_callui_create_bottom_second_button(callui_app_data_t *ad)
+{
+       Evas_Object *btn = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+
+       __callui_create_button_style(ad, &btn, PART_BOTTOM_SECOND_BTN);
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_MUTE_ABB"));
+       if (ad->mute_status == EINA_FALSE) {
+               elm_object_style_set(btn, "style_call_sixbtn_mute");
+       } else {
+               elm_object_style_set(btn, "style_call_sixbtn_mute_on");
+       }
+       elm_object_disabled_set(btn, EINA_FALSE);
+
+       evas_object_smart_callback_del(btn, "clicked", _callui_mute_btn_cb);
+       evas_object_smart_callback_add(btn, "clicked", _callui_mute_btn_cb, ad);
+
+       return btn;
+}
+
+/* Mute Button DISABLED */
+Evas_Object *_callui_create_bottom_second_button_disabled(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       Evas_Object *btn = NULL;
+
+       __callui_create_button_style(ad, &btn, PART_BOTTOM_SECOND_BTN);
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_mute");
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_MUTE_ABB"));
+
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+       return btn;
+}
+
+/* Contacts Button ENABLED */
+Evas_Object *_callui_create_bottom_third_button(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       Evas_Object *btn = NULL;
+       __callui_create_button_style(ad, &btn, PART_BOTTOM_THIRD_BTN);
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_CONTACTS"));
+       evas_object_smart_callback_del(btn, "clicked", __callui_contacts_btn_cb);
+       evas_object_smart_callback_add(btn, "clicked", __callui_contacts_btn_cb, ad);
+       elm_object_disabled_set(btn, EINA_FALSE);
+       elm_object_style_set(btn, "style_call_sixbtn_contacts");
+
+       return btn;
+}
+
+/* Contacts Button DISABLED */
+Evas_Object *_callui_create_bottom_third_button_disabled(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad != NULL, NULL);
+       Evas_Object *btn = NULL;
+#if 1
+       __callui_create_button_style(ad, &btn, PART_BOTTOM_THIRD_BTN);
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_contacts");
+
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_CONTACTS"));
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+#else
+       __callui_create_button_style(data, &btn, PART_BOTTOM_THIRD_BTN);
+       elm_object_style_set(btn, "style_call_sixbtn_disabled_contacts");
+
+       elm_object_disabled_set(btn, EINA_TRUE);
+
+#endif
+       return btn;
+}
+
+static void __callui_end_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(vd != NULL);
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       int ret = -1;
+
+       dbg("vd->type:[%d]", vd->type);
+
+       switch (vd->type) {
+       case VIEW_DIALLING_VIEW:
+               {
+                       if (ad->active)
+                               ret = cm_end_call(ad->cm_handle, ad->active->call_id, CALL_RELEASE_TYPE_BY_CALL_HANDLE);
+               }
+               break;
+       case VIEW_INCALL_ONECALL_VIEW:
+               {
+                       ret = cm_end_call(ad->cm_handle, 0, CALL_RELEASE_TYPE_ALL_CALLS);
+               }
+               break;
+       case VIEW_INCALL_MULTICALL_SPLIT_VIEW:
+               {
+                       ret = cm_end_call(ad->cm_handle, 0, CALL_RELEASE_TYPE_ALL_ACTIVE_CALLS);
+               }
+               break;
+       case VIEW_INCALL_MULTICALL_CONF_VIEW:
+       case VIEW_INCALL_MULTICALL_LIST_VIEW:
+               {
+                       ret = cm_end_call(ad->cm_handle, 0, CALL_RELEASE_TYPE_ALL_CALLS);
+               }
+               break;
+       default:
+               err("ERROR - wrong vd type:[%d]", vd->type);
+               break;
+       }
+
+       if (ret != CM_ERROR_NONE) {
+               err("cm_end_call() is failed");
+       }
+       return;
+}
+
+Evas_Object *_callui_create_end_call_button(Evas_Object *parent, void *data)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(parent != NULL, NULL);
+       Evas_Object *btn = NULL;
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCALL_MULTICALL_SPLIT_VIEW) {
+               parent = elm_object_part_content_get(parent, PART_SWALLOW_ACTIONS_PANEL);
+       }
+       btn = elm_object_part_content_get(parent, PART_END_BTN);
+
+       if (!btn) {
+               btn = elm_button_add(parent);
+               elm_object_style_set(btn, "call_icon_only");
+
+               Evas_Object *icon = elm_image_add(btn);
+               elm_image_file_set(icon, EDJ_NAME, "call_button_icon_01.png");
+               elm_object_part_content_set(btn, "elm.swallow.content", icon);
+               elm_object_part_content_set(parent, PART_END_BTN, btn);
+       }
+       evas_object_smart_callback_del(btn, "clicked", __callui_end_btn_cb);
+       evas_object_smart_callback_add(btn, "clicked", __callui_end_btn_cb, data);
+       elm_object_signal_emit(parent, "show_end_btn_bg", "main_ly");
+       evas_object_show(btn);
+
+       return btn;
+}
+
+void _callui_destroy_end_call_button(Evas_Object *parent)
+{
+       CALLUI_RETURN_IF_FAIL(parent != NULL);
+       Evas_Object *btn = NULL;
+
+       btn = elm_object_part_content_get(parent, PART_END_BTN);
+       if (btn) {
+               elm_object_signal_emit(parent, "hide_end_btn_bg", "main_ly");
+               evas_object_del(btn);
+               btn = NULL;
+       }
+       return;
+}
+
+Evas_Object *_callui_create_voicecall_button_disabled(void *data)
+{
+       Evas_Object *btn = NULL;
+       Evas_Object *layout = NULL;
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(vd != NULL, NULL);
+       Evas_Object *icon = NULL;
+
+       layout = _callui_view_callend_get_layout(vd);
+
+       btn = elm_button_add(layout);
+       elm_object_style_set(btn, "call_icon_only");
+       icon = elm_image_add(btn);
+       elm_image_file_set(icon, EDJ_NAME, "call_button_icon_03.png");
+       elm_object_part_content_set(btn, "elm.swallow.content", icon);
+
+       elm_object_part_content_set(layout, "three_btn_voicecall", btn);
+       elm_object_disabled_set(btn, EINA_TRUE);
+       evas_object_show(btn);
+
+       return btn;
+}
+
+static void __callui_voicecall_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("__vcui_voicecall_btn_cb..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       char *call_number = (char *)data;
+       CALLUI_RETURN_IF_FAIL(call_number);
+
+       evas_object_smart_callback_del(obj, "clicked", __callui_voicecall_btn_cb);
+
+       _callui_common_delete_ending_timer();
+       ad->speaker_status = EINA_FALSE;
+       ad->mute_status = EINA_FALSE;
+       ad->extra_volume_status = EINA_FALSE;
+       cm_dial_call(ad->cm_handle, call_number, CM_CALL_TYPE_VOICE, ad->sim_slot);
+       g_free(call_number);
+       return;
+}
+
+Evas_Object *_callui_create_voicecall_button(void *data, char *number)
+{
+       Evas_Object *btn = NULL;
+       Evas_Object *layout = NULL;
+
+       call_view_data_t *vd = NULL;
+
+       CALLUI_RETURN_VALUE_IF_FAIL((vd = (call_view_data_t *)data) != NULL, NULL);
+       Evas_Object *icon = NULL;
+       layout = _callui_view_callend_get_layout(vd);
+
+       btn = elm_button_add(layout);
+       elm_object_style_set(btn, "call_icon_only");
+       icon = elm_image_add(btn);
+       elm_image_file_set(icon, EDJ_NAME, "call_button_icon_03.png");
+       elm_object_part_content_set(btn, "elm.swallow.content", icon);
+
+       elm_object_part_content_set(layout, "three_btn_voicecall", btn);
+
+       evas_object_smart_callback_del(btn, "clicked", __callui_voicecall_btn_cb);
+       evas_object_smart_callback_add(btn, "clicked", __callui_voicecall_btn_cb, g_strdup(number));
+
+       evas_object_show(btn);
+       return btn;
+}
+
+Evas_Object *_callui_create_message_button_disabled(void *data)
+{
+       Evas_Object *btn = NULL;
+       Evas_Object *layout = NULL;
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(vd != NULL, NULL);
+       Evas_Object *icon = NULL;
+
+#if 0
+       layout = _callui_view_callend_get_layout(vd);
+       Evas_Object *sw = NULL;
+       sw = edje_object_part_swallow_get(_EDJ(layout), "btn_message");
+       if (sw) {
+               edje_object_part_unswallow(_EDJ(layout), sw);
+               evas_object_del(sw);
+       }
+
+       btn = elm_button_add(layout);
+       elm_object_part_content_set(layout, "btn_message", btn);
+       elm_object_style_set(btn, "style_call_end_message_button_disabled");
+
+       elm_object_text_set(btn, _("IDS_COM_BODY_MESSAGE"));
+       elm_object_disabled_set(btn, EINA_TRUE);
+#endif
+       switch (vd->type) {
+       case VIEW_ENDCALL_VIEW:
+               {
+                       layout = _callui_view_callend_get_layout(vd);
+               }
+               break;
+       default:
+               err("ERROR - wrong vd type:[%d]", vd->type);
+               return NULL;
+       }
+
+       btn = elm_button_add(layout);
+       elm_object_style_set(btn, "call_icon_only");
+       icon = elm_image_add(btn);
+       elm_image_file_set(icon, EDJ_NAME, "call_button_icon_04.png");
+       elm_object_part_content_set(btn, "elm.swallow.content", icon);
+
+       elm_object_part_content_set(layout, "three_btn_message", btn);
+       elm_object_disabled_set(btn, EINA_TRUE);
+       evas_object_show(btn);
+
+       return btn;
+}
+
+static void __vcui_msg_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       char *number = (char *)data;
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_COMPOSE);
+       char str[CONTACT_NUMBER_BUF_LEN];
+       snprintf(str, sizeof(str), "%s%s", "sms:", number);
+       app_control_set_uri(request, str);
+       int result = app_control_send_launch_request(request, NULL, NULL);
+       if (result != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() failed (%d)", result);
+       }
+       free(number);
+       app_control_destroy(request);
+
+
+}
+
+static void __vcui_view_contact_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       char *contact_id = (char *)data;
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_VIEW);
+       app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+       app_control_add_extra_data(request, APP_CONTROL_DATA_ITEM_ID, contact_id);
+
+       int result = app_control_send_launch_request(request, NULL, NULL);
+       if (result != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() failed (%d)", result);
+       }
+       free(contact_id);
+       app_control_destroy(request);
+}
+
+Evas_Object *_callui_create_view_contact_button(void *data, int ct_id)
+{
+       Evas_Object *btn;
+       Evas_Object *layout;
+       Evas_Object *sw;
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_VALUE_IF_FAIL(vd != NULL, NULL);
+
+       switch (vd->type) {
+       case VIEW_ENDCALL_VIEW:
+               {
+                       layout = _callui_view_callend_get_layout(vd);
+               }
+               break;
+       default:
+               err("ERROR - wrong vd type:[%d]", vd->type);
+               return NULL;
+       }
+
+       sw = edje_object_part_swallow_get(_EDJ(layout), "btn_view_contacts");
+       if (sw) {
+               btn = sw;
+       } else {
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "btn_view_contacts", btn);
+       }
+
+       elm_object_style_set(btn, "style_call_end_view_contact_button");
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_VIEW_CONTACT_DETAILS_ABB"));
+       char str[CONTACT_ID_BUF_LEN];
+       sprintf(str, "%d", ct_id);
+       evas_object_smart_callback_add(btn, "clicked", __vcui_view_contact_btn_cb, (void *)strdup(str));
+
+       return btn;
+}
+
+Evas_Object *_callui_create_create_contacts_button(void *data, char *number)
+{
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_VALUE_IF_FAIL(vd != NULL, NULL);
+
+       Evas_Object *btn = NULL;
+       Evas_Object *layout = NULL;
+       Evas_Object *sw = NULL;
+
+       switch (vd->type) {
+       case VIEW_ENDCALL_VIEW:
+               {
+                       layout = _callui_view_callend_get_layout(vd);
+               }
+               break;
+       default:
+               err("ERROR - wrong vd type:[%d]", vd->type);
+               return NULL;
+       }
+
+       sw = edje_object_part_swallow_get(_EDJ(layout), "btn_create_contacts");
+       if (sw) {
+               btn = sw;
+       } else {
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "btn_create_contacts", btn);
+       }
+
+       info("Going to set style");
+       elm_object_style_set(btn, "style_call_end_create_contact_button");
+
+       elm_object_text_set(btn, _("IDS_COM_OPT_CREATE_CONTACT"));
+       evas_object_smart_callback_add(btn, "clicked", __vcui_create_contact_btn_cb, (void *)strdup(number));
+
+       return btn;
+}
+
+static void __vcui_create_contact_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("_vcui_create_contact_btn_cb");
+       char *number = (char *)data;
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_ADD);
+       app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+       if (number) {
+               app_control_add_extra_data(request, APP_CONTROL_DATA_PHONE, number);
+       }
+       app_control_send_launch_request(request, NULL, NULL);
+       free(number);
+       app_control_destroy(request);
+}
+
+static void __vcui_update_existing_contact_btn_cb(void *data,
+               Evas_Object *obj, void *event_info)
+{
+       dbg("__vcui_update_existing_contact_btn_cb");
+       char * number = (char *)data;
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_operation(request, APP_CONTROL_OPERATION_EDIT);
+       app_control_set_mime(request, APP_CONTROL_MIME_CONTACT);
+
+       if (number) {
+               app_control_add_extra_data(request, APP_CONTROL_DATA_PHONE, number);
+       }
+       app_control_send_launch_request(request, NULL, NULL);
+       free(number);
+       app_control_destroy(request);
+}
+
+Evas_Object *_callui_create_update_existing_contact_button(void *data, char *number)
+{
+       Evas_Object *btn;
+       Evas_Object *layout;
+       Evas_Object *sw;
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_VALUE_IF_FAIL(vd != NULL, NULL);
+
+       switch (vd->type) {
+       case VIEW_ENDCALL_VIEW:
+               {
+                       layout = _callui_view_callend_get_layout(vd);
+               }
+               break;
+       default:
+               err("ERROR - wrong vd type:[%d]", vd->type);
+               return NULL;
+       }
+
+       sw = edje_object_part_swallow_get(_EDJ(layout), "btn_update");
+       if (sw) {
+               btn = sw;
+       } else {
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "btn_update", btn);
+       }
+
+       elm_object_style_set(btn, "style_call_end_update_contact_button");
+       elm_object_text_set(btn, _("IDS_CALL_BUTTON_UPDATE_EXISTING"));
+       evas_object_smart_callback_add(btn, "clicked",
+                       __vcui_update_existing_contact_btn_cb, (void *)strdup(number));
+
+       return btn;
+}
+
+Evas_Object *_callui_create_message_button(void *data, char *number)
+{
+       Evas_Object *btn = NULL;
+       Evas_Object *layout = NULL;
+
+       call_view_data_t *vd = NULL;
+       CALLUI_RETURN_VALUE_IF_FAIL((vd = (call_view_data_t *)data) != NULL, NULL);
+
+       Evas_Object *icon = NULL;
+#if 0
+       layout = _callui_view_callend_get_layout(vd);
+       Evas_Object *sw = NULL;
+       sw = edje_object_part_swallow_get(_EDJ(layout), "btn_message");
+       if (sw) {
+               edje_object_part_unswallow(_EDJ(layout), sw);
+               evas_object_del(sw);
+       }
+
+       btn = elm_button_add(layout);
+       elm_object_part_content_set(layout, "btn_message", btn);
+       elm_object_style_set(btn, "style_call_end_message_button");
+
+       elm_object_text_set(btn, _("IDS_COM_BODY_MESSAGE"));
+       evas_object_smart_callback_add(btn, "clicked", __vcui_msg_btn_cb, (void *)strdup(number));
+#endif
+       switch (vd->type) {
+       case VIEW_ENDCALL_VIEW:
+               {
+                       layout = _callui_view_callend_get_layout(vd);
+               }
+               break;
+       default:
+               err("ERROR - wrong vd type:[%d]", vd->type);
+               return NULL;
+       }
+
+       btn = elm_button_add(layout);
+       elm_object_style_set(btn, "call_icon_only");
+       icon = elm_image_add(btn);
+       elm_image_file_set(icon, EDJ_NAME, "call_button_icon_04.png");
+       elm_object_part_content_set(btn, "elm.swallow.content", icon);
+
+       elm_object_part_content_set(layout, "three_btn_message", btn);
+       evas_object_smart_callback_add(btn, "clicked", __vcui_msg_btn_cb, (void *)strdup(number));
+
+       evas_object_show(btn);
+       return btn;
+}
+
+/* Creates thumbnail */
+Evas_Object *_callui_create_thumbnail(Evas_Object *parent, const char *path, thumbnail_type type)
+{
+       return _callui_create_thumbnail_with_size(parent, path, type, false);
+}
+
+/* Creates thumbnail with possibility to set size in code*/
+Evas_Object *_callui_create_thumbnail_with_size(Evas_Object *parent, const char *path, thumbnail_type type, bool set_size)
+{
+       if (path && *path && (strcmp(path, "default") != 0)) {
+               Evas_Object *layout = elm_layout_add(parent);
+               elm_layout_file_set(layout, EDJ_NAME, group_thumbnail[type]);
+
+               Evas_Object *image = elm_image_add(layout);
+               elm_image_file_set(image, path, NULL);
+               elm_image_aspect_fixed_set(image, EINA_TRUE);
+               elm_image_fill_outside_set(image, EINA_TRUE);
+               if (set_size) {
+                       evas_object_size_hint_min_set(image, _callui_common_get_scaled_width(thumbnail_size[type]), _callui_common_get_scaled_height(thumbnail_size[type]));
+               }
+               elm_object_part_content_set(layout, PART_SWALLOW_IMAGE, image);
+
+               return layout;
+       } else {
+               Evas_Object *image = elm_image_add(parent);
+               elm_image_file_set(image, EDJ_NAME, group_default_thumbnail[type]);
+               if (set_size) {
+                       evas_object_size_hint_min_set(image, _callui_common_get_scaled_width(thumbnail_size[type]), _callui_common_get_scaled_height(thumbnail_size[type]));
+               }
+               return image;
+       }
+}
+
+/* Caller info name or number*/
+void _callui_show_caller_info_name(void *data, const char *name, Eina_Bool bhold)
+{
+       Evas_Object *layout = NULL;
+
+       layout = __callui_create_caller_info(data, bhold);
+       edje_object_part_text_set(_EDJ(layout), "txt_call_name", name);
+}
+
+/* Caller info number */
+void _callui_show_caller_info_number(void *data, const char *number, Eina_Bool bhold)
+{
+       Evas_Object *layout = NULL;
+
+       layout = __callui_create_caller_info(data, bhold);
+       edje_object_part_text_set(_EDJ(layout), "txt_phone_num", number);
+}
+
+/* Caller info status*/
+Evas_Object *_callui_show_caller_info_status(void *data, const char *status, Eina_Bool bhold)
+{
+       Evas_Object *layout = NULL;
+
+       layout = _callvm_get_view_layout(data);
+       edje_object_part_text_set(_EDJ(layout), "call_txt_status", status);
+
+       return layout;
+}
+
+Evas_Object *_callui_show_caller_id(Evas_Object *contents, char *path, bool is_ending_view)
+{
+       dbg("..");
+       Evas_Object *layout = _callui_create_thumbnail(contents, path, THUMBNAIL_186);
+
+       elm_object_part_content_set(contents, "caller_id", layout);
+
+       /*Hide default caller-ID*/
+       elm_object_signal_emit(contents, "hide_default_cid", "");
+
+       return layout;
+}
+
+Evas_Object *_callui_view_create_focus_layout(Evas_Object *parent)
+{
+       Evas_Object *focus = elm_button_add(parent);
+       elm_object_style_set(focus, "focus");
+
+       Evas_Object *evas_object = evas_object_rectangle_add(evas_object_evas_get(parent));
+       elm_object_part_content_set(focus, "elm.swallow.content", evas_object);
+       evas_object_color_set(evas_object, 0, 0, 0, 0);
+       evas_object_show(evas_object);
+
+       return focus;
+}
+
+static void __callui_hold_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       __callui_unload_more_option(ad);
+
+/*     if (_vcui_keypad_get_show_status() == EINA_TRUE) {
+                       _vcui_keypad_hide(vd);
+       }
+       */
+       cm_hold_call(ad->cm_handle);
+}
+
+static void __callui_unhold_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       __callui_unload_more_option(ad);
+
+       cm_unhold_call(ad->cm_handle);
+}
+
+static void __callui_move_more_option(Evas_Object *ctxpopup)
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       Evas_Coord w = 0, h = 0;
+       int pos = -1;
+
+       elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h);
+       pos = elm_win_rotation_get(ad->win);
+       dbg("w: %d, h: %d", w, h);
+
+       switch (pos) {
+               case 0:
+               case 180:
+                       evas_object_move(ctxpopup, (w / 2), h);
+                       break;
+               case 90:
+                       evas_object_move(ctxpopup,  (h / 2), w);
+                       break;
+               case 270:
+                       evas_object_move(ctxpopup, (h / 2), w);
+                       break;
+               default:
+                       evas_object_move(ctxpopup, (w / 2), h);
+                       break;
+       }
+}
+
+static void __callui_more_option_dismissed_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..**********..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       __callui_unload_more_option(ad);
+}
+
+static void __callui_more_option_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+       dbg("..**********..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       __callui_unload_more_option(ad);
+}
+
+void _callui_load_more_option(void *data)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       call_view_data_t *vd = (call_view_data_t *)data;
+
+       if (_callui_lock_screen_is_lockscreen_shown() == TRUE) {
+               dbg("Lock screen active. Do not show popup.");
+               return;
+       }
+
+       if (ad->ctxpopup == NULL) {
+               Evas_Object *ctxpopup = NULL;
+
+               ctxpopup = elm_ctxpopup_add(ad->main_ly);
+               elm_object_style_set(ctxpopup, "more/default");
+               elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
+               evas_object_smart_callback_add(ctxpopup, "dismissed", __callui_more_option_dismissed_cb, ad);
+               evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL, __callui_more_option_delete_cb, ad);
+               eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK, eext_ctxpopup_back_cb, NULL);
+               eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_MORE, eext_ctxpopup_back_cb, NULL);
+
+               /* Hold/Resume */
+               if (vd->type != VIEW_INCALL_MULTICALL_SPLIT_VIEW) {
+                       if (ad->active != NULL) {
+                               elm_ctxpopup_item_append(ctxpopup, _("IDS_CALL_BUTTON_HOLD"), NULL, __callui_hold_btn_cb, ad);
+                       } else {/* CALL_HOLD */
+                               elm_ctxpopup_item_append(ctxpopup, _("IDS_CALL_BUTTON_RESUME_ABB"), NULL, __callui_unhold_btn_cb, ad);
+                       }
+               }
+
+               /* SIM Service */
+/*             if (__vcui_view_popup_is_sim_available() == EINA_TRUE) {
+                       ctx_it = elm_ctxpopup_item_append(ctxpopup, _("IDS_CALL_OPT_SIM_SERVICES"),
+                               NULL, __vcui_view_popup_sim_service_cb, vd);
+               }
+*/
+               elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
+                                                                                       ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+                                                                                       ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+                                                                                       ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+
+               __callui_move_more_option(ctxpopup);
+
+               evas_object_show(ctxpopup);
+               ad->ctxpopup = ctxpopup;
+       } else {
+               elm_ctxpopup_dismiss(ad->ctxpopup);
+       }
+}
+
+static void __callui_unload_more_option(callui_app_data_t *ad)
+{
+       CALLUI_RETURN_IF_FAIL(ad);
+       if (ad->ctxpopup) {
+               evas_object_smart_callback_del(ad->ctxpopup, "dismissed", __callui_more_option_dismissed_cb);
+               evas_object_event_callback_del(ad->ctxpopup, EVAS_CALLBACK_DEL, __callui_more_option_delete_cb);
+
+               evas_object_del(ad->ctxpopup);
+               ad->ctxpopup = NULL;
+       }
+}
+
+int _callui_set_object_data(Evas_Object *obj, char *key, void *value)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(obj, -1);
+       CALLUI_RETURN_VALUE_IF_FAIL(key, -1);
+       CALLUI_RETURN_VALUE_IF_FAIL(value, -1);
+
+       evas_object_data_set(obj, key, value);
+       return 0;
+}
+
+void *_callui_get_object_data(Evas_Object *obj, char *key)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(obj, NULL);
+       CALLUI_RETURN_VALUE_IF_FAIL(key, NULL);
+
+       return evas_object_data_get(obj, key);
+}
+
+static void __callui_unload_second_call_popup(callui_app_data_t *ad)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad);
+       if (ad->second_call_popup) {
+               evas_object_del(ad->second_call_popup);
+               ad->second_call_popup = NULL;
+       }
+}
+
+static char *__callui_gl_second_call_option_label_get(void *data, Evas_Object *obj, const char *part)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(part, NULL);
+       CALLUI_RETURN_VALUE_IF_FAIL(data, NULL);
+       if (strcmp(part, "elm.text.main.left") == 0) {
+               char *markup_txt = NULL;
+               second_call_popup_data_t *item_data = (second_call_popup_data_t *)data;
+               if (strlen(item_data->option_msg) > 0) {
+                       markup_txt = evas_textblock_text_utf8_to_markup(NULL, item_data->option_msg);
+               }
+               return markup_txt;
+       } else {
+               return NULL;
+       }
+}
+
+static void __callui_gl_second_call_option_del_cb(void *data, Evas_Object *obj EINA_UNUSED)
+{
+       second_call_popup_data_t *item_data = (second_call_popup_data_t *)data;
+       g_free(item_data);
+}
+
+static void __callui_gl_second_call_option_sel(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       Elm_Object_Item *item = (Elm_Object_Item *) event_info;
+       call_data_t *hold_call_data = NULL;
+       call_data_t *unhold_call_data = NULL;
+       second_call_popup_data_t *item_data = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       __callui_unload_second_call_popup(ad);
+
+       if (item != NULL) {
+               item_data = (second_call_popup_data_t *) elm_object_item_data_get(item);
+               CALLUI_RETURN_IF_FAIL(item_data);
+               dbg("index: %d", item_data->index);
+
+               hold_call_data = ad->held;
+               unhold_call_data = ad->active;
+               if ((unhold_call_data) && (hold_call_data == NULL)) {
+                       dbg("1 active call OR 1 active conference call");
+                       if (item_data->index == 0) {
+                               cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_HOLD_ACTIVE_AND_ACCEPT);
+                       } else if (item_data->index == 1) {
+                               cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_RELEASE_ACTIVE_AND_ACCEPT);
+                       } else {
+                               err("Wrong index.. Should never get here");
+                       }
+               } else if (((unhold_call_data) && (hold_call_data))) {
+                       dbg("1 active call + 1 held call OR 1 active conf call + 1 held call OR 1 active call + 1 held conf call");
+                       if (item_data->index == 0) {
+                               cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_RELEASE_ACTIVE_AND_ACCEPT);
+                       } else if (item_data->index == 1) {
+                               cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_RELEASE_HOLD_AND_ACCEPT);
+                       } else if (item_data->index == 2) {
+                               cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_RELEASE_ALL_AND_ACCEPT);
+                       } else {
+                               err("Wrong index.. Should never get here");
+                       }
+               }
+
+       }
+}
+
+static void __callui_second_call_cancel_btn_response_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+
+       __callui_unload_second_call_popup(data);
+       _callvm_view_change(VIEW_INCOMING_LOCK_VIEW, -1, NULL, NULL);
+
+       return;
+}
+
+void _callui_load_second_call_popup(callui_app_data_t *ad)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad);
+       Evas_Object *box = NULL;
+       call_data_t *hold_call_data = NULL;
+       call_data_t *unhold_call_data = NULL;
+       char *hold_call_number = NULL;
+       char *hold_call_name = NULL;
+       char *unhold_call_number = NULL;
+       char *unhold_call_name = NULL;
+       const char *temp_str = NULL;
+       second_call_popup_data_t *item_data = NULL;
+       Elm_Genlist_Item_Class *itc = NULL;
+       Evas_Object *genlist = NULL;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       hold_call_data = ad->held;
+       unhold_call_data = ad->active;
+       if (unhold_call_data == NULL) {
+               err("active call data is null");
+               return;
+       }
+
+       __callui_unload_second_call_popup(ad);
+
+       ad->second_call_popup = elm_popup_add(ad->win);
+       CALLUI_RETURN_IF_FAIL(ad->second_call_popup);
+       elm_popup_align_set(ad->second_call_popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+       elm_object_domain_translatable_part_text_set(ad->second_call_popup, "title,text", CALLUI_TEXT_DOMAIN, "IDS_CALL_HEADER_ANSWER_CALL_ABB");
+       evas_object_size_hint_weight_set(ad->second_call_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+       box = elm_box_add(ad->second_call_popup);
+       CALLUI_RETURN_IF_FAIL(box);
+       evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+       genlist = elm_genlist_add(box);
+       CALLUI_RETURN_IF_FAIL(genlist);
+       elm_genlist_realization_mode_set(genlist, EINA_TRUE);
+       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       itc = elm_genlist_item_class_new();
+       CALLUI_RETURN_IF_FAIL(itc);
+
+       itc->item_style = "1line";
+       itc->func.text_get = __callui_gl_second_call_option_label_get;
+       itc->func.content_get = NULL;
+       itc->func.state_get = NULL;
+       itc->func.del = __callui_gl_second_call_option_del_cb;
+
+       if (hold_call_data != NULL) {
+               hold_call_number = hold_call_data->call_num;
+               hold_call_name = hold_call_data->call_ct_info.call_disp_name;
+               if (strlen(hold_call_name) == 0)
+                       hold_call_name = hold_call_number;
+       }
+
+       if (unhold_call_data != NULL) {
+               unhold_call_number = unhold_call_data->call_num;
+               unhold_call_name = unhold_call_data->call_ct_info.call_disp_name;
+               if (strlen(unhold_call_name) == 0)
+                       unhold_call_name = unhold_call_number;
+       }
+
+       if ((unhold_call_data) && (unhold_call_data->member_count == 1) && (hold_call_data == NULL)) {
+               dbg("1 active call");
+               /* First option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 0;
+               memset(item_data->option_msg, 0x00, 512);
+               temp_str = _("IDS_CALL_OPT_PUT_PS_ON_HOLD_ABB");
+               snprintf(item_data->option_msg, 512, temp_str, unhold_call_name);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Second option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 1;
+               memset(item_data->option_msg, 0x00, 512);
+               temp_str = _("IDS_CALL_OPT_END_CALL_WITH_PS");
+               snprintf(item_data->option_msg, 512, temp_str, unhold_call_name);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+       } else if ((unhold_call_data) && (unhold_call_data->member_count > 1) && (hold_call_data == NULL)) {
+               dbg("1 active conference call");
+               /* First option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 0;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, _("IDS_CALL_BODY_HOLD_ACTIVE_CALL_ABB"), 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Second option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 1;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, _("IDS_CALL_OPT_END_CONFERENCE_CALL"), 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+       } else if ((unhold_call_data) && (hold_call_data) && (unhold_call_data->member_count == 1) && (hold_call_data->member_count == 1)) {
+               dbg("1 active call + 1 held call");
+               /* First option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 0;
+               memset(item_data->option_msg, 0x00, 512);
+               temp_str = _("IDS_CALL_OPT_END_CALL_WITH_PS");
+               snprintf(item_data->option_msg, 512, temp_str, unhold_call_name);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Second option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 1;
+               memset(item_data->option_msg, 0x00, 512);
+               temp_str = _("IDS_CALL_OPT_END_CALL_WITH_PS");
+               snprintf(item_data->option_msg, 512, temp_str, hold_call_name);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Third option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 2;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, _("IDS_CALL_OPT_END_ALL_CURRENT_CALLS"), 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+       } else if ((unhold_call_data) && (hold_call_data) && (unhold_call_data->member_count > 1) && (hold_call_data->member_count == 1)) {
+               dbg("1 active conf call + 1 held call");
+               /* First option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 0;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, "End conference call", 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Second option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 1;
+               memset(item_data->option_msg, 0x00, 512);
+               temp_str = _("IDS_CALL_OPT_END_CALL_WITH_PS");
+               snprintf(item_data->option_msg, 512, temp_str, hold_call_name);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Third option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 2;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, _("IDS_CALL_OPT_END_ALL_CURRENT_CALLS"), 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+       } else if ((unhold_call_data) && (hold_call_data) && (unhold_call_data->member_count == 1) && (hold_call_data->member_count > 1)) {
+               dbg("1 active call + 1 held conf call");
+               /* First option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 0;
+               memset(item_data->option_msg, 0x00, 512);
+               temp_str = _("IDS_CALL_OPT_END_CALL_WITH_PS");
+               snprintf(item_data->option_msg, 512, temp_str, unhold_call_name);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Second option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 1;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, _("IDS_CALL_OPT_END_CONFERENCE_CALL"), 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+
+               /* Third option */
+               item_data = (second_call_popup_data_t *) calloc(1, sizeof(second_call_popup_data_t));
+               if (item_data == NULL) {
+                       elm_genlist_item_class_free(itc);
+                       return;
+               }
+               item_data->index = 2;
+               memset(item_data->option_msg, 0x00, 512);
+               strncpy(item_data->option_msg, _("IDS_CALL_OPT_END_ALL_CURRENT_CALLS"), 512-1);
+               elm_genlist_item_append(genlist, itc, (void *)item_data, NULL, ELM_GENLIST_ITEM_NONE, __callui_gl_second_call_option_sel, ad);
+       } else {
+               err("invalid call data!!");
+               elm_genlist_item_class_free(itc);
+               return;
+       }
+
+       evas_object_smart_callback_add(ad->second_call_popup, "response",
+                               __callui_second_call_cancel_btn_response_cb, ad);
+       eext_object_event_callback_add(ad->second_call_popup, EEXT_CALLBACK_BACK,
+                               __callui_second_call_cancel_btn_response_cb, ad);
+       evas_object_smart_callback_add(ad->second_call_popup, "block,clicked",
+                               __callui_second_call_cancel_btn_response_cb, ad);
+
+       elm_box_pack_end(box, genlist);
+       evas_object_show(genlist);
+       elm_genlist_item_class_free(itc);
+
+       evas_object_size_hint_min_set(box, ELM_SCALE_SIZE(POPUP_LIST_W), ELM_SCALE_SIZE(POPUP_LIST_ITEM_H * (item_data->index + 1)));
+       evas_object_show(box);
+       elm_object_content_set(ad->second_call_popup, box);
+
+       evas_object_show(ad->second_call_popup);
+}
+
+static void __callui_unload_bt_popup(callui_app_data_t *ad)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad);
+       if (ad->bt_popup) {
+               evas_object_del(ad->bt_popup);
+               ad->bt_popup = NULL;
+       }
+       return;
+}
+
+static void __callui_bt_popup_cancel_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+
+       __callui_unload_bt_popup(data);
+       return;
+}
+
+static void __callui_bt_popup_ok_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       __callui_unload_bt_popup(ad);
+       /* Launch the BT App Control */
+       _callui_common_launch_bt_app(ad);
+       return;
+}
+
+void _callui_load_bluetooth_popup(callui_app_data_t *ad)
+{
+       Evas_Object *btn_ok = NULL;
+       Evas_Object *btn_cancel = NULL;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       __callui_unload_bt_popup(ad);
+       ad->bt_popup = elm_popup_add(ad->win);
+       elm_popup_align_set(ad->bt_popup, ELM_NOTIFY_ALIGN_FILL, 1.0);
+       evas_object_size_hint_weight_set(ad->bt_popup, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+
+       elm_object_domain_translatable_part_text_set(ad->bt_popup, "title,text", CALLUI_TEXT_DOMAIN, "IDS_CALL_HEADER_TURN_ON_BLUETOOTH_ABB");
+       elm_object_text_set(ad->bt_popup, _("IDS_CALL_POP_TO_SWITCH_TO_USING_YOUR_BLUETOOTH_DEVICE_BLUETOOTH_WILL_BE_TURNED_ON"));
+
+       btn_cancel = elm_button_add(ad->bt_popup);
+       elm_object_style_set(btn_cancel, "popup");
+       elm_object_text_set(btn_cancel, _("IDS_COM_SK_CANCEL"));
+       elm_object_part_content_set(ad->bt_popup, "button1", btn_cancel);
+       evas_object_smart_callback_add(btn_cancel, "clicked", __callui_bt_popup_cancel_btn_cb, ad);
+
+       btn_ok = elm_button_add(ad->bt_popup);
+       elm_object_style_set(btn_ok, "popup");
+       elm_object_text_set(btn_ok, _("IDS_COM_SK_OK"));
+       elm_object_part_content_set(ad->bt_popup, "button2", btn_ok);
+       evas_object_smart_callback_add(btn_ok, "clicked", __callui_bt_popup_ok_btn_cb, ad);
+
+       eext_object_event_callback_add(ad->bt_popup, EEXT_CALLBACK_BACK, __callui_bt_popup_cancel_btn_cb, ad);
+
+       evas_object_show(ad->bt_popup);
+       return;
+}
+
+void _callui_create_extravolume_notify_popup()
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       char *text = NULL;
+       cm_audio_state_type_e snd_path = CM_AUDIO_STATE_NONE_E;
+
+       cm_get_audio_state(ad->cm_handle, &snd_path);
+       dbg("sound path : %d", snd_path);
+       switch (snd_path) {
+       case CM_AUDIO_STATE_BT_E:
+               {
+                       text = _("IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_BLUETOOTH_HEADSET_CONNECTED");
+               }
+               break;
+       case CM_AUDIO_STATE_EARJACK_E:
+               {
+                       text = _("IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_CONNECTED");
+               }
+               break;
+       default:
+               text = _("IDS_CALL_POP_EXTRA_VOLUME_CANNOT_BE_TURNED_ON_WHILE_EARPHONES_OR_BLUETOOTH_HEADSET_CONNECTED");
+               break;
+       }
+       _callui_create_toast_message(text);
+
+}
+
+void _callui_create_toast_message(char *string)
+{
+       dbg("$$$$$$ Noti-String : %s", string);
+
+       if (string) {
+               notification_status_message_post(string);
+       }
+       return;
+}
diff --git a/src/callui-view-incoming-call.c b/src/callui-view-incoming-call.c
new file mode 100644 (file)
index 0000000..951eaa5
--- /dev/null
@@ -0,0 +1,687 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui-view-manager.h"
+#include "callui-view-circle.h"
+#include "callui-view-incoming-call.h"
+#include "callui-view-incoming-lock.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-view-elements.h"
+#include <vconf.h>
+#include "callui-common.h"
+
+#define REJ_MSG_GENLIST_DATA "reject_msg_genlist_data"
+#define REJ_MSG_LIST_OPEN_STATUS_KEY "list_open_status_key"
+#define VIEW_INCOMING_LOCK_LAYOUT_ID "INCOMINGLOCKVIEW"
+#define MAX_MSG_COUNT 6
+
+static Evas_Object *__callui_view_incoming_call_create_reject_msg_layout(void *data);
+static Eina_Bool __callui_view_incoming_lock_reject_msg_available(callui_app_data_t *ad, char *call_num);
+
+#define SCALE_SIZE(x, h) (((x) * (h)) / MAIN_SCREEN_BIG_H)
+
+static Evas_Object *__callui_view_incoming_call_create_contents(void *data, char *grpname)
+{
+       if (data == NULL) {
+               err("ERROR");
+               return NULL;
+       }
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Evas_Object *eo;
+
+       /* load edje */
+       eo = _callui_load_edj(ad->main_ly, EDJ_NAME, grpname);
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+static void __reject_msg_list_param_reset(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       priv->y_momentum = 0;
+       priv->reject_with_msg_start_y = 0;
+       priv->reject_with_msg_cur_y = 0;
+       priv->bmouse_down_pressed = EINA_FALSE;
+}
+
+static void __reject_screen_transit_complete_cb(void *data, Elm_Transit *transit)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       if (EINA_FALSE == evas_object_data_get(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY)) {
+               elm_object_tree_focus_allow_set(priv->msg_glist, EINA_FALSE);
+               elm_object_signal_emit(priv->lock_reject_with_msg, "show-up-arrow", "reject_msg");
+               evas_object_hide(priv->dimming_ly);
+       } else {
+               elm_object_tree_focus_allow_set(priv->msg_glist, EINA_TRUE);
+               elm_object_signal_emit(priv->lock_reject_with_msg, "show-down-arrow", "reject_msg");
+               evas_object_show(priv->dimming_ly);
+       }
+
+       __reject_msg_list_param_reset(vd);
+
+       return;
+}
+
+static Eina_Bool __rej_msg_show_sliding_effect(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       Evas_Object *screen_ly;
+       Elm_Transit *transit;
+       int xpos = 0;
+       int ypos = 0;
+       int width = 0;
+       int height = 0;
+       int transit_y = 0;
+       int max_height_limit = 0;
+
+       screen_ly = priv->lock_reject_with_msg;
+       transit = elm_transit_add();
+       elm_transit_object_add(transit, screen_ly);
+
+       evas_object_geometry_get(priv->lock_reject_with_msg, &xpos, &ypos, &width, &height);
+       dbg("reject_w_msg dimensions ---> x[%d] y[%d] w[%d] h[%d]", xpos, ypos, width, height);
+       dbg("priv->y_momentum: %d", priv->y_momentum);
+
+       /*Max height possible*/
+       max_height_limit = (priv->msg_list_height);
+       dbg("max_height_limit: %d", max_height_limit);
+
+       if (EINA_FALSE == evas_object_data_get(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY)) {
+               dbg("Close list... Check if opening is feasible");
+
+               if (priv->y_momentum) {
+                       dbg("Momentum...");
+
+                       if (priv->y_momentum < -500) {
+                               dbg("Huge Momentum... Move the layout");
+
+                               /*effect to pull up the window.*/
+                               transit_y = -(max_height_limit + ypos);
+
+                               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+                       } else {
+                               dbg("Small Momentum..");
+
+                               if (ypos != 0) {        /*Reject msg layout is displaced from its original position*/
+                                       if (-ypos < max_height_limit/2) {       /*Layout position is lesser than half of the height*/
+                                               dbg("Movement L.T. HALF the height..");
+
+                                               /*effect to pull down the window.*/
+                                               transit_y = -ypos;
+
+                                               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+                                       } else if (-ypos >= max_height_limit/2 && -ypos <= max_height_limit) {  /*Layout position is greater than half of the height*/
+                                               dbg("Movement G.T. HALF the height..");
+
+                                               /*effect to pull up the window.*/
+                                               transit_y = -(max_height_limit + ypos);
+
+                                               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+                                       }
+                               }
+                       }
+               } else {
+                       dbg("NO Momentum... Dont open");
+
+                       if (ypos != 0) {        /*Reject msg layout is displaced from its original position*/
+                               if (-ypos < max_height_limit/2) {       /*Layout position is lesser than half of the height*/
+                                       dbg("Movement L.T. HALF the height..");
+
+                                       /*effect to pull down the window.*/
+                                       transit_y = -ypos;
+
+                                       elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+                               } else if (-ypos >= max_height_limit/2 && -ypos <= max_height_limit) {  /*Layout position is greater than half of the height*/
+                                       dbg("Movement G.T. HALF the height..");
+
+                                       /*effect to pull up the window.*/
+                                       transit_y = -(max_height_limit + ypos);
+
+                                       elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+                               }
+                       }
+               }
+       } else {
+               dbg("Open list... Check if closing is feasible");
+
+               if (priv->y_momentum) {
+                       dbg("Momentum...");
+
+                       if (priv->y_momentum > 500) {
+                               dbg("Huge Momentum... Move the layout");
+
+                               /*effect to pull down the window.*/
+                               transit_y = -ypos;
+
+                               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+                       } else {
+                               dbg("Small Momentum..");
+
+                               if (ypos != 0) {        /*Reject msg layout is displaced from its original position*/
+                                       if (-ypos < (max_height_limit * 0.8)) { /*Layout position is lesser than 80% of the height*/
+                                               dbg("Movement L.T. 80 percent of the height..");
+
+                                               /*effect to pull down the window.*/
+                                               transit_y = -ypos;
+
+                                               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+                                       } else if (-ypos >= (max_height_limit * 0.8) && -ypos <= max_height_limit) {    /*Layout position is greater than half of the height*/
+                                               dbg("Movement G.T. 80 percent of the height..");
+
+                                               /*effect to pull up the window.*/
+                                               transit_y = -(max_height_limit + ypos);
+
+                                               elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+                                       }
+                               }
+                       }
+               } else {
+                       dbg("NO Momentum... Dont close");
+
+                       if (ypos != 0) {        /*Reject msg layout is displaced from its original position*/
+                               if (-ypos < (max_height_limit * 0.8)) { /*Layout position is lesser than 80% of the height*/
+                                       dbg("Movement L.T. 80 percent of the height..");
+
+                                       /*effect to pull down the window.*/
+                                       transit_y = -ypos;
+
+                                       elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+                               } else if (-ypos >= (max_height_limit * 0.8) && -ypos <= max_height_limit) {    /*Layout position is greater than half of the height*/
+                                       dbg("Movement G.T. 80 percent of the height..");
+
+                                       /*effect to pull up the window.*/
+                                       transit_y = -(max_height_limit + ypos);
+
+                                       elm_transit_effect_translation_add(transit, 0, 0, 0, transit_y);
+                                       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+                               }
+                       }
+               }
+       }
+
+       elm_transit_del_cb_set(transit, __reject_screen_transit_complete_cb, vd);
+
+       if (priv->y_momentum < 0)
+               priv->y_momentum = -priv->y_momentum;
+
+       if (priv->y_momentum < 1500) {
+               elm_transit_duration_set(transit, 0.5);
+       } else if (priv->y_momentum >= 1500 && priv->y_momentum < 3000) {
+               elm_transit_duration_set(transit, 0.4);
+       } else if (priv->y_momentum >= 3000 && priv->y_momentum < 4500) {
+               elm_transit_duration_set(transit, 0.3);
+       } else if (priv->y_momentum >= 4500) {
+               elm_transit_duration_set(transit, 0.2);
+       }
+       evas_object_show(screen_ly);    /*It must be called before elm_transit_go(). transit policy*/
+       elm_transit_objects_final_state_keep_set(transit, EINA_TRUE);   /*Keep the window position as end of effect.*/
+       elm_transit_go(transit);
+
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static void __callui_view_incoming_call_reject_with_msg_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       if (priv->bmouse_down_pressed) {
+               ecore_idle_enterer_before_add(__rej_msg_show_sliding_effect, vd);
+       } else {
+               dbg("mouse down was NOT pressed - DONT handle up event");
+       }
+}
+
+static void __callui_view_incoming_call_handle_reject_with_msg_event(void *data)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(data != NULL);
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       int max_height_limit = 0;
+
+       /*Max height possible*/
+       max_height_limit = priv->msg_list_height;
+       dbg("max_height_limit: %d", max_height_limit);
+
+       dbg("mouse down was pressed - handle move event");
+
+       if (EINA_FALSE == evas_object_data_get(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY)) {
+               evas_object_move(priv->lock_reject_with_msg, 0, -max_height_limit);
+               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+               __reject_screen_transit_complete_cb(vd, NULL);
+       } else {
+               /*Special case - Move the max distance - msg-list height*/
+               evas_object_move(priv->lock_reject_with_msg, 0, 0);
+               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+               __reject_screen_transit_complete_cb(vd, NULL);
+       }
+}
+
+static void __callui_view_incoming_call_reject_msg_focus_key_down(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       Evas_Event_Key_Down *ev = event_info;
+       if (!ev) return;
+       if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
+               return;
+
+       if ((!strcmp(ev->keyname, "Return")) ||
+               (!strcmp(ev->keyname, "KP_Enter"))) {
+               dbg("..");
+               __callui_view_incoming_call_handle_reject_with_msg_event(data);
+       }
+}
+
+static Evas_Event_Flags __reject_msg_flick_gesture_move_event_cb(void *data, void *event_info)
+{
+       dbg("Flick_Gesture Move");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       Elm_Gesture_Line_Info *info = (Elm_Gesture_Line_Info *)event_info;
+
+       dbg("*********************************************");
+       dbg("info->angle = %lf", info->angle);
+       dbg("info->momentum.mx = %d, info->momentum.my = %d", info->momentum.mx, info->momentum.my);
+       dbg("info->momentum.n = %d", info->momentum.n);
+       dbg("info->momentum.tx = %d, info->momentum.ty = %d", info->momentum.tx, info->momentum.ty);
+       dbg("info->momentum.x1 = %d, info->momentum.x2 = %d", info->momentum.x1, info->momentum.x2);
+       dbg("info->momentum.y1 = %d, info->momentum.y2 = %d", info->momentum.y1, info->momentum.y2);
+       dbg("*********************************************");
+
+       priv->y_momentum = info->momentum.my;
+
+       return EVAS_EVENT_FLAG_NONE;
+}
+
+static void __reject_msg_create_gesture_layer(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       Evas_Object *rej_msg_bg = NULL;
+
+       rej_msg_bg = _callui_edje_object_part_get(priv->lock_reject_with_msg, "reject_msg_bg");
+       if (priv->reject_msg_gl) {
+               evas_object_del(priv->reject_msg_gl);
+               priv->reject_msg_gl = NULL;
+       }
+
+       priv->reject_msg_gl = elm_gesture_layer_add(priv->lock_reject_with_msg);
+       if (FALSE == elm_gesture_layer_attach(priv->reject_msg_gl, rej_msg_bg)) {
+               dbg("elm_gesture_layer_attach failed !!");
+               evas_object_del(priv->reject_msg_gl);
+               priv->reject_msg_gl = NULL;
+       } else {
+               elm_gesture_layer_cb_set(priv->reject_msg_gl, ELM_GESTURE_N_FLICKS, ELM_GESTURE_STATE_MOVE, __reject_msg_flick_gesture_move_event_cb, vd);
+       }
+}
+
+static void __callui_view_incoming_call_reject_with_msg_mouse_down_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       Evas_Event_Mouse_Move *ev = event_info;
+
+       priv->reject_with_msg_start_y = ev->cur.canvas.y;
+       priv->bmouse_down_pressed = EINA_TRUE;
+}
+
+static void __callui_view_incoming_call_reject_with_msg_mouse_move_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       Evas_Event_Mouse_Move *ev = event_info;
+       int diff_y = 0;
+       int max_height_limit = 0;
+
+       /*Max height possible*/
+       max_height_limit = priv->msg_list_height;
+       dbg("max_height_limit: %d", max_height_limit);
+
+       if (!priv->bmouse_down_pressed) {
+               dbg("mouse down was NOT pressed - DONT handle move event");
+               return;
+       }
+       dbg("mouse down was pressed - handle move event");
+       priv->reject_with_msg_cur_y = ev->cur.canvas.y;
+
+       diff_y = priv->reject_with_msg_cur_y - priv->reject_with_msg_start_y;
+       dbg("diff_y [<<< %d >>>>]", diff_y);
+
+       if (EINA_FALSE == evas_object_data_get(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY)) {
+               elm_object_signal_emit(priv->lock_reject_with_msg, "show-down-arrow", "reject_msg");
+               if ((diff_y > -max_height_limit) && (diff_y <= 0)) {
+                       /*Lies between 0 and msg-list layout height*/
+                       evas_object_move(priv->lock_reject_with_msg, 0, diff_y);
+               } else if (diff_y <= -max_height_limit) {
+                       /*Special case - Move the max distance - msg-list height*/
+                       evas_object_move(priv->lock_reject_with_msg, 0, -max_height_limit);
+                       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_TRUE);
+                       __reject_screen_transit_complete_cb(vd, NULL);
+               }
+       } else {
+               if ((diff_y >= 0) && (diff_y < max_height_limit)) {
+                       /*Lies between 0 and msg-list layout height*/
+                       evas_object_move(priv->lock_reject_with_msg, 0, -(max_height_limit - diff_y));
+               } else if (diff_y >= max_height_limit) {
+                       /*Special case - Move the max distance - msg-list height*/
+                       evas_object_move(priv->lock_reject_with_msg, 0, 0);
+                       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, (const void *)EINA_FALSE);
+                       __reject_screen_transit_complete_cb(vd, NULL);
+               }
+       }
+}
+
+static void __reject_msg_list_height_update(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       int msg_cnt = 0;
+       if (0 != vconf_get_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, &msg_cnt)) {
+               warn("vconf_get_int failed.");
+       }
+       if (msg_cnt == 0)
+               msg_cnt = 1;
+
+       int win_h = 0;
+       ecore_x_window_size_get(ecore_x_window_root_first_get(), NULL, &win_h);
+       priv->msg_list_height = SCALE_SIZE((REJ_MSG_LIST_CREATE_MSG_BTN_H + ((ITEM_SIZE_H) * msg_cnt)), win_h);/* bottom btn height + (genlist item height * msg count) */
+       if (priv->msg_list_height > (SCALE_SIZE((MTLOCK_REJECT_MSG_LIST_HEIGHT + REJ_MSG_LIST_CREATE_MSG_BTN_H), win_h))) {
+               priv->msg_list_height = SCALE_SIZE((MTLOCK_REJECT_MSG_LIST_HEIGHT + REJ_MSG_LIST_CREATE_MSG_BTN_H), win_h);
+       }
+}
+
+static void __reject_msg_create_glist(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(vd);
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       CALLUI_RETURN_IF_FAIL(priv);
+       Elm_Object_Item *item = NULL;
+       int msg_cnt = 0;
+       int index = 0;
+
+       /* msg count from setting */
+       if (0 != vconf_get_int(VCONFKEY_CISSAPPL_REJECT_CALL_MSG_INT, &msg_cnt)) {
+               warn("vconf_get_int failed.");
+       }
+       dbg("msg_cnt: %d", msg_cnt);
+
+       /* create gen list */
+       if (priv->msg_glist) {
+               evas_object_del(priv->msg_glist);
+               priv->msg_glist = NULL;
+       }
+
+       priv->msg_glist = elm_genlist_add(priv->lock_reject_with_msg);
+       elm_genlist_homogeneous_set(priv->msg_glist, EINA_TRUE);
+       elm_genlist_mode_set(priv->msg_glist, ELM_LIST_COMPRESS);
+       elm_scroller_content_min_limit(priv->msg_glist, EINA_FALSE, EINA_TRUE);
+       CALLUI_RETURN_IF_FAIL(priv->msg_glist);
+       elm_genlist_realization_mode_set(priv->msg_glist, EINA_TRUE);
+
+       evas_object_data_set(priv->msg_glist, REJ_MSG_GENLIST_DATA, (const void *)vd);
+       evas_object_size_hint_weight_set(priv->msg_glist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(priv->msg_glist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+       elm_object_part_content_set(priv->lock_reject_with_msg, "swl_msglist", priv->msg_glist);
+
+       priv->itc_reject_msg = _callui_view_incoming_lock_create_item_class();
+
+       if (msg_cnt == 0) {
+               index = -1;
+               item = _callui_view_incoming_lock_append_genlist_item(priv->msg_glist, priv->itc_reject_msg, index);
+               if (item) {
+                       elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+               }
+       } else {
+               for (index = 0; index < msg_cnt; index++) {
+                       _callui_view_incoming_lock_append_genlist_item(priv->msg_glist, priv->itc_reject_msg, index);
+               }
+       }
+       elm_genlist_item_class_free(priv->itc_reject_msg);
+       priv->itc_reject_msg = NULL;
+
+       _callui_view_incoming_lock_create_reject_msg_button(priv->lock_reject_with_msg, "bottom_btn", data);
+
+       /*Adjust the list height*/
+       __reject_msg_list_height_update(vd);
+       if (msg_cnt < 2)
+               elm_object_signal_emit(priv->lock_reject_with_msg, "set_1item_list", "");
+       else if (msg_cnt <= MAX_MSG_COUNT) {
+               char signal[16] = {0,};
+               snprintf(signal, 16, "set_%ditems_list", msg_cnt);
+               elm_object_signal_emit(priv->lock_reject_with_msg, signal, "");
+       }
+       elm_object_tree_focus_allow_set(priv->msg_glist, EINA_FALSE);
+}
+
+void _callui_view_incoming_call_draw_screen(callui_app_data_t *ad, call_view_data_t *vd)
+{
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       Evas_Object *eo = priv->contents;
+       char *file_path = NULL;
+       call_data_t *call_data = NULL;
+
+       call_data = ad->incom;
+       if (call_data == NULL) {
+               err("call data is null");
+               return;
+       }
+
+       file_path = call_data->call_ct_info.caller_id_path;
+
+       sec_dbg("file_path: %s", file_path);
+       if (strcmp(file_path, "default") != 0) {
+               _callui_show_caller_id(priv->caller_info, file_path, FALSE);
+       }
+
+       char *call_name = call_data->call_ct_info.call_disp_name;
+       char *call_number = NULL;
+       if (call_data->call_disp_num[0] != '\0') {
+               call_number = call_data->call_disp_num;
+       } else {
+               call_number = call_data->call_num;
+       }
+       if (strlen(call_name) == 0) {
+               _callui_show_caller_info_name(ad, call_number, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "1line", "caller_name");
+       } else {
+               _callui_show_caller_info_name(ad, call_name, EINA_FALSE);
+               _callui_show_caller_info_number(ad, call_number, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "2line", "caller_name");
+       }
+
+       _callui_show_caller_info_status(ad, _("IDS_CALL_BODY_INCOMING_CALL"), EINA_FALSE);
+
+       _callui_view_circle_create_accept_layout(ad, vd);
+       _callui_view_circle_create_reject_layout(ad, vd);
+
+       priv->dimming_ly = __callui_view_incoming_call_create_contents(ad, "dimming_ly");
+       evas_object_resize(priv->dimming_ly, ad->root_w, ad->root_h);
+       evas_object_move(priv->dimming_ly, 0, 0);
+
+       if (__callui_view_incoming_lock_reject_msg_available(ad, call_number)) {
+               __callui_view_incoming_call_create_reject_msg_layout(vd);
+       }
+
+       evas_object_show(eo);
+}
+
+static Eina_Bool __callui_view_incoming_lock_reject_msg_available(callui_app_data_t *ad, char *call_num)
+{
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, EINA_FALSE);
+       CALLUI_RETURN_VALUE_IF_FAIL(call_num, EINA_FALSE);
+
+       if (strlen(call_num) <= 0) {
+               info("Invalid number");
+               return EINA_FALSE;
+       }
+/*     else if (ad->b_msg_restricted) {
+               CALL_UI_DEBUG(VC_LOG_WARN, "MDM");
+               return EINA_FALSE;
+       }
+*/
+       return EINA_TRUE;
+}
+
+static void __callui_view_incoming_lock_reject_msg_close(void *data)
+{
+       CALLUI_RETURN_IF_FAIL(data != NULL);
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       if (EINA_FALSE != evas_object_data_get(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY)) {
+               evas_object_move(priv->lock_reject_with_msg, 0, 0);
+               elm_object_signal_emit(priv->lock_reject_with_msg, "show-up-arrow-landscape", "reject_msg");
+               evas_object_hide(priv->dimming_ly);
+               evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, EINA_FALSE);
+       }
+}
+
+static void __callui_view_incoming_call_hw_mouse_up_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       Evas_Event_Mouse_Up *ev = event_info;
+       if (ev->button == 3) {
+               /* Handle mouse right button event */
+               __callui_view_incoming_lock_reject_msg_close(data);
+       }
+}
+
+void _callui_view_incoming_call_ondestroy(void *data)
+{
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)data;
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (priv->lock_reject_with_msg) {
+               evas_object_event_callback_del(priv->lock_reject_with_msg, EVAS_CALLBACK_MOUSE_UP,
+                               __callui_view_incoming_call_hw_mouse_up_cb);
+               evas_object_event_callback_del(ad->win_conformant, EVAS_CALLBACK_MOUSE_UP,
+                               __callui_view_incoming_call_hw_mouse_up_cb);
+
+               evas_object_del(priv->lock_reject_with_msg);
+               priv->lock_reject_with_msg = NULL;
+               evas_object_del(priv->dimming_ly);
+               priv->dimming_ly = NULL;
+       }
+}
+
+static Evas_Object *__callui_view_incoming_call_create_reject_msg_layout(void *data)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+       Evas_Object *rej_msg_bg = NULL;
+       Evas_Object *focus = NULL;
+
+       if (priv->lock_reject_with_msg != NULL) {
+               evas_object_event_callback_del(priv->lock_reject_with_msg,
+                               EVAS_CALLBACK_MOUSE_UP, __callui_view_incoming_call_hw_mouse_up_cb);
+               evas_object_event_callback_del(ad->win_conformant,
+                               EVAS_CALLBACK_MOUSE_UP, __callui_view_incoming_call_hw_mouse_up_cb);
+
+               evas_object_del(priv->lock_reject_with_msg);
+               priv->lock_reject_with_msg = NULL;
+       }
+       priv->lock_reject_with_msg = _callui_load_edj(ad->win, EDJ_NAME, GRP_LOCK_REJECT_WITH_MSG);
+
+       focus = _callui_view_create_focus_layout(priv->lock_reject_with_msg);
+
+       elm_object_part_content_set(priv->lock_reject_with_msg, "reject_msg_focus", focus);
+       evas_object_event_callback_add(focus, EVAS_CALLBACK_KEY_DOWN,
+                       __callui_view_incoming_call_reject_msg_focus_key_down, vd);
+
+       evas_object_resize(priv->lock_reject_with_msg, ad->root_w, ad->root_h);
+
+       __reject_msg_create_gesture_layer(vd);
+
+       rej_msg_bg = _callui_edje_object_part_get(priv->lock_reject_with_msg, "reject_msg_bg");
+       evas_object_event_callback_add(rej_msg_bg, EVAS_CALLBACK_MOUSE_DOWN, __callui_view_incoming_call_reject_with_msg_mouse_down_cb, vd);
+       evas_object_event_callback_add(rej_msg_bg, EVAS_CALLBACK_MOUSE_MOVE, __callui_view_incoming_call_reject_with_msg_mouse_move_cb, vd);
+       evas_object_event_callback_add(rej_msg_bg, EVAS_CALLBACK_MOUSE_UP, __callui_view_incoming_call_reject_with_msg_mouse_up_cb, vd);
+
+       elm_object_part_text_set(priv->lock_reject_with_msg, "reject_msg_text", _("IDS_VCALL_BUTTON2_REJECT_CALL_WITH_MESSAGE"));
+
+       elm_object_signal_emit(priv->lock_reject_with_msg, "show-up-arrow", "reject_msg");
+       evas_object_data_set(priv->lock_reject_with_msg, REJ_MSG_LIST_OPEN_STATUS_KEY, EINA_FALSE);
+       evas_object_hide(priv->dimming_ly);
+
+       __reject_msg_list_param_reset(vd);
+
+       evas_object_event_callback_add(ad->win_conformant, EVAS_CALLBACK_MOUSE_UP, __callui_view_incoming_call_hw_mouse_up_cb, vd);
+       evas_object_event_callback_add(priv->lock_reject_with_msg, EVAS_CALLBACK_MOUSE_UP, __callui_view_incoming_call_hw_mouse_up_cb, vd);
+
+       evas_object_show(priv->lock_reject_with_msg);
+       _callui_view_incoming_lock_reject_msg_create_call_setting_handle(vd);
+       __reject_msg_create_glist(vd);
+       return priv->lock_reject_with_msg;
+}
+
+int _callui_view_incoming_call_oncreate(call_view_data_t *view_data, void *appdata)
+{
+       dbg("mt-lock view create!!");
+
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       dbg(" active %d", ad->active);
+       dbg(" incoming %d", ad->incom);
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *) view_data->priv;
+
+       evas_object_resize(ad->win, ad->root_w, ad->root_h);
+       evas_object_pointer_mode_set(ad->win, EVAS_OBJECT_POINTER_MODE_NOGRAB);
+       if (ad->main_ly) {
+               priv->contents = __callui_view_incoming_call_create_contents(ad, GRP_MAIN_LY);
+               elm_object_part_content_set(ad->main_ly, "elm.swallow.content",  priv->contents);
+
+               priv->caller_info = elm_object_part_content_get(priv->contents, "caller_info");
+               if (!priv->caller_info) {
+                       priv->caller_info = __callui_view_incoming_call_create_contents(ad, GRP_CALLER_INFO);
+                       elm_object_part_content_set(priv->contents, "caller_info", priv->caller_info);
+               }
+               elm_object_signal_emit(priv->contents, "mt_circle_bg_show", "mt_view");
+               _callui_destroy_end_call_button(priv->contents);
+               evas_object_name_set(priv->caller_info, VIEW_INCOMING_LOCK_LAYOUT_ID);
+       }
+       if (ad->lock_screen_handle != NULL && _callui_lock_screen_is_lockscreen_shown() == TRUE) {
+               _callui_lock_screen_hide_layout(ad->lock_screen_handle);
+       }
+
+       return 0;
+}
diff --git a/src/callui-view-incoming-lock.c b/src/callui-view-incoming-lock.c
new file mode 100755 (executable)
index 0000000..00ffbac
--- /dev/null
@@ -0,0 +1,496 @@
+/*
+ * 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.
+ *
+ */
+
+#include <utilX.h>
+#include <msg.h>
+#include <msg_transport.h>
+#include <dlfcn.h>
+#include <vconf.h>
+#include "callui.h"
+
+#include "notification.h"
+#include <Elementary.h>
+#include "callui.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-view-elements.h"
+#include "callui-view-active-incoming-call.h"
+#include "callui-view-incoming-call.h"
+#include "callui-view-incoming-lock.h"
+#include "callui-common.h"
+#define REJ_MSG_LIST_OPEN_STATUS_KEY "list_open_status_key"
+#define CALLUI_CST_SO_PATH     "/usr/apps/setting-call-efl/lib/ug/libsetting-call-efl.so"
+#define CALLUI_CST_REJECT_MSG_GET      "cst_reject_msg_get"
+#define REJ_MSG_GENLIST_DATA "reject_msg_genlist_data"
+
+static int __callui_view_incoming_lock_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *appdata);
+static int __callui_view_incoming_lock_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_incoming_lock_onhide(call_view_data_t *view_data);
+static int __callui_view_incoming_lock_onshow(call_view_data_t *view_data, void *appdata);
+static int __callui_view_incoming_lock_ondestroy(call_view_data_t *view_data);
+static int __callui_view_incoming_lock_onrotate(call_view_data_t *view_data);
+
+call_view_data_t *_callui_view_incoming_lock_new(callui_app_data_t *ad)
+{
+       dbg("_callui_view_incoming_lock_new");
+       static call_view_data_t incoming_lock_view = {
+               .type = VIEW_INCOMING_LOCK_VIEW,
+               .layout = NULL,
+               .onCreate = __callui_view_incoming_lock_oncreate,
+               .onUpdate = __callui_view_incoming_lock_onupdate,
+               .onHide = __callui_view_incoming_lock_onhide,
+               .onShow = __callui_view_incoming_lock_onshow,
+               .onDestroy = __callui_view_incoming_lock_ondestroy,
+               .onRotate = __callui_view_incoming_lock_onrotate,
+               .priv = NULL,
+       };
+       incoming_lock_view.priv = calloc(1, sizeof(incoming_lock_view_priv_t));
+
+       if (!incoming_lock_view.priv) {
+               err("ERROR!!!!!!!!!!!");
+       }
+
+       return &incoming_lock_view;
+}
+
+void _callui_view_incoming_lock_reject_msg_create_call_setting_handle(void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       char *error = NULL;
+
+       priv->dl_handle = dlopen(CALLUI_CST_SO_PATH, RTLD_LAZY);
+       if (priv->dl_handle) {
+               priv->msg_func_ptr = dlsym(priv->dl_handle, CALLUI_CST_REJECT_MSG_GET);
+               if ((error = dlerror()) != NULL) {
+                       dbg("dlsym failed!!! error = %s", error);
+                       priv->msg_func_ptr = NULL;
+                       dlclose(priv->dl_handle);
+                       priv->dl_handle = NULL;
+               }
+       } else {
+               dbg("failed to open libug-setting-call-efl.so");
+       }
+}
+
+static void __send_reject_msg_status_cb(msg_handle_t Handle, msg_struct_t pStatus, void *pUserParam)
+{
+       CALLUI_RETURN_IF_FAIL(pStatus != NULL);
+       int status = MSG_NETWORK_SEND_FAIL;
+
+       msg_get_int_value(pStatus, MSG_SENT_STATUS_NETWORK_STATUS_INT, &status);
+       dbg("status:[%d]", status);
+}
+
+void _callui_view_incoming_lock_view_send_reject_msg(void *data, call_data_t *call_data)
+{
+       CALLUI_RETURN_IF_FAIL(data != NULL);
+       CALLUI_RETURN_IF_FAIL(call_data != NULL);
+       dbg("..");
+       call_view_data_t *vd = data;
+       callui_app_data_t *ad = _callui_get_app_data();
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+       int slot_id;
+
+       msg_error_t err = MSG_SUCCESS;
+       msg_handle_t msgHandle = NULL;
+
+       if (strlen(priv->reject_msg) == 0) {
+               warn("Is not reject with message case");
+               return;
+       }
+
+       err = msg_open_msg_handle(&msgHandle);
+       if (err != MSG_SUCCESS) {
+               dbg("msg_open_msg_handle()- failed [%d]", err);
+               return;
+       }
+
+       err = msg_reg_sent_status_callback(msgHandle, &__send_reject_msg_status_cb, NULL);
+       if (err != MSG_SUCCESS) {
+               dbg("msg_reg_sent_status_callback()- failed [%d]", err);
+               msg_close_msg_handle(&msgHandle);
+               return;
+       }
+       msg_struct_t msgInfo = msg_create_struct(MSG_STRUCT_MESSAGE_INFO);
+       msg_struct_t sendOpt = msg_create_struct(MSG_STRUCT_SENDOPT);
+       msg_struct_t pReq = msg_create_struct(MSG_STRUCT_REQUEST_INFO);
+
+       /* Set message type to SMS reject*/
+       msg_set_int_value(msgInfo, MSG_MESSAGE_TYPE_INT, MSG_TYPE_SMS_REJECT);
+
+       slot_id = ad->sim_slot;
+       dbg("msg_sms_send_message() Sim slot [%d]", slot_id);
+       if (slot_id != -1) {
+               slot_id++;
+               msg_set_int_value(msgInfo, MSG_MESSAGE_SIM_INDEX_INT, slot_id);
+       }
+
+       /* No setting send option */
+       msg_set_bool_value(sendOpt, MSG_SEND_OPT_SETTING_BOOL, FALSE);
+
+       /* Set message body */
+       if (msg_set_str_value(msgInfo, MSG_MESSAGE_SMS_DATA_STR, priv->reject_msg, strlen(priv->reject_msg)) != MSG_SUCCESS) {
+               err("msg_set_str_value() - failed");
+       } else {
+               /* Create address list*/
+               msg_struct_list_s *addr_list;
+               msg_get_list_handle(msgInfo, MSG_MESSAGE_ADDR_LIST_STRUCT, (void **)&addr_list);
+               msg_struct_t addr_info = addr_list->msg_struct_info[0];
+               char *call_number = call_data->call_num;
+
+               /* Set message address */
+               msg_set_int_value(addr_info, MSG_ADDRESS_INFO_RECIPIENT_TYPE_INT, MSG_RECIPIENTS_TYPE_TO);
+               msg_set_str_value(addr_info, MSG_ADDRESS_INFO_ADDRESS_VALUE_STR, call_number, strlen(call_number));
+               addr_list->nCount = 1;
+
+               /* Set message struct to Request*/
+               msg_set_struct_handle(pReq, MSG_REQUEST_MESSAGE_HND, msgInfo);
+               msg_set_struct_handle(pReq, MSG_REQUEST_SENDOPT_HND, sendOpt);
+
+               /* Send message */
+               err = msg_sms_send_message(msgHandle, pReq);
+               if (err != MSG_SUCCESS) {
+                       err("msg_sms_send_message() - failed [%d]", err);
+               } else {
+                       dbg("Sending...");
+               }
+       }
+       msg_close_msg_handle(&msgHandle);
+       msg_release_struct(&pReq);
+       msg_release_struct(&msgInfo);
+       msg_release_struct(&sendOpt);
+
+       return;
+}
+
+static int __callui_view_incoming_lock_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *appdata)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       if (_callui_common_get_idle_lock_type() == LOCK_TYPE_UNLOCK && ad->held == NULL
+                       && ad->active == NULL && ad->incom != NULL && ad->active_incoming == false) {
+               _callui_view_active_incoming_call_oncreate(view_data, appdata);
+       } else {
+               _callui_view_incoming_call_oncreate(view_data, appdata);
+       }
+       __callui_view_incoming_lock_onshow(view_data, ad);
+
+       return 0;
+}
+
+static int __callui_view_incoming_lock_onupdate(call_view_data_t *view_data, void *update_data1)
+{
+       dbg("mt-lock view update!!");
+       callui_app_data_t *ad = _callui_get_app_data();
+       __callui_view_incoming_lock_onshow(view_data, ad);
+       return 0;
+}
+
+static int __callui_view_incoming_lock_onhide(call_view_data_t *view_data)
+{
+       dbg("mt-lock view hide!!");
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       evas_object_hide(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_incoming_lock_onshow(call_view_data_t *view_data, void *appdata)
+{
+       dbg("mt-lock view show!!");
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+       int result = 0;
+       if (_callui_common_get_idle_lock_type() == LOCK_TYPE_UNLOCK && ad->active == NULL
+                       && ad->held == NULL && ad->incom != NULL && ad->active_incoming == false) {
+               /* create active incoming call */
+               _callui_view_active_incoming_call_draw_screen(ad, view_data);
+               Ecore_X_Window xwin = elm_win_xwindow_get(ad->win);
+               utilx_set_system_notification_level(ecore_x_display_get(), xwin, UTILX_NOTIFICATION_LEVEL_HIGH);
+       } else {
+               /* create incoming call */
+               evas_object_move(ad->win, 0, 0);
+               _callui_view_incoming_call_draw_screen(ad, view_data);
+               _callui_common_win_set_noti_type(ad, EINA_TRUE);
+       }
+
+       ad->active_incoming = true;
+       evas_object_show(ad->main_ly);
+       result = utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_SELECT, TOP_POSITION_GRAB);
+       if (result) {
+               dbg("KEY_SELECT key grab failed");
+       }
+
+       return 0;
+}
+
+static char *__reject_list_get_msg_by_index(void *data, int index, Eina_Bool b_parsing)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       char *ret_str = NULL;
+
+       if (priv->msg_func_ptr) {
+               ret_str = (char *) priv->msg_func_ptr(index, b_parsing);  /* i : reject msg index(0 ~ 4)*/
+               sec_dbg("b_parsing(%d),ret_str(%s)", b_parsing, ret_str);
+       }
+
+       return ret_str;
+}
+
+static char *__callui_view_incoming_lock_reject_msg_gl_label_get_msg(void *data, Evas_Object *obj, const char *part)
+{
+       CALLUI_RETURN_NULL_IF_FAIL(part);
+       call_view_data_t *vd = (call_view_data_t *)evas_object_data_get(obj, REJ_MSG_GENLIST_DATA);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, NULL);
+
+       int index = (int)data;
+       char *msg_str = NULL;
+
+       if (!strcmp(part, "elm.text")) {
+               if (index != -1) {
+                       msg_str = __reject_list_get_msg_by_index(vd, index, EINA_TRUE);
+                       sec_dbg("msg_str(%s)", msg_str);
+                       return msg_str; /*Send markup text to draw the genlist */
+               } else {
+                       warn("invalid index: %d", index);
+                       msg_str = _("IDS_CALL_BODY_NO_MESSAGES");
+                       return strdup(msg_str);
+               }
+       }
+       return NULL;
+}
+
+static void __reject_msg_gl_sel_msg(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       int index = (int)data;
+       int ret = -1;
+       dbg("index: %d", index);
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+
+       if (index != -1) {
+               char *reject_msg = NULL;
+               char *ret_str = NULL;
+               call_view_data_t *vd = (call_view_data_t *)evas_object_data_get(obj, REJ_MSG_GENLIST_DATA);
+               CALLUI_RETURN_IF_FAIL(vd);
+               incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+               CALLUI_RETURN_IF_FAIL(priv);
+
+               ret_str =  __reject_list_get_msg_by_index(vd, index, EINA_TRUE);
+               if (ret_str) {
+                       reject_msg = elm_entry_markup_to_utf8(ret_str); /*send utf8 text to MSG */
+                       if (reject_msg != NULL) {
+                               snprintf(priv->reject_msg, sizeof(priv->reject_msg), "%s", reject_msg);
+                               sec_dbg("priv->reject_msg(%s)", priv->reject_msg);
+                               free(reject_msg);
+                       }
+                       free(ret_str);
+               }
+
+               ret = cm_reject_call(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_reject_call() is failed");
+               } else {
+                       _callui_view_incoming_lock_view_send_reject_msg(vd, ad->incom);
+               }
+       }
+
+       return;
+}
+
+Elm_Object_Item *_callui_view_incoming_lock_append_genlist_item(Evas_Object *msg_glist, Elm_Genlist_Item_Class * itc_reject_msg, int index)
+{
+       Elm_Object_Item *item = NULL;
+       item = elm_genlist_item_append(msg_glist, itc_reject_msg, (void *)index, NULL, ELM_GENLIST_ITEM_NONE, __reject_msg_gl_sel_msg, (void *)index);
+       return item;
+}
+
+Elm_Genlist_Item_Class *_callui_view_incoming_lock_create_item_class()
+{
+       Elm_Genlist_Item_Class *item_class = elm_genlist_item_class_new();
+       CALLUI_RETURN_VALUE_IF_FAIL(item_class, NULL);
+
+       item_class->item_style = "type1";
+       item_class->func.text_get = __callui_view_incoming_lock_reject_msg_gl_label_get_msg;
+       item_class->func.content_get = NULL;
+       item_class->func.state_get = NULL;
+       item_class->func.del = NULL;
+       return item_class;
+}
+
+static void __callui_view_incoming_lock_create_new_msg_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       CALLUI_RETURN_IF_FAIL(data != NULL);
+       callui_app_data_t *ad = _callui_get_app_data();
+       char *tel_number = NULL;
+       int ret = -1;
+       call_data_t *call_data = NULL;
+
+       call_data = ad->incom;
+       if (call_data != NULL) {
+               tel_number = call_data->call_num;
+               _callui_common_launch_msg_composer(ad, tel_number);
+               ret = cm_reject_call(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_reject_call() is failed");
+               }
+       }
+}
+
+void _callui_view_incoming_lock_create_reject_msg_button(Evas_Object *parent, char *part, void *data)
+{
+       Evas_Object *msg_button = elm_button_add(parent);
+       CALLUI_RETURN_IF_FAIL(msg_button);
+       elm_object_style_set(msg_button, "default");
+       elm_object_text_set(msg_button,  _("IDS_CALL_BUTTON_COMPOSE_MESSAGE_TO_SEND_ABB"));
+       evas_object_smart_callback_add(msg_button, "clicked",  __callui_view_incoming_lock_create_new_msg_cb, data);
+       elm_object_part_content_set(parent, part,  msg_button);
+       evas_object_show(msg_button);
+}
+
+static int __callui_view_incoming_lock_ondestroy(call_view_data_t *vd)
+{
+       dbg("mt-lock view destroy!!");
+       callui_app_data_t *ad = _callui_get_app_data();
+       incoming_lock_view_priv_t *priv = (incoming_lock_view_priv_t *)vd->priv;
+
+       /* Set LCD timeout for call state */
+       /* LCD is alwasy on during incoming call screen */
+       if (ad->speaker_status == EINA_TRUE) {
+               _callui_common_dvc_set_lcd_timeout(LCD_TIMEOUT_SET);
+       }
+
+       if (priv != NULL) {
+               if (priv->lock_accept) {
+                       evas_object_del(priv->lock_accept);
+                       priv->lock_accept = NULL;
+               }
+               if (priv->lock_reject) {
+                       evas_object_del(priv->lock_reject);
+                       priv->lock_reject = NULL;
+               }
+
+               if (ad->second_call_popup) {
+                       evas_object_del(ad->second_call_popup);
+                       ad->second_call_popup = NULL;
+               }
+
+               if (priv->itc_reject_msg) {
+                       priv->itc_reject_msg->func.text_get = NULL;
+                       priv->itc_reject_msg->func.content_get = NULL;
+                       priv->itc_reject_msg->func.state_get = NULL;
+                       priv->itc_reject_msg->func.del = NULL;
+                       elm_genlist_item_class_free(priv->itc_reject_msg);
+                       priv->itc_reject_msg = NULL;
+               }
+
+               if (priv->msg_glist) {
+                       elm_genlist_clear(priv->msg_glist);
+                       evas_object_del(priv->msg_glist);
+                       priv->msg_glist = NULL;
+               }
+
+               if (priv->reject_msg_gl) {
+                       evas_object_del(priv->reject_msg_gl);
+                       priv->reject_msg_gl = NULL;
+               }
+
+               _callui_view_incoming_call_ondestroy(priv);
+
+               elm_object_signal_emit(priv->contents, "mt_circle_bg_hide", "mt_view");
+               _callui_common_reset_main_ly_text_fields(priv->contents);
+
+               if (ad->main_ly) {
+                       priv->contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+                       if (priv->contents) {
+                               evas_object_del(priv->contents);
+                               priv->contents = NULL;
+                       }
+               }
+
+               if (priv->dimming_ly) {
+                       evas_object_del(priv->dimming_ly);
+                       priv->dimming_ly = NULL;
+               }
+
+               if (ad->win) {
+                       evas_object_move(ad->win, 0, 0);
+                       evas_object_resize(ad->win, ad->root_w, ad->root_h);
+               }
+
+               free(priv);
+               priv = NULL;
+       }
+       utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_SELECT);
+
+       return 0;
+}
+
+static int __callui_view_incoming_lock_onrotate(call_view_data_t *view_data)
+{
+       dbg("*** Incoming view Rotate ***");
+
+       return 0;
+}
+
+Evas_Object *_callui_view_incoming_lock_get_accept_layout(call_view_data_t *vd)
+{
+       incoming_lock_view_priv_t *priv = NULL;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, NULL);
+       priv = (incoming_lock_view_priv_t *) vd->priv;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(priv, NULL);
+       return priv->lock_accept;
+}
+
+void _callui_view_incoming_lock_set_accept_layout(call_view_data_t *vd, Evas_Object *layout)
+{
+       incoming_lock_view_priv_t *priv = NULL;
+
+       CALLUI_RETURN_IF_FAIL(vd);
+       priv = (incoming_lock_view_priv_t *) vd->priv;
+
+       CALLUI_RETURN_IF_FAIL(priv);
+       priv->lock_accept = layout;
+}
+
+Evas_Object *_callui_view_incoming_lock_get_reject_layout(call_view_data_t *vd)
+{
+       incoming_lock_view_priv_t *priv = NULL;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, NULL);
+       priv = (incoming_lock_view_priv_t *) vd->priv;
+
+       CALLUI_RETURN_VALUE_IF_FAIL(priv, NULL);
+       return priv->lock_reject;
+}
+
+void _callui_view_incoming_lock_set_reject_layout(call_view_data_t *vd, Evas_Object *layout)
+{
+       incoming_lock_view_priv_t *priv = NULL;
+
+       CALLUI_RETURN_IF_FAIL(vd);
+       priv = (incoming_lock_view_priv_t *) vd->priv;
+
+       CALLUI_RETURN_IF_FAIL(priv);
+       priv->lock_reject = layout;
+}
diff --git a/src/callui-view-lock-screen.c b/src/callui-view-lock-screen.c
new file mode 100755 (executable)
index 0000000..11d40d0
--- /dev/null
@@ -0,0 +1,259 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui.h"
+#include "callui-view-lock-screen.h"
+#include "callui-view-dialing.h"
+#include "callui-view-single-call.h"
+#include "callui-view-multi-call-conf.h"
+#include "callui-view-multi-call-split.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-keypad.h"
+#include "callui-view-manager.h"
+#include "callui-view-elements.h"
+#include "callui-common.h"
+
+void _callui_lock_screen_show_layout(lock_screen_data_t *lock_screen_priv)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(lock_screen_priv);
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (ad->speaker_status == EINA_TRUE) {
+               dbg("Speaker ON. Do not display lockscreen.");
+               return;
+       }
+       if (EINA_TRUE == _callui_keypad_get_show_status()) {
+               dbg("Keypad is ON. Do not display lockscreen.");
+               return;
+       }
+
+       evas_object_raise(lock_screen_priv->layout);
+       evas_object_show(lock_screen_priv->layout);
+
+       if (_callvm_get_top_view_id(ad->view_manager_handle) != VIEW_DIALLING_VIEW) {
+               dbg("lcd show");
+               _callui_common_dvc_set_lcd_timeout(LCD_TIMEOUT_LOCKSCREEN_SET);
+       }
+
+       lock_screen_priv->is_locked = true;
+       _callui_common_set_quickpanel_scrollable(EINA_FALSE);
+       return;
+}
+
+void _callui_lock_screen_hide_layout(lock_screen_data_t *lock_screen_priv)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(lock_screen_priv);
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       evas_object_hide(lock_screen_priv->layout);
+       lock_screen_priv->is_locked = false;
+       if (_callvm_get_top_view_id(ad->view_manager_handle) != VIEW_DIALLING_VIEW) {
+               dbg("lcd hide");
+               _callui_common_dvc_set_lcd_timeout(LCD_TIMEOUT_SET);
+       }
+
+       if (_callui_common_get_idle_lock_type() != LOCK_TYPE_UNLOCK) {
+               _callui_common_set_quickpanel_scrollable(EINA_FALSE);
+       } else {
+               _callui_common_set_quickpanel_scrollable(EINA_TRUE);
+       }
+       return;
+}
+
+static Evas_Object *__callui_lock_screen_create_contents(Evas_Object *parent, char *grpname)
+{
+       Evas_Object *eo = NULL;
+
+       /* load edje */
+       eo = _callui_load_edj(parent, EDJ_NAME, grpname);
+       if (eo == NULL)
+               return NULL;
+       return eo;
+}
+
+static Eina_Bool __lock_timeout_cb(void *data)
+{
+       dbg("__lock_timeout_cb");
+       lock_screen_data_t *priv = (lock_screen_data_t *)data;
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       priv->no_lock_timer = NULL;
+
+       if (_callvm_get_top_view_id(ad->view_manager_handle) >= VIEW_INCALL_MULTICALL_LIST_VIEW) {
+               return ECORE_CALLBACK_CANCEL;
+       }
+
+       if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCOMING_LOCK_VIEW) {
+               return ECORE_CALLBACK_RENEW;
+       }
+
+       _callui_lock_screen_show_layout(priv);
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static void __callui_lock_screen_icon_double_clicked_cb(void *data, Evas_Object *o, const char *emission, const char *source)
+{
+       dbg("__callui_lock_screen_icon_double_clicked_cb");
+       lock_screen_data_t *priv = (lock_screen_data_t *)data;
+
+       _callui_lock_screen_hide_layout(priv);
+       priv->no_lock_timer = ecore_timer_add(3.0, __lock_timeout_cb, priv);
+       return;
+}
+
+static void __callui_lock_screen_user_action_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       dbg("__callui_lock_screen_user_action_cb");
+       lock_screen_data_t *priv = (lock_screen_data_t *)data;
+       if (priv->no_lock_timer) {
+               ecore_timer_del(priv->no_lock_timer);
+               priv->no_lock_timer = NULL;
+               priv->no_lock_timer = ecore_timer_add(3.0, __lock_timeout_cb, priv);
+       }
+       return;
+}
+
+lock_screen_data_t *_callui_lock_screen_create_layout(call_view_data_t *view_data)
+{
+       dbg("lock screen create!!");
+       CALLUI_RETURN_NULL_IF_FAIL(view_data);
+       callui_app_data_t *ad = _callui_get_app_data();
+       lock_screen_data_t *priv = NULL;
+       Evas_Object *layout = NULL;
+       Evas_Object *hit_rect = NULL;
+
+       priv = calloc(1, sizeof(lock_screen_data_t));
+       CALLUI_RETURN_NULL_IF_FAIL(priv);
+
+       /* Make Hit rectangle to refresh lock timer */
+       hit_rect = evas_object_rectangle_add(ad->evas);
+       evas_object_color_set(hit_rect, 0, 0, 0, 0);
+       evas_object_resize(hit_rect, ad->root_w, ad->root_h);
+       evas_object_move(hit_rect, 0, 0);
+       evas_object_repeat_events_set(hit_rect, EINA_TRUE);
+       evas_object_propagate_events_set(hit_rect, EINA_FALSE);
+       evas_object_event_callback_add(hit_rect, EVAS_CALLBACK_MOUSE_DOWN, __callui_lock_screen_user_action_cb, priv);
+       evas_object_show(hit_rect);
+       priv->hit_rect = hit_rect;
+
+       layout = __callui_lock_screen_create_contents(ad->main_ly, "lock-screen");
+       if (NULL == layout) {
+               warn("layout NULL!!!");
+       }
+
+       evas_object_resize(layout, ad->root_w, ad->root_h);
+       evas_object_move(layout, 0, 0);
+       elm_object_domain_translatable_part_text_set(layout, "lock-text", CALLUI_TEXT_DOMAIN, "IDS_CALL_NPBODY_DOUBLE_TAP_THE_LOCK_ICON_TO_UNLOCK_YOUR_DEVICE");
+
+       edje_object_signal_callback_add(_EDJ(layout), "mouse,down,1,double", "lock-icon", __callui_lock_screen_icon_double_clicked_cb, priv);
+
+       priv->layout = layout;
+
+       _callui_lock_screen_show_layout(priv);
+
+       return priv;
+}
+
+void _callui_lock_screen_start_timer()
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       lock_screen_data_t *lock_screen_priv = ad->lock_screen_handle;
+       CALLUI_RETURN_IF_FAIL(lock_screen_priv);
+
+       if (lock_screen_priv->no_lock_timer) {
+               ecore_timer_del(lock_screen_priv->no_lock_timer);
+               lock_screen_priv->no_lock_timer = NULL;
+       }
+
+       lock_screen_priv->no_lock_timer = ecore_timer_add(3.0, __lock_timeout_cb, lock_screen_priv);
+       return;
+}
+
+void _callui_lock_screen_stop_timer()
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       lock_screen_data_t *lock_screen_priv = ad->lock_screen_handle;
+       CALLUI_RETURN_IF_FAIL(lock_screen_priv);
+
+       if (lock_screen_priv->no_lock_timer) {
+               ecore_timer_del(lock_screen_priv->no_lock_timer);
+               lock_screen_priv->no_lock_timer = NULL;
+       }
+       return;
+}
+
+void _callui_lock_screen_refresh_timer(call_view_data_t *view_data)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       lock_screen_data_t *lock_screen_priv = ad->lock_screen_handle;
+       CALLUI_RETURN_IF_FAIL(lock_screen_priv);
+
+       if (lock_screen_priv->no_lock_timer) {
+               ecore_timer_del(lock_screen_priv->no_lock_timer);
+               lock_screen_priv->no_lock_timer = ecore_timer_add(3.0, __lock_timeout_cb, lock_screen_priv);
+       }
+
+       return;
+}
+
+void _callui_lock_screen_unlock_screen(call_view_data_t *view_data)
+{
+       warn("_callui_lock_screen_delete_layout");
+       CALLUI_RETURN_IF_FAIL(view_data);
+       callui_app_data_t *ad = _callui_get_app_data();
+       lock_screen_data_t *lock_screen_priv = ad->lock_screen_handle;
+
+       if (lock_screen_priv) {
+               if (lock_screen_priv->is_locked) {
+                       _callui_lock_screen_hide_layout(lock_screen_priv);
+                       lock_screen_priv->no_lock_timer = ecore_timer_add(3.0, __lock_timeout_cb, lock_screen_priv);
+               } else {
+                       _callui_lock_screen_refresh_timer(view_data);
+               }
+       } else {
+               err("lock_screen_priv is NULL");
+       }
+       return;
+}
+
+void _callui_lock_screen_delete_layout(lock_screen_data_t *lock_screen_priv)
+{
+       dbg("lock screen delete!!");
+       CALLUI_RETURN_IF_FAIL(lock_screen_priv);
+       evas_object_del(lock_screen_priv->layout);
+       evas_object_del(lock_screen_priv->hit_rect);
+       if (lock_screen_priv->no_lock_timer) {
+               ecore_timer_del(lock_screen_priv->no_lock_timer);
+               lock_screen_priv->no_lock_timer = NULL;
+       }
+       free(lock_screen_priv);
+
+       return;
+}
+
+gboolean _callui_lock_screen_is_lockscreen_shown()
+{
+       callui_app_data_t *ad = _callui_get_app_data();
+       lock_screen_data_t *lock_screen_priv = ad->lock_screen_handle;
+       if (!lock_screen_priv) {
+               return FALSE;
+       }
+       return lock_screen_priv->is_locked;
+}
diff --git a/src/callui-view-manager.c b/src/callui-view-manager.c
new file mode 100644 (file)
index 0000000..2af70f4
--- /dev/null
@@ -0,0 +1,246 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui-view-manager.h"
+#include "callui-view-dialing.h"
+#include "callui-view-single-call.h"
+#include "callui-view-callend.h"
+#include "callui-view-incoming-lock.h"
+#include "callui-view-multi-call-split.h"
+#include "callui-view-multi-call-conf.h"
+#include "callui-view-multi-call-list.h"
+#include "callui-view-quickpanel.h"
+
+typedef call_view_data_t *(*new_view_data_cb) ();
+
+struct _view_manager_data {
+       new_view_data_cb func_new[VIEW_MAX];
+       call_view_data_t *view_st[VIEW_MAX];
+       callui_view_id_t view_before_top;
+       callui_view_id_t view_top;
+};
+
+
+static void __callvm_init_view_register_function(view_manager_data_t *vm_data, callui_view_id_t view_id, call_view_data_t *(*view_new) ())
+{
+       vm_data->func_new[view_id] = view_new;
+}
+
+view_manager_data_t *_callvm_init()
+{
+       view_manager_data_t *vm_data = NULL;
+
+       vm_data = (view_manager_data_t *) calloc(1, sizeof(view_manager_data_t));
+       CALLUI_RETURN_VALUE_IF_FAIL(vm_data, NULL);
+       __callvm_init_view_register_function(vm_data, VIEW_DIALLING_VIEW, _callui_dialing_view_dialing_new);
+       __callvm_init_view_register_function(vm_data, VIEW_INCOMING_LOCK_VIEW, _callui_view_incoming_lock_new);
+       __callvm_init_view_register_function(vm_data, VIEW_INCALL_ONECALL_VIEW, _callui_view_single_call_new);
+       __callvm_init_view_register_function(vm_data, VIEW_INCALL_MULTICALL_SPLIT_VIEW, _callui_view_multi_call_split_new);
+       __callvm_init_view_register_function(vm_data, VIEW_INCALL_MULTICALL_CONF_VIEW, _callui_view_multi_call_conf_new);
+       __callvm_init_view_register_function(vm_data, VIEW_INCALL_MULTICALL_LIST_VIEW, _callui_view_multi_call_list_new);
+       __callvm_init_view_register_function(vm_data, VIEW_QUICKPANEL_VIEW, _callui_view_qp_new);
+       __callvm_init_view_register_function(vm_data, VIEW_ENDCALL_VIEW, _callui_view_callend_new);
+       vm_data->view_top = -1;
+       return vm_data;
+}
+
+callui_view_id_t _callvm_get_top_view_id(view_manager_data_t *view_manager_handle)
+{
+       return view_manager_handle->view_top;
+}
+
+call_view_data_t *_callvm_get_call_view_data(void *appdata, callui_view_id_t view_id)
+{
+
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+       if (ad->view_manager_handle->view_st[view_id]) {
+               return (call_view_data_t *) ad->view_manager_handle->view_st[view_id];
+       }
+
+       return NULL;
+}
+
+void _callvm_set_call_view_data(void *appdata, callui_view_id_t view_id, call_view_data_t *vd)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+
+       if (vd) {
+               (ad->view_manager_handle->view_st[view_id]) = vd;
+       }
+}
+
+Evas_Object *_callvm_get_view_layout(void *appdata)
+{
+       Evas_Object *layout = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, NULL);
+       layout = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+
+       return layout;
+}
+
+
+void _callvm_reset_call_view_data(void *appdata, callui_view_id_t view_id)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+
+       info("view:[%d] -> [%d]", ad->view_manager_handle->view_top, view_id);
+       ad->view_manager_handle->view_st[view_id] = NULL;
+}
+
+static void _callvm_hide_view(call_view_data_t *view)
+{
+       CALLUI_RETURN_IF_FAIL(view);
+
+       hide_cb hide = view->onHide;
+       destroy_cb destroy = view->onDestroy;
+
+       if (hide) {
+               hide(view);
+       }
+       if (destroy) {
+               destroy(view);
+       }
+}
+
+static call_view_data_t *_callvm_show_view(call_view_data_t *view, new_view_data_cb func_new, unsigned int param1, void *param2, void *ad)
+{
+       if (view == NULL) {
+               dbg("Create view data");
+
+               view = func_new(ad);
+       }
+       CALLUI_RETURN_VALUE_IF_FAIL(view, NULL);
+
+       if (view->layout == NULL) {
+               dbg("Create layout");
+
+               create_cb create = view->onCreate;
+               CALLUI_RETURN_VALUE_IF_FAIL(create, NULL);
+               create(view, param1, param2, ad);
+       } else {
+               dbg("Update layout");
+
+               update_cb update = view->onUpdate;
+               CALLUI_RETURN_VALUE_IF_FAIL(update, NULL);
+               update(view, param2);
+       }
+
+       return view;
+}
+
+void _callvm_view_change(callui_view_id_t view_id, unsigned int param1, void *param2, void *appdata)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       info("view:[%d] -> [%d]", ad->view_manager_handle->view_top, view_id);
+       if ((view_id >= VIEW_MAX) || (view_id < 0)) {
+               err("[=========== ERROR!!!! Invalid View ID : %d =================]", view_id);
+               return;
+       }
+
+       call_view_data_t **views = ad->view_manager_handle->view_st;
+
+       callui_view_id_t last_view_id = ad->view_manager_handle->view_top;
+       ad->view_manager_handle->view_before_top = last_view_id;        /* hold the current top window in the before_top pointer */
+       ad->view_manager_handle->view_top = view_id;    /* set the new top window to the view_id which is passed... this step enables in setting 00:00:00 as timer */
+       new_view_data_cb func_new = ad->view_manager_handle->func_new[view_id];
+
+
+       if ((last_view_id != -1) && (last_view_id != view_id)) {
+               dbg("hide & destroy [%d]", last_view_id);
+               _callvm_hide_view(views[last_view_id]);
+               views[last_view_id] = NULL;
+       }
+       views[view_id] = _callvm_show_view(views[view_id], func_new, param1, param2, appdata);
+
+       if (view_id == VIEW_DIALLING_VIEW || view_id == VIEW_INCOMING_LOCK_VIEW) {
+               elm_win_activate(ad->win);
+       }
+
+       _callui_view_quickpanel_change();
+
+       evas_object_show(ad->win);
+       dbg("End");
+}
+
+void _callvm_view_auto_change(void *appdata)
+{
+       dbg("_callvm_view_auto_change");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       if (ad == NULL) {
+               err("Invalid AppData");
+               return;
+       }
+
+       if (ad->multi_call_list_end_clicked) {
+               ad->multi_call_list_end_clicked = false;
+               if (ad->active && ad->active->member_count > 1) {
+                       _callvm_view_change(VIEW_INCALL_MULTICALL_LIST_VIEW, 0, NULL, ad);
+                       return;
+               }
+       }
+
+       if (ad->incom) {
+               _callvm_view_change(VIEW_INCOMING_LOCK_VIEW, 0, NULL, ad);
+               return;
+       } else if (ad->active) {
+               if (CM_CALL_STATE_DIALING == ad->active->call_state) {
+                       _callvm_view_change(VIEW_DIALLING_VIEW, 0, NULL, ad);
+               } else if (ad->held) {
+                       _callvm_view_change(VIEW_INCALL_MULTICALL_SPLIT_VIEW, 0, NULL, ad);
+               } else if (ad->active->member_count > 1) {
+                       _callvm_view_change(VIEW_INCALL_MULTICALL_CONF_VIEW, 0, NULL, ad);
+               } else {
+                       _callvm_view_change(VIEW_INCALL_ONECALL_VIEW, 0, NULL, ad);
+               }
+               return;
+       } else if (ad->held) {
+               if (ad->held->member_count > 1) {
+                       _callvm_view_change(VIEW_INCALL_MULTICALL_CONF_VIEW, 0, NULL, ad);
+               } else {
+                       _callvm_view_change(VIEW_INCALL_ONECALL_VIEW, 0, NULL, ad);
+               }
+       } else {
+               err("No call exist");
+       }
+       return;
+}
+
+void _callvm_terminate_app_or_view_change(void *appdata)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       view_manager_data_t *vd = ad->view_manager_handle;
+       int i = 0;
+       if ((NULL == ad->active) && (NULL == ad->incom) && (NULL == ad->held)) {
+               warn("No call exist. App will be terminated");
+               for (i = 0; i < VIEW_MAX; i++) {
+                       if (vd->view_st[i] != NULL) {
+                               dbg("hide & destory [%d]", i);
+                               vd->view_st[i]->onHide(vd->view_st[i]);
+                               vd->view_st[i]->onDestroy(vd->view_st[i]);
+                       }
+               }
+               vd->view_top = -1;
+               elm_exit();
+       } else {
+               _callvm_view_auto_change(ad);
+       }
+       return;
+}
+
diff --git a/src/callui-view-multi-call-conf.c b/src/callui-view-multi-call-conf.c
new file mode 100755 (executable)
index 0000000..ce4457a
--- /dev/null
@@ -0,0 +1,319 @@
+/*
+ * 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.
+ *
+ */
+
+
+#include "callui.h"
+#include "callui-common.h"
+#include "callui-view-elements.h"
+#include "callui-view-multi-call-conf.h"
+#include "callui-view-layout-wvga.h"
+#include "callui-keypad.h"
+
+#define        CALLUI_VIEW_MULTICALL_CONF_LAYOUT_ID "MULTIVIEWCONF"
+typedef struct {
+       Evas_Object *contents;
+       Evas_Object *caller_info;
+       Evas_Object *held_call_ly;
+       Evas_Object *btn_ly;
+       Evas_Object *ic;
+       Evas_Object *manage_calls_ly;
+       Eina_Bool is_held;
+} callui_view_multi_call_conf_priv_t;
+
+static int __callui_view_multi_call_conf_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3);
+static int __callui_view_multi_call_conf_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_multi_call_conf_onhide(call_view_data_t *view_data);
+static int __callui_view_multi_call_conf_onshow(call_view_data_t *view_data,  void *appdata);
+static int __callui_view_multi_call_conf_ondestroy(call_view_data_t *view_data);
+static int __callui_view_multi_call_conf_onrotate(call_view_data_t *view_data);
+
+static call_view_data_t s_view = {
+       .type = VIEW_INCALL_MULTICALL_CONF_VIEW,
+       .layout = NULL,
+       .onCreate = __callui_view_multi_call_conf_oncreate,
+       .onUpdate = __callui_view_multi_call_conf_onupdate,
+       .onHide = __callui_view_multi_call_conf_onhide,
+       .onShow = __callui_view_multi_call_conf_onshow,
+       .onDestroy = __callui_view_multi_call_conf_ondestroy,
+       .onRotate = __callui_view_multi_call_conf_onrotate,
+       .priv = NULL,
+};
+
+call_view_data_t *_callui_view_multi_call_conf_new(callui_app_data_t *ad)
+{
+       s_view.priv = calloc(1, sizeof(callui_view_multi_call_conf_priv_t));
+
+       if (!s_view.priv) {
+               err("ERROR!!!!!!!!!!! ");
+       }
+
+       return &s_view;
+}
+
+static void __callui_view_manage_btn_clicked_cb(void *data, Evas_Object *o, const char *emission, const char *source)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       _callvm_view_change(VIEW_INCALL_MULTICALL_LIST_VIEW, 0, 0, ad);
+       return;
+}
+
+static void __callui_view_multi_call_conf_draw_screen(Evas_Object *eo, void *data)
+{
+       dbg("..");
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       callui_view_multi_call_conf_priv_t *priv = (callui_view_multi_call_conf_priv_t *)vd->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+       char buf[512] = { 0, };
+       call_data_t *call_data = NULL;
+       char *sim_name = NULL;
+       char status_txt[128 + 1] = { '\0', };
+
+       if (ad->active) {
+               call_data = ad->active;
+               priv->is_held = EINA_FALSE;
+       } else if (ad->held) {
+               call_data = ad->held;
+               priv->is_held = EINA_TRUE;
+       } else {
+               err("call data is null");
+               return;
+       }
+
+       if (priv->is_held == EINA_TRUE) {
+               snprintf(status_txt, sizeof(status_txt), _("IDS_CALL_BODY_ON_HOLD_ABB"));
+               _callui_show_caller_info_status(ad, status_txt, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "set-hold-state", "call-screen");
+
+               elm_object_part_content_unset(priv->contents, "resume_icon_swallow");
+               elm_object_part_content_set(priv->contents, "resume_icon_swallow", priv->held_call_ly);
+               evas_object_show(priv->held_call_ly);
+
+       } else {
+               /*****deciding the call status according the sim name******/
+               elm_object_signal_emit(priv->caller_info, "set-unhold-state", "call-screen");
+               evas_object_hide(priv->held_call_ly);
+               elm_object_part_content_unset(priv->contents, "resume_icon_swallow");
+       }
+
+       elm_object_part_content_unset(priv->caller_info, "manage_calls_icon_swallow");
+       elm_object_part_content_set(priv->caller_info, "manage_calls_icon_swallow", priv->manage_calls_ly);
+       evas_object_show(priv->manage_calls_ly);
+       edje_object_signal_callback_del(_EDJ(priv->manage_calls_ly), "mouse,clicked,1", "btn", __callui_view_manage_btn_clicked_cb);
+       edje_object_signal_callback_add(_EDJ(priv->manage_calls_ly), "mouse,clicked,1", "btn", __callui_view_manage_btn_clicked_cb, priv);
+
+       elm_object_signal_emit(priv->caller_info, "set_conference_mode", "");
+       _callui_show_caller_info_name(ad, _("IDS_CALL_BODY_CONFERENCE"), EINA_FALSE);
+       char *status = _("IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB");
+       snprintf(buf, 512, status, call_data->member_count);
+       _callui_show_caller_info_number(ad, buf, EINA_FALSE);
+
+       if (priv->is_held == EINA_TRUE) {
+               _callui_create_top_second_button_disabled(ad);
+               _callui_create_bottom_second_button_disabled(ad);
+       } else {
+               /*Delete keypad layout - before creating the keypad button again
+                * Since layout are created again in update_cb
+                * to handle rotation use-case*/
+               if (_callui_keypad_get_show_status() == EINA_TRUE) {
+                       _callui_keypad_hide_layout(ad);
+               }
+
+               _callui_create_top_second_button(ad);
+               _callui_create_bottom_second_button(ad);
+       }
+       _callui_create_top_third_button(ad);
+       _callui_create_bottom_first_button(ad);
+
+       _callui_create_top_first_button(ad);
+       _callui_create_bottom_third_button(ad);
+       elm_object_signal_emit(priv->contents, "SHOW_NO_EFFECT", "ALLBTN");
+       _callui_create_end_call_button(priv->contents, vd);
+       evas_object_show(eo);
+}
+
+static Evas_Object *__callui_view_multi_call_conf_create_contents(void *data, char *group)
+{
+       if (data == NULL) {
+               err("ERROR");
+               return NULL;
+       }
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Evas_Object *eo;
+
+       /* load edje */
+       eo = _callui_load_edj(ad->main_ly, EDJ_NAME, group);
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+static void __callui_view_multi_call_conf_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(vd != NULL);
+       _callui_load_more_option(vd);
+       return;
+}
+
+static int __callui_view_multi_call_conf_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3)
+{
+       callui_view_multi_call_conf_priv_t *priv = (callui_view_multi_call_conf_priv_t *)view_data->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       if (ad->main_ly) {
+               /* Create Main Layout */
+               priv->contents = __callui_view_multi_call_conf_create_contents(ad, GRP_MAIN_LY);
+               elm_object_part_content_set(ad->main_ly, "elm.swallow.content", priv->contents);
+
+               if (priv->contents) {
+                       eext_object_event_callback_del(priv->contents, EEXT_CALLBACK_MORE, __callui_view_multi_call_conf_more_btn_cb);
+               }
+               eext_object_event_callback_add(priv->contents, EEXT_CALLBACK_MORE, __callui_view_multi_call_conf_more_btn_cb, view_data);
+
+               priv->caller_info = elm_object_part_content_get(priv->contents, "caller_info");
+               if (!priv->caller_info) {
+                       priv->caller_info = __callui_view_multi_call_conf_create_contents(ad, GRP_CALLER_INFO);
+                       elm_object_part_content_set(priv->contents, "caller_info", priv->caller_info);
+               }
+
+               /* Manage button Layout */
+               priv->manage_calls_ly = elm_object_part_content_get(priv->caller_info, "manage_calls_icon_swallow");
+               if (!priv->manage_calls_ly) {
+                       priv->manage_calls_ly = __callui_view_multi_call_conf_create_contents(ad, GRP_MANAGE_CALLS);
+               }
+
+               priv->btn_ly = elm_object_part_content_get(priv->contents, "btn_region");
+               if (!priv->btn_ly) {
+                       priv->btn_ly = __callui_view_multi_call_conf_create_contents(ad, GRP_BUTTON_LAYOUT);
+                       elm_object_part_content_set(priv->contents, "btn_region", priv->btn_ly);
+               }
+
+               evas_object_name_set(priv->contents, CALLUI_VIEW_MULTICALL_CONF_LAYOUT_ID);
+               dbg("[========== MULTIVIEWCONF: priv->contents Addr : [%p] ==========]", priv->contents);
+
+               /*create keypad layout*/
+               _callui_keypad_create_layout(ad);
+       } else {
+               err("ERROR");
+               return -1;
+       }
+
+       __callui_view_multi_call_conf_onshow(view_data, NULL);
+       return 0;
+}
+
+static int __callui_view_multi_call_conf_onupdate(call_view_data_t *view_data, void *update_data1)
+{
+       dbg("multicall-conf view update");
+
+       __callui_view_multi_call_conf_onshow(view_data, NULL);
+       return 0;
+}
+
+static int __callui_view_multi_call_conf_onhide(call_view_data_t *view_data)
+{
+       dbg("multicall-conf view hide");
+       callui_app_data_t *ad = _callui_get_app_data();
+       evas_object_hide(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_multi_call_conf_onshow(call_view_data_t *view_data,  void *appdata)
+{
+       dbg("multicall-conf view show");
+
+       callui_view_multi_call_conf_priv_t *priv = (callui_view_multi_call_conf_priv_t *)view_data->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       __callui_view_multi_call_conf_draw_screen(priv->contents, view_data);
+
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+
+       return 0;
+}
+
+static int __callui_view_multi_call_conf_ondestroy(call_view_data_t *view_data)
+{
+       dbg("multicall-conf view destroy");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, -1);
+
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCALL_MULTICALL_CONF_VIEW);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, -1);
+       callui_view_multi_call_conf_priv_t *priv = (callui_view_multi_call_conf_priv_t *)vd->priv;
+
+       if (priv != NULL) {
+               if (ad->ctxpopup) {
+                       elm_ctxpopup_dismiss(ad->ctxpopup);
+                       ad->ctxpopup = NULL;
+               }
+
+               _callui_show_caller_info_number(ad, "", EINA_FALSE); /*reset the number text*/
+
+               /*Delete keypad layout*/
+               _callui_keypad_delete_layout(ad);
+
+               if (priv->contents) {
+                       eext_object_event_callback_del(priv->contents, EEXT_CALLBACK_MORE, __callui_view_multi_call_conf_more_btn_cb);
+                       _callui_common_reset_main_ly_text_fields(priv->contents);
+               }
+               elm_object_signal_emit(priv->contents, "HIDE_BTN_LY", "ALLBTN");
+
+               if (priv->manage_calls_ly) {
+                       elm_object_part_content_unset(priv->caller_info, "manage_calls_icon_swallow");
+                       edje_object_part_unswallow(_EDJ(priv->caller_info), priv->manage_calls_ly);
+                       evas_object_del(priv->manage_calls_ly);
+                       priv->manage_calls_ly = NULL;
+               }
+
+               if (priv->held_call_ly) {
+                       elm_object_part_content_unset(priv->contents, "resume_icon_swallow");
+                       edje_object_part_unswallow(_EDJ(priv->contents), priv->held_call_ly);
+                       evas_object_del(priv->held_call_ly);
+                       priv->held_call_ly = NULL;
+               }
+
+               free(priv);
+               priv = NULL;
+       }
+
+       _callvm_reset_call_view_data(ad, VIEW_INCALL_MULTICALL_CONF_VIEW);
+
+       dbg("complete destroy multi view conf");
+
+       return 0;
+}
+
+static int __callui_view_multi_call_conf_onrotate(call_view_data_t *view_data)
+{
+       dbg("*** Multi Call conf-view Rotate ***");
+       callui_view_multi_call_conf_priv_t *priv = view_data->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       elm_object_signal_emit(priv->contents, "set_portrait", "multicall_conf_layout");
+       elm_object_signal_emit(priv->contents, "SHOW_NO_EFFECT", "ALLBTN");
+       elm_object_signal_emit(priv->caller_info, "set_portrait", "caller_info_layout");
+
+       evas_object_show(ad->win);
+
+       return 0;
+}
+
diff --git a/src/callui-view-multi-call-list.c b/src/callui-view-multi-call-list.c
new file mode 100755 (executable)
index 0000000..fe3e94f
--- /dev/null
@@ -0,0 +1,382 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui-common.h"
+#include "callui.h"
+#include "callui-view-elements.h"
+#include "callui-view-multi-call-list.h"
+#include "callui-view-layout-wvga.h"
+
+static Elm_Genlist_Item_Class *itc_call;
+#define        CALLUI_VIEW_MULTICALL_LIST_LAYOUT_ID "MULTIVIEWLIST"
+typedef struct {
+       Evas_Object *contents;
+       Evas_Object *ic;
+       Evas_Object *multibox_gl;
+
+       GSList *call_list;
+} callui_view_multi_call_list_priv_t;
+
+static int __callui_view_multi_call_list_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3);
+static int __callui_view_multi_call_list_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_multi_call_list_onhide(call_view_data_t *view_data);
+static int __callui_view_multi_call_list_onshow(call_view_data_t *view_data,  void *appdata);
+static int __callui_view_multi_call_list_ondestroy(call_view_data_t *view_data);
+static int __callui_view_multi_call_list_onrotate(call_view_data_t *view_data);
+
+static call_view_data_t s_view = {
+       .type = VIEW_INCALL_MULTICALL_LIST_VIEW,
+       .layout = NULL,
+       .onCreate = __callui_view_multi_call_list_oncreate,
+       .onUpdate = __callui_view_multi_call_list_onupdate,
+       .onHide = __callui_view_multi_call_list_onhide,
+       .onShow = __callui_view_multi_call_list_onshow,
+       .onDestroy = __callui_view_multi_call_list_ondestroy,
+       .onRotate = __callui_view_multi_call_list_onrotate,
+       .priv = NULL,
+};
+
+call_view_data_t *_callui_view_multi_call_list_new(callui_app_data_t *ad)
+{
+       s_view.priv = calloc(1, sizeof(callui_view_multi_call_list_priv_t));
+       CALLUI_RETURN_VALUE_IF_FAIL(s_view.priv, NULL);
+       return &s_view;
+}
+
+static void __callui_view_multi_call_list_small_end_call_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       cm_conf_call_data_t *call_data = (cm_conf_call_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(call_data);
+       int ret = -1;
+       unsigned int call_id = 0;
+       cm_conf_call_data_get_call_id(call_data, &call_id);
+       ret = cm_end_call(ad->cm_handle, call_id, CALL_RELEASE_TYPE_BY_CALL_HANDLE);
+       if (ret != CM_ERROR_NONE) {
+               err("cm_end_call() get failed with err[%d]", ret);
+       }
+       ad->multi_call_list_end_clicked = true;
+}
+
+static void __callui_view_multi_call_list_split_call_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       cm_conf_call_data_t *call_data = (cm_conf_call_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(call_data);
+       int ret = -1;
+       unsigned int call_id = 0;
+
+       cm_conf_call_data_get_call_id(call_data, &call_id);
+       ret = cm_split_call(ad->cm_handle, call_id);
+       if (ret != CM_ERROR_NONE) {
+               err("cm_split_call() get failed with err[%d]", ret);
+       }
+}
+
+static Evas_Object *__callui_view_multi_call_list_gl_icon_get_call(void *data, Evas_Object *obj, const char *part)
+{
+       cm_conf_call_data_t *call_data = (cm_conf_call_data_t *)data;
+       Evas_Object *img = NULL;
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, NULL);
+       dbg("__callui_view_multi_call_list_gl_icon_get_call %s ", part);
+       if ((strcmp(part, "elm.swallow.end") == 0)) {
+               Evas_Object *img = elm_image_add(obj);
+               elm_image_file_set(img, EDJ_NAME, GROUP_CALL_BTN_IC_END);
+               evas_object_size_hint_min_set(img, _callui_common_get_scaled_width(CALL_BTN_IC_BG_SIZE), _callui_common_get_scaled_height(CALL_BTN_IC_BG_SIZE));
+               evas_object_propagate_events_set(img, EINA_FALSE);
+               evas_object_smart_callback_add(img, "clicked", __callui_view_multi_call_list_small_end_call_cb, call_data);
+               return img;
+       } else if (strcmp(part, "elm.swallow.icon") == 0) {
+               if (ad->held || ad->active->member_count < 3) {
+                       return NULL;
+               }
+               Evas_Object *img = elm_image_add(obj);
+               elm_image_file_set(img, EDJ_NAME, GROUP_CALL_BTN_IC_SPLIT);
+               evas_object_size_hint_min_set(img, _callui_common_get_scaled_width(CALL_BTN_IC_BG_SIZE), _callui_common_get_scaled_height(CALL_BTN_IC_BG_SIZE));
+               evas_object_propagate_events_set(img, EINA_FALSE);
+               evas_object_smart_callback_add(img, "clicked", __callui_view_multi_call_list_split_call_cb, call_data);
+               return img;
+       } else if ((strcmp(part, "elm.swallow.icon.0") == 0)) {
+               call_contact_data_t ct_info = {0,};
+               char *file_path = "default";
+               int person_id = -1;
+
+               cm_conf_call_data_get_person_id(call_data, &person_id);
+               if (person_id != -1) {
+                       _callui_common_get_contact_info(person_id, &ct_info);
+                       if (strlen(ct_info.caller_id_path) > 0) {
+                               file_path = ct_info.caller_id_path;
+                       }
+               }
+               img = _callui_create_thumbnail_with_size(obj, file_path, THUMBNAIL_98, true);
+               return img;
+       } else {
+               return NULL;
+       }
+}
+
+static char *__callui_view_multi_call_list_gl_label_get_call(void *data, Evas_Object *obj, const char *part)
+{
+       cm_conf_call_data_t *call_data = (cm_conf_call_data_t *)data;
+       int person_id = -1;
+       char *call_number = NULL;
+       dbg("__callui_view_multi_call_list_gl_label_get_call %s ", part);
+       if (strcmp(part, "elm.text") == 0) {
+               cm_conf_call_data_get_person_id(call_data, &person_id);
+               if (person_id != -1) {
+                       call_contact_data_t ct_info = {0,};
+                       _callui_common_get_contact_info(person_id, &ct_info);
+                       if (strlen(ct_info.call_disp_name) > 0) {
+                               return strdup(ct_info.call_disp_name);
+                       }
+               }
+               cm_conf_call_data_get_call_number(call_data, &call_number);
+               return strdup(call_number);
+       } else {
+               return NULL;
+       }
+}
+
+static void __callui_view_multi_call_list_genlist_init(void *data)
+{
+       itc_call = elm_genlist_item_class_new();
+
+       itc_call->item_style = "type1";
+       itc_call->func.text_get = __callui_view_multi_call_list_gl_label_get_call;
+       itc_call->func.content_get = __callui_view_multi_call_list_gl_icon_get_call;
+       itc_call->func.state_get = NULL;
+       itc_call->func.del = NULL;
+}
+
+static void __callui_view_multi_call_list_genlist_deinit()
+{
+       elm_genlist_item_class_free(itc_call);
+       itc_call = NULL;
+}
+
+static void __callui_view_multi_call_list_genlist_add(void *data)
+{
+       call_view_data_t *vd = data;
+       callui_view_multi_call_list_priv_t *priv = (callui_view_multi_call_list_priv_t *)vd->priv;
+       Evas_Object *genlist = NULL;
+
+       genlist = elm_genlist_add(priv->contents);
+       evas_object_size_hint_weight_set(genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_size_hint_align_set(genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
+
+       elm_object_part_content_set(priv->contents, "swl_calllist", genlist);
+       priv->multibox_gl = genlist;
+}
+
+static void __callui_view_multi_call_list_genlist_delete(void *data)
+{
+       call_view_data_t *vd = data;
+       callui_view_multi_call_list_priv_t *priv = (callui_view_multi_call_list_priv_t *)vd->priv;
+       if (priv->multibox_gl != NULL) {
+               elm_genlist_clear(priv->multibox_gl);
+               evas_object_del(priv->multibox_gl);
+               priv->multibox_gl = NULL;
+       }
+}
+
+void __callui_view_multi_call_list_genlist_item_append(void *data)
+{
+       dbg("..");
+       Elm_Object_Item *item = NULL;
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       call_view_data_t *vd = data;
+       CALLUI_RETURN_IF_FAIL(vd);
+       callui_view_multi_call_list_priv_t *priv = (callui_view_multi_call_list_priv_t *)vd->priv;
+       CALLUI_RETURN_IF_FAIL(priv);
+       int list_len = 0;
+       int idx = 0;
+       cm_conf_call_data_t *call_data = NULL;
+
+       CALLUI_RETURN_IF_FAIL(priv->call_list);
+       list_len = g_slist_length(priv->call_list);
+       for (idx = 0; idx < list_len; idx++) {
+               call_data = (cm_conf_call_data_t *)g_slist_nth_data(priv->call_list, idx);
+               item = elm_genlist_item_append(priv->multibox_gl, itc_call, (void *)call_data, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
+               elm_genlist_item_select_mode_set(item, ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY);
+       }
+}
+
+static void __callui_view_multi_call_list_back_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       _callvm_view_auto_change(ad);
+}
+
+static Evas_Object *__callui_view_multi_call_list_create_contents(Evas_Object *parent, char *group)
+{
+       Evas_Object *eo;
+
+       if (parent == NULL) {
+               err("ERROR");
+               return NULL;
+       }
+
+       /* load edje */
+       eo = _callui_load_edj(parent, EDJ_NAME, group);
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+static int __callui_view_multi_call_list_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3)
+{
+       dbg("multicall-list view create");
+
+       __callui_view_multi_call_list_onshow(view_data, NULL);
+
+       return 0;
+}
+
+static void __callui_view_multi_call_list_free_cb(gpointer data)
+{
+       cm_conf_call_data_t *call_data = (cm_conf_call_data_t *)data;
+       cm_conf_call_data_free(call_data);
+}
+
+static int __callui_view_multi_call_list_onupdate(call_view_data_t *view_data, void *update_data1)
+{
+       dbg("multicall-list view update");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       callui_view_multi_call_list_priv_t *priv = (callui_view_multi_call_list_priv_t *)view_data->priv;
+       GSList *list = NULL;
+
+       __callui_view_multi_call_list_genlist_delete(view_data);
+       g_slist_free_full(priv->call_list, __callui_view_multi_call_list_free_cb);
+
+       cm_get_conference_call_list(ad->cm_handle, &list);
+       CALLUI_RETURN_VALUE_IF_FAIL(list, -1);
+       priv->call_list = list;
+       __callui_view_multi_call_list_genlist_add(view_data);
+       __callui_view_multi_call_list_genlist_init(view_data);
+       __callui_view_multi_call_list_genlist_item_append(view_data);
+       __callui_view_multi_call_list_genlist_deinit();
+
+       elm_object_signal_emit(priv->contents, "set_portrait", "multicall_list_layout");
+       evas_object_show(priv->contents);
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_multi_call_list_onhide(call_view_data_t *view_data)
+{
+       dbg("multicall-list view hide");
+       callui_app_data_t *ad = _callui_get_app_data();
+       evas_object_hide(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_multi_call_list_onshow(call_view_data_t *view_data,  void *appdata)
+{
+       dbg("multicall-list view show");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       callui_view_multi_call_list_priv_t *priv = (callui_view_multi_call_list_priv_t *)view_data->priv;
+       Evas_Object *back_btn = NULL;
+       char *sim_name = NULL;
+       char status_txt[128 + 1] = {'\0', };
+
+       priv->contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+       if (priv->contents) {
+               elm_object_part_content_unset(ad->main_ly, "elm.swallow.content");
+               evas_object_del(priv->contents);
+               priv->contents = NULL;
+       }
+       priv->contents = __callui_view_multi_call_list_create_contents(ad->main_ly, GRP_MULTICALL);
+       elm_object_part_content_set(ad->main_ly, "elm.swallow.content", priv->contents);
+       view_data->layout = priv->contents;
+
+       __callui_view_multi_call_list_genlist_add(view_data);
+       __callui_view_multi_call_list_genlist_init(view_data);
+
+       cm_get_conference_call_list(ad->cm_handle, &priv->call_list);
+       __callui_view_multi_call_list_genlist_item_append(view_data);
+       __callui_view_multi_call_list_genlist_deinit();
+
+       back_btn = elm_button_add(priv->contents);
+       elm_object_style_set(back_btn, "bottom");
+       elm_object_text_set(back_btn, _("IDS_CALL_BUTTON_RETURN_TO_CALL_SCREEN_ABB"));
+       elm_object_part_content_set(priv->contents, "bottom_btn", back_btn);
+
+       evas_object_smart_callback_del(back_btn, "clicked", __callui_view_multi_call_list_back_cb);
+       evas_object_smart_callback_add(back_btn, "clicked", __callui_view_multi_call_list_back_cb, ad);
+
+       evas_object_show(back_btn);
+       eext_object_event_callback_add(priv->contents, EEXT_CALLBACK_BACK, __callui_view_multi_call_list_back_cb, ad);
+
+       evas_object_name_set(priv->contents, CALLUI_VIEW_MULTICALL_LIST_LAYOUT_ID);
+       dbg("[========== MULTIVIEWLIST: priv->contents Addr : [%p] ==========]", priv->contents);
+
+       elm_object_signal_emit(priv->contents, "set_portrait", "multicall_list_layout");
+
+       evas_object_show(priv->contents);
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_multi_call_list_ondestroy(call_view_data_t *view_data)
+{
+       dbg("multicall-list view destroy");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, -1);
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCALL_MULTICALL_LIST_VIEW);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, -1);
+       callui_view_multi_call_list_priv_t *priv = (callui_view_multi_call_list_priv_t *)vd->priv;
+
+       if (priv != NULL) {
+               __callui_view_multi_call_list_genlist_delete(vd);
+
+               g_slist_free_full(priv->call_list, __callui_view_multi_call_list_free_cb);
+
+               if (priv->contents) {
+                       evas_object_del(priv->contents);
+                       priv->contents = NULL;
+               }
+               elm_object_part_content_unset(ad->main_ly, "elm.swallow.content");
+               free(priv);
+               priv = NULL;
+       }
+       vd->layout = NULL;
+       _callvm_reset_call_view_data(ad, VIEW_INCALL_MULTICALL_LIST_VIEW);
+       dbg("complete destroy multi view list");
+       return 0;
+}
+
+static int __callui_view_multi_call_list_onrotate(call_view_data_t *view_data)
+{
+       dbg("*** Multi Call List view Rotate ***");
+
+       __callui_view_multi_call_list_onshow(view_data, NULL);
+       return 0;
+}
+
+
diff --git a/src/callui-view-multi-call-split.c b/src/callui-view-multi-call-split.c
new file mode 100755 (executable)
index 0000000..4277fee
--- /dev/null
@@ -0,0 +1,318 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui.h"
+#include "callui-view-multi-call-split.h"
+#include "callui-keypad.h"
+#include "callui-common.h"
+#include "callui-view-caller-info-defines.h"
+#include "callui-view-elements.h"
+
+#define BUF_SIZE 256
+
+typedef struct {
+       Evas_Object *contents;
+} incall_multi_view_split_priv_t;
+
+static Evas_Object *_create_merge_swap_btn(Evas_Object *parent, const char *name, const char *text);
+
+static Evas_Object *_create_hold_active_layout(Evas_Object *parent, call_data_t *call_data);
+static void _fill_one_contact_layout(Evas_Object *parent, call_data_t *call_data);
+static void _fill_conference_layout(Evas_Object *parent, call_data_t *call_data);
+
+static void _set_hold_info(Evas_Object *parent, Evas_Object *content);
+static void _set_active_info(Evas_Object *parent, Evas_Object *content, callui_app_data_t *ad);
+static void _set_merge_swap(Evas_Object *parent, callui_app_data_t *ad);
+
+static void _create_btn_region(Evas_Object *parent);
+static void _create_action_panel(Evas_Object *parent);
+
+static Evas_Object *_create_call_info_layout(Evas_Object *parent, callui_app_data_t *ad);
+static Evas_Object *_create_split_layout(Evas_Object *parent, callui_app_data_t *ad);
+
+static Evas_Object *_create_split_view(Evas_Object *parent, callui_app_data_t *ad);
+
+static void _callui_view_multi_call_split_draw_screen(Evas_Object *eo, void *data);
+
+static void _manage_callers_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _merge_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+static void _swap_cb(void *data, Evas_Object *obj, const char *emission, const char *source);
+
+static int _callui_view_multi_call_split_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3);
+static int _callui_view_multi_call_split_onupdate(call_view_data_t *view_data, void *update_data1);
+static int _callui_view_multi_call_split_onshow(call_view_data_t *view_data, void *appdata);
+static int _callui_view_multi_call_split_ondestroy(call_view_data_t *view_data);
+
+static call_view_data_t s_view = {
+       .type = VIEW_INCALL_MULTICALL_SPLIT_VIEW,
+       .layout = NULL,
+       .onCreate = _callui_view_multi_call_split_oncreate,
+       .onUpdate = _callui_view_multi_call_split_onupdate,
+       .onHide = NULL,
+       .onShow = _callui_view_multi_call_split_onshow,
+       .onDestroy = _callui_view_multi_call_split_ondestroy,
+       .onRotate = NULL,
+       .priv = NULL,
+};
+
+static Evas_Object *_create_merge_swap_btn(Evas_Object *parent, const char *name, const char *text)
+{
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_file_set(layout, EDJ_NAME, name);
+
+       elm_object_part_text_set(layout, PART_TEXT_MERGE_SWAP_BTN, text);
+
+       return layout;
+}
+
+static Evas_Object *_create_hold_active_layout(Evas_Object *parent, call_data_t *call_data)
+{
+       Evas_Object *layout = elm_layout_add(parent);
+       elm_layout_file_set(layout, EDJ_NAME, GROUP_ACTIVE_HOLD_INFO);
+
+       if (call_data->member_count == 1) {
+               _fill_one_contact_layout(layout, call_data);
+       } else {
+               _fill_conference_layout(layout, call_data);
+       }
+
+       return layout;
+}
+
+static void _fill_one_contact_layout(Evas_Object *parent, call_data_t *call_data)
+{
+       const char *pic_path = call_data->call_ct_info.caller_id_path;
+       const char *main_text = call_data->call_ct_info.call_disp_name;
+       const char *sub_text = call_data->call_num;
+       Evas_Object *thumbnail = NULL;
+
+       thumbnail = _callui_create_thumbnail(parent, pic_path, THUMBNAIL_186);
+       elm_object_part_content_set(parent, PART_SWALLOW_CALLER_ID, thumbnail);
+
+       if (main_text && *main_text) {
+               elm_object_part_text_set(parent, PART_TEXT_MAIN, main_text);
+               elm_object_part_text_set(parent, PART_TEXT_SUB, sub_text);
+       } else {
+               elm_object_part_text_set(parent, PART_TEXT_MAIN, sub_text);
+       }
+}
+
+static void _fill_conference_layout(Evas_Object *parent, call_data_t *call_data)
+{
+       CALLUI_RETURN_IF_FAIL(call_data);
+
+       Evas_Object *thumbnail = _callui_create_thumbnail(parent, NULL, CONFERENCE_THUMBNAIL_186);
+       elm_object_part_content_set(parent, PART_SWALLOW_CALLER_ID, thumbnail);
+
+       elm_object_part_text_set(parent, PART_TEXT_MAIN, _("IDS_CALL_BODY_CONFERENCE"));
+
+       char buffer[BUF_SIZE] = {0};
+       snprintf(buffer, BUF_SIZE, _("IDS_CALL_BODY_WITH_PD_PEOPLE_M_CONFERENCE_CALL_ABB"), call_data->member_count);
+       elm_object_part_text_set(parent, PART_TEXT_SUB, buffer);
+}
+
+static void _set_hold_info(Evas_Object *parent, Evas_Object *content)
+{
+       elm_object_part_text_set(content, PART_TEXT_STATUS, _("IDS_CALL_BODY_ON_HOLD_ABB"));
+
+       elm_object_part_content_set(parent, PART_SWALLOW_HOLD_INFO, content);
+       elm_object_signal_emit(content, SIGNAL_SET_BLURRED_BACKGROUND, "");
+}
+
+static void _set_active_info(Evas_Object *parent, Evas_Object *content, callui_app_data_t *ad)
+{
+       elm_object_part_text_set(content, PART_TEXT_STATUS, _("IDS_CALL_BODY_CONNECTED_M_STATUS_ABB"));
+
+       elm_object_part_content_set(parent, PART_SWALLOW_ACTIVE_INFO, content);
+       elm_object_signal_emit(content, SIGNAL_SET_TRANSPARENT_BACKGROUND, "");
+       if (ad->active->member_count > 1) {
+               elm_object_signal_emit(content, SIGNAL_SHOW_ARROW, "");
+               elm_object_signal_callback_add(content, "mouse,up,*", "arrow", _manage_callers_cb, ad);
+       }
+}
+
+static void _set_merge_swap(Evas_Object *parent, callui_app_data_t *ad)
+{
+       Evas_Object *merge = _create_merge_swap_btn(parent, GROUP_MERGE_BTN, _("IDS_CALL_BODY_MERGE_T_CALL"));
+       elm_object_part_content_set(parent, PART_SWALLOW_MERGE, merge);
+       elm_object_signal_callback_add(merge, "mouse,clicked,*", "*", _merge_cb, ad);
+
+       Evas_Object *swap = _create_merge_swap_btn(parent, GROUP_SWAP_BTN, _("IDS_CALL_SK_MULTICALL_SWAP"));
+       elm_object_part_content_set(parent, PART_SWALLOW_SWAP, swap);
+       elm_object_signal_callback_add(swap, "mouse,clicked,*", "*", _swap_cb, ad);
+}
+
+static void _create_btn_region(Evas_Object *parent)
+{
+       Evas_Object *btn_region = elm_layout_add(parent);
+       elm_layout_file_set(btn_region, EDJ_NAME, GROUP_BTN_REGION);
+       elm_object_part_content_set(parent, PART_SWALLOW_BTN_REGION, btn_region);
+}
+
+static void _create_action_panel(Evas_Object *parent)
+{
+       Evas_Object *action_panel = elm_layout_add(parent);
+       elm_layout_file_set(action_panel, EDJ_NAME, GROUP_ACTION_PANEL);
+       elm_object_part_content_set(parent, PART_SWALLOW_ACTIONS_PANEL, action_panel);
+}
+
+static Evas_Object *_create_call_info_layout(Evas_Object *parent, callui_app_data_t *ad)
+{
+       Evas_Object *one_hold_layout = elm_layout_add(parent);
+       elm_layout_file_set(one_hold_layout, EDJ_NAME, GROUP_ONE_HOLD_IN_CONFERENCE);
+
+       Evas_Object *hold_layout = _create_hold_active_layout(one_hold_layout, ad->held);
+       Evas_Object *active_layout = _create_hold_active_layout(one_hold_layout, ad->active);
+
+       _set_hold_info(one_hold_layout, hold_layout);
+       _set_active_info(one_hold_layout, active_layout, ad);
+
+       _set_merge_swap(one_hold_layout, ad);
+
+       return one_hold_layout;
+}
+
+static Evas_Object *_create_split_layout(Evas_Object *parent, callui_app_data_t *ad)
+{
+       Evas_Object *split_layout = elm_layout_add(parent);
+       elm_layout_file_set(split_layout, EDJ_NAME, GROUP_SPLIT);
+
+       Evas_Object *call_info_layout = _create_call_info_layout(parent, ad);
+       elm_object_part_content_set(split_layout, PART_SWALLOW_CALL_INFO, call_info_layout);
+
+       _create_btn_region(split_layout);
+       _create_action_panel(split_layout);
+
+       return split_layout;
+}
+
+static Evas_Object *_create_split_view(Evas_Object *parent, callui_app_data_t *ad)
+{
+       Evas_Object *split_layout = _create_split_layout(parent, ad);
+       elm_object_part_content_set(ad->main_ly, "elm.swallow.content", split_layout);
+
+       _callui_keypad_create_layout(ad);
+
+       return split_layout;
+}
+
+static void _callui_view_multi_call_split_draw_screen(Evas_Object *eo, void *data)
+{
+       dbg("..");
+       call_view_data_t *vd = data;
+       incall_multi_view_split_priv_t *priv = vd->priv;
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       priv->contents = _create_split_view(ad->main_ly, ad);
+
+       _callui_create_top_first_button(ad);
+       _callui_create_top_second_button(ad);
+       _callui_create_top_third_button(ad);
+       _callui_create_bottom_first_button_disabled(ad);
+       _callui_create_bottom_second_button(ad);
+       _callui_create_bottom_third_button(ad);
+
+       _callui_create_end_call_button(priv->contents, vd);
+
+       _callui_lock_screen_refresh_timer(_callvm_get_call_view_data(ad, VIEW_INCALL_MULTICALL_SPLIT_VIEW));
+}
+
+static void _manage_callers_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       callui_app_data_t *ad = data;
+       _callvm_view_change(VIEW_INCALL_MULTICALL_LIST_VIEW, 0, NULL, ad);
+}
+
+static void _merge_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       callui_app_data_t *ad = data;
+       int ret = cm_join_call(ad->cm_handle);
+       if (ret != CM_ERROR_NONE) {
+               err("cm_join_call() is failed");
+       }
+}
+
+static void _swap_cb(void *data, Evas_Object *obj, const char *emission, const char *source)
+{
+       callui_app_data_t *ad = data;
+       int ret = cm_swap_call(ad->cm_handle);
+       if (ret != CM_ERROR_NONE) {
+               err("cm_swap_call() is failed");
+       }
+}
+
+static int _callui_view_multi_call_split_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3)
+{
+       dbg("multi-split view create");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       _callui_view_multi_call_split_onshow(view_data, ad);
+
+       _callui_lock_screen_delete_layout(ad->lock_screen_handle);
+       _callui_lock_screen_create_layout(view_data);
+
+       return 0;
+}
+
+static int _callui_view_multi_call_split_onupdate(call_view_data_t *view_data, void *update_data1)
+{
+       dbg("multi-split view update");
+       callui_app_data_t *ad = _callui_get_app_data();
+       _callui_view_multi_call_split_onshow(view_data, ad);
+       return 0;
+}
+
+static int _callui_view_multi_call_split_onshow(call_view_data_t *view_data, void *appdata)
+{
+       dbg("multi-split view show");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       incall_multi_view_split_priv_t *priv = (incall_multi_view_split_priv_t *)view_data->priv;
+       _callui_view_multi_call_split_draw_screen(priv->contents, view_data);
+
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+
+       return 0;
+}
+
+static int _callui_view_multi_call_split_ondestroy(call_view_data_t *view_data)
+{
+       dbg("multi-split view destroy");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCALL_MULTICALL_SPLIT_VIEW);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, -1);
+
+       free(vd->priv);
+       vd->priv = NULL;
+
+       _callvm_reset_call_view_data(ad, VIEW_INCALL_MULTICALL_SPLIT_VIEW);
+       return 0;
+}
+
+call_view_data_t *_callui_view_multi_call_split_new(callui_app_data_t*ad)
+{
+       s_view.priv = calloc(1, sizeof(incall_multi_view_split_priv_t));
+
+       if (!s_view.priv) {
+               err("ERROR!");
+       }
+
+       return &s_view;
+}
diff --git a/src/callui-view-quickpanel.c b/src/callui-view-quickpanel.c
new file mode 100755 (executable)
index 0000000..a9e7e3e
--- /dev/null
@@ -0,0 +1,814 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui.h"
+#include "callui-view-elements.h"
+#include "callui-view-quickpanel.h"
+#include <minicontrol-provider.h>
+#include <minicontrol-internal.h>
+#include "callui-view-layout-wvga.h"
+#include "callui-common.h"
+#include <app_control.h>
+#include <bundle.h>
+
+#define VIEW_QUICKPANEL_LAYOUT_ID "QUICKPANELVIEW"
+#define MSG_DOMAIN_CONTROL_ACCESS (int)ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL
+#define TXT_TIMER_BUF_LEN 26
+#define CALL_NUMBER_ONE 1
+
+struct callui_view_qp_priv {
+       Evas_Object *caller_id;
+       int rotate_angle;
+       Ecore_Event_Handler *client_msg_handler;
+};
+static Evas_Object *__callui_view_qp_create_contents(void *data, char *group);
+static int __callui_view_qp_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3);
+static int __callui_view_qp_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_qp_onhide(call_view_data_t *view_data);
+static int __callui_view_qp_onshow(call_view_data_t *view_data, void *appdata);
+static int __callui_view_qp_ondestroy(call_view_data_t *view_data);
+static Eina_Bool __callui_qp_client_message_cb(void *data, int type, void *event);
+
+call_view_data_t *_callui_view_qp_new(callui_app_data_t *ad)
+{
+       static call_view_data_t qp_view = {
+       .type = VIEW_QUICKPANEL_VIEW,
+       .layout = NULL,
+       .onCreate = __callui_view_qp_oncreate,
+       .onUpdate = __callui_view_qp_onupdate,
+       .onHide = __callui_view_qp_onhide,
+       .onShow = __callui_view_qp_onshow,
+       .onDestroy = __callui_view_qp_ondestroy,
+       .onRotate = NULL,
+       .priv = NULL,
+       };
+       qp_view.priv = calloc(1, sizeof(callui_view_qp_priv_t));
+       if (!qp_view.priv) {
+               err("ERROR!!!!!!!!!!! ");
+       }
+       return &qp_view;
+};
+
+void _callui_view_quickpanel_change(void)
+{
+       dbg("..");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       call_view_data_t *view_data = _callvm_get_call_view_data(ad, VIEW_QUICKPANEL_VIEW);
+
+       if (ad->win_quickpanel) {
+
+               if (!ad->held && !ad->active && !ad->incom) {
+
+                       dbg("destroy quickpanel");
+                       _callui_view_qp_hide(ad);
+                       _callvm_reset_call_view_data(ad, VIEW_QUICKPANEL_VIEW);
+                       ad->win_quickpanel = NULL;
+
+               } else if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_ENDCALL_VIEW) {
+
+                       dbg("destroy quickpanel on the last End call view");
+                       __callui_view_qp_ondestroy(view_data);
+
+               } else if (view_data && view_data->layout != NULL) {
+
+                       dbg("update quickpanel");
+                       __callui_view_qp_onupdate(view_data, NULL);
+
+               }
+       } else {
+               dbg("create quickpanel");
+               if (view_data == NULL) {
+                       view_data = _callui_view_qp_new(ad);
+                       CALLUI_RETURN_IF_FAIL(view_data);
+                       _callvm_set_call_view_data(ad, VIEW_QUICKPANEL_VIEW, view_data);
+               }
+               if (view_data->layout == NULL) {
+                       __callui_view_qp_oncreate(view_data, 0, NULL, ad);
+               }
+       }
+}
+
+static Eina_Bool __callui_qp_client_message_cb(void *data, int type, void *event)
+{
+       dbg("__callui_qp_client_message_cb");
+       int new_angle = 0;
+       Ecore_X_Event_Client_Message *ev = (Ecore_X_Event_Client_Message *) event;
+       call_view_data_t *vd = (call_view_data_t *)data;
+       callui_view_qp_priv_t *priv = (callui_view_qp_priv_t *)vd->priv;
+
+       if ((ev->message_type == ECORE_X_ATOM_E_ILLUME_ROTATE_WINDOW_ANGLE)
+               || (ev->message_type == ECORE_X_ATOM_E_ILLUME_ROTATE_ROOT_ANGLE)) {
+               new_angle = ev->data.l[0];
+               dbg("ROTATION: %d", new_angle);
+               priv->rotate_angle = new_angle;
+               __callui_view_qp_onshow(vd, NULL);
+       }
+
+       return ECORE_CALLBACK_RENEW;
+}
+
+static void __callui_view_qp_caller_id_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+
+       _callui_view_qp_hide(ad);
+       if (ad->incom) {
+               int ret = -1;
+               ret = cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_NORMAL);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_end_call() is failed");
+               }
+       }
+       /***to do***after lcd changes**/
+/*     if (ad->b_lcd_on == EINA_FALSE) {
+               return;
+       }*/
+
+/*     if (_callui_common_get_idle_lock_type() == LOCK_TYPE_SWIPE_LOCK) {
+               vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
+       }*//**to do**/
+/*     if (_callui_get_idle_lock_type() == CALL_LOCK)
+               vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);*/
+
+       elm_win_activate(ad->win);
+}
+
+static void __callui_qp_launch_top_view_cb(void *data, Evas *evas, Evas_Object *obj, void *event_info)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       _callui_view_qp_hide(data);
+
+       app_control_h request;
+       app_control_create(&request);
+       app_control_set_app_id(request, PACKAGE);
+       int err = app_control_send_launch_request(request, NULL, NULL);
+       if (err != APP_CONTROL_ERROR_NONE) {
+               err("app_control_send_launch_request() failed(0x%x)", err);
+               return;
+       }
+       app_control_destroy(request);
+}
+
+static void __callui_qp_spk_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       int ret = -1;
+
+       if (ad->speaker_status == EINA_TRUE) {
+               ret = cm_speaker_off(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_speaker_off() is failed");
+                       return;
+               }
+       } else {
+               ret = cm_speaker_on(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_speaker_off() is failed");
+                       return;
+               }
+       }
+       _callui_update_speaker_btn(ad, !ad->speaker_status);
+}
+
+static void __callui_qp_resume_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+       int ret = -1;
+
+       if (ad->held != NULL) {
+               ret = cm_unhold_call(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_unhold_call() is failed");
+               }
+       } else {
+               ret = cm_hold_call(ad->cm_handle);
+               if (ret != CM_ERROR_NONE) {
+                       err("cm_hold_call() is failed");
+               }
+       }
+}
+
+Evas_Object *_callui_create_quickpanel_resume_button(void *data, Eina_Bool bdisable)
+{
+       dbg("..");
+       Evas_Object *btn = NULL;
+       Evas_Object *layout = NULL;
+       CALLUI_RETURN_NULL_IF_FAIL(data);
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       layout = ad->quickpanel_layout;
+       CALLUI_RETURN_NULL_IF_FAIL(layout);
+
+       btn = edje_object_part_swallow_get(_EDJ(layout), "swallow.resume_button");
+       if (btn) {
+               sec_dbg("Object Already Exists, so Update Only");
+               evas_object_smart_callback_del(btn, "clicked", __callui_qp_resume_btn_cb);
+       } else {
+               sec_dbg("Object Doesn't Exists, so Re-Create");
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "swallow.resume_button", btn);
+       }
+
+       if (ad->held != NULL) {
+               elm_object_style_set(btn, "style_call_icon_only_qp_resume");
+               evas_object_smart_callback_add(btn, "clicked", __callui_qp_resume_btn_cb, ad);
+       } else {
+               elm_object_style_set(btn, "style_call_icon_only_qp_resume_on");
+               evas_object_smart_callback_add(btn, "clicked", __callui_qp_resume_btn_cb, ad);
+       }
+       evas_object_propagate_events_set(btn, EINA_FALSE);
+
+       return btn;
+}
+
+Evas_Object *_callui_create_quickpanel_speaker_button(void *data, Eina_Bool bdisable)
+{
+       dbg("..");
+       Evas_Object *btn, *layout, *sw;
+       CALLUI_RETURN_NULL_IF_FAIL(data);
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       layout = ad->quickpanel_layout;
+       CALLUI_RETURN_NULL_IF_FAIL(layout);
+
+       sw = edje_object_part_swallow_get(_EDJ(layout), "swallow.speaker_button");
+       if (sw) {
+               sec_dbg("Object Already Exists, so Update Only");
+               btn = sw;
+               evas_object_smart_callback_del(btn, "clicked", __callui_qp_spk_btn_cb);
+       } else {
+               sec_dbg("Object Doesn't Exists, so Re-Create");
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "swallow.speaker_button", btn);
+       }
+
+       if (ad->speaker_status == EINA_FALSE) {
+               elm_object_style_set(btn, "style_call_icon_only_qp_speaker");
+               evas_object_smart_callback_add(btn, "clicked", __callui_qp_spk_btn_cb, ad);
+       } else {
+               elm_object_style_set(btn, "style_call_icon_only_qp_speaker_on");
+               evas_object_smart_callback_add(btn, "clicked", __callui_qp_spk_btn_cb, ad);
+       }
+       evas_object_propagate_events_set(btn, EINA_FALSE);
+
+       elm_object_disabled_set(btn, bdisable);
+       return btn;
+}
+
+static Evas_Object *__callui_create_quickpanel_call_button(void *data)
+{
+       Evas_Object *layout, *sw;
+       Evas_Object *btn = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       layout = ad->quickpanel_layout;
+       CALLUI_RETURN_NULL_IF_FAIL(layout);
+       sw = edje_object_part_swallow_get(_EDJ(layout), "swallow.call_button");
+       if (sw) {
+               dbg("Object Already Exists, so Update Only");
+               btn = sw;
+               evas_object_smart_callback_del(btn, "clicked", __callui_view_qp_caller_id_cb);
+       } else {
+               dbg("Object Doesn't Exists, so Re-Create");
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "swallow.call_button", btn);
+       }
+
+       elm_object_style_set(btn, "style_call_icon_only_qp_call");
+
+       evas_object_smart_callback_add(btn, "clicked", __callui_view_qp_caller_id_cb, ad);
+       evas_object_propagate_events_set(btn, EINA_FALSE);
+
+       return btn;
+}
+
+static void __qp_end_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       dbg("..");
+
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(ad != NULL);
+
+       int ret = -1;
+       _callui_view_qp_hide(ad);
+       if (!(ad->held) && !(ad->incom) && (CM_CALL_STATE_DIALING == ad->active->call_state))/*(dialling_view)*/ {
+               ret = cm_end_call(ad->cm_handle, ad->active->call_id, CALL_RELEASE_TYPE_BY_CALL_HANDLE);
+       } else if ((ad->active) && (ad->held)) {
+               ret = cm_end_call(ad->cm_handle, 0, CALL_RELEASE_TYPE_ALL_ACTIVE_CALLS);
+       } else if ((ad->active) || (ad->held)) {/*single call*/
+               ret = cm_end_call(ad->cm_handle, 0, CALL_RELEASE_TYPE_ALL_CALLS);
+       } else if (ad->incom) {
+               ret = cm_reject_call(ad->cm_handle);
+       } else {
+               err("invalid case!!!!");
+       }
+       if (ret != CM_ERROR_NONE) {
+               err("cm_end_call() is failed");
+               return;
+       }
+}
+
+static Evas_Object *__callui_create_quickpanel_end_button(void *data)
+{
+       Evas_Object *btn, *layout, *sw;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       layout = ad->quickpanel_layout;
+       CALLUI_RETURN_NULL_IF_FAIL(layout);
+       sw = edje_object_part_swallow_get(_EDJ(layout), "swallow.end_button");
+       if (sw) {
+               dbg("Object Already Exists, so Update Only");
+               btn = sw;
+               evas_object_smart_callback_del(btn, "clicked", __qp_end_btn_cb);
+       } else {
+               dbg("Object Doesn't Exists, so Re-Create");
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "swallow.end_button", btn);
+       }
+
+       elm_object_style_set(btn, "style_call_icon_only_qp_end");
+
+       evas_object_smart_callback_add(btn, "clicked", __qp_end_btn_cb, ad);
+       evas_object_propagate_events_set(btn, EINA_FALSE);
+       return btn;
+}
+
+Evas_Object *_callui_create_quickpanel_mute_button(void *data, Eina_Bool bdisable)
+{
+       dbg("..");
+       Evas_Object *btn, *layout, *sw;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       CALLUI_RETURN_NULL_IF_FAIL(ad);
+
+       layout = ad->quickpanel_layout;
+       CALLUI_RETURN_NULL_IF_FAIL(layout);
+
+       sw = edje_object_part_swallow_get(_EDJ(layout), "swallow.mute_button");
+       if (sw) {
+               dbg("Object Already Exists, so Update Only");
+               btn = sw;
+               evas_object_smart_callback_del(btn, "clicked", _callui_mute_btn_cb);
+       } else {
+               dbg("Object Doesn't Exists, so Re-Create");
+               btn = elm_button_add(layout);
+               elm_object_part_content_set(layout, "swallow.mute_button", btn);
+       }
+
+       if (ad->mute_status == EINA_FALSE) {
+               elm_object_style_set(btn, "style_call_icon_only_qp_mute");
+               evas_object_smart_callback_add(btn, "clicked", _callui_mute_btn_cb, ad);
+       } else {
+               elm_object_style_set(btn, "style_call_icon_only_qp_mute_on");
+               evas_object_smart_callback_add(btn, "clicked", _callui_mute_btn_cb, ad);
+       }
+
+       evas_object_propagate_events_set(btn, EINA_FALSE);
+       elm_object_disabled_set(btn, bdisable);
+
+       return btn;
+}
+
+void _callui_view_qp_hide(callui_app_data_t *ad)
+{
+       dbg("..");
+
+       /* Empty implementation */
+}
+
+static void __callui_view_qp_update_caller(Evas_Object *eo, call_data_t *pcall_data)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       if (pcall_data == NULL) {
+               return;
+       }
+
+       char *call_name = pcall_data->call_ct_info.call_disp_name;
+       char *file_path = pcall_data->call_ct_info.caller_id_path;
+
+       char *call_number = NULL;
+       if (strlen(pcall_data->call_disp_num) > 0) {
+               call_number = pcall_data->call_disp_num;
+       } else {
+               call_number = pcall_data->call_num;
+       }
+
+       if (strlen(call_name) == 0) {
+               if (strlen(call_number) == 0) {
+                       edje_object_part_text_set(_EDJ(eo), "txt_call_name", _("IDS_CALL_BODY_UNKNOWN"));
+               } else {
+                       edje_object_part_text_set(_EDJ(eo), "txt_call_name", call_number);
+               }
+       } else {
+               char *convert_text = evas_textblock_text_utf8_to_markup(NULL, call_name);
+               if (convert_text) {
+                       edje_object_part_text_set(_EDJ(eo), "txt_call_name", convert_text);
+                       free(convert_text);
+                       convert_text = NULL;
+               } else {
+                       err("Convert text is NULL");
+               }
+       }
+
+       if (strcmp(file_path, "default") != 0) {
+               _callui_show_caller_id(eo, file_path, TRUE);
+       } else if (ad->landscape) {
+               elm_object_signal_emit(eo, "show_image", "quickpanel_ls");
+       } else {
+               elm_object_signal_emit(eo, "show_image", "quickpanel");
+       }
+}
+
+static void __callui_view_qp_draw_screen(Evas_Object *eo, void *data)
+{
+       dbg("..");
+       call_data_t *call_data = NULL;
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       Evas_Object *call_btn = __callui_create_quickpanel_call_button(ad);
+       elm_object_disabled_set(call_btn, EINA_TRUE);
+       _callui_create_quickpanel_speaker_button(ad, EINA_FALSE);
+
+       if (ad->active && (CM_CALL_STATE_DIALING == ad->active->call_state)) {/**dialling**/
+               dbg("dialing view!!!!!!!!!!");
+               call_data = ad->active;
+               _callui_view_qp_update_text_status(_("IDS_CALL_POP_DIALLING"));
+               _callui_create_quickpanel_mute_button(ad, EINA_TRUE);
+               __callui_view_qp_update_caller(eo, call_data);
+               if (ad->landscape) {
+                       elm_object_signal_emit(eo, "outgoing_call", "quickpanel_ls");
+               } else {
+                       elm_object_signal_emit(eo, "outgoing_call", "quickpanel");
+               }
+               elm_object_signal_emit(eo, "outgoing_call", "quickpanel");
+       } else if (!(ad->held) && !(ad->incom) && ad->active) { /** connected call**/
+               call_data = ad->active;
+               __callui_view_qp_update_caller(eo, call_data);
+               if (ad->active->member_count > 1) {
+                       dbg("multi conf call");
+                       if (ad->landscape) {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel_ls");
+                       } else {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel");
+                       }
+                       edje_object_part_text_set(_EDJ(eo), "txt_call_name", _("IDS_CALL_OPT_CONFERENCE_CALL"));
+               } else {
+                       call_data = ad->active;
+                       __callui_view_qp_update_caller(eo, call_data);
+                       if (ad->landscape) {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel_ls");
+                       } else {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel");
+                       }
+               }
+               _callui_common_update_call_duration(call_data->start_time);
+               _callui_create_quickpanel_mute_button(ad, EINA_FALSE);
+       } else if ((ad->active) && (ad->held)) {/***split call*****/
+               dbg("multi split call");
+               call_data = ad->active;
+               if (ad->active->member_count > 1) {
+                       _callui_create_quickpanel_mute_button(ad, EINA_FALSE);
+                       __callui_view_qp_update_caller(eo, call_data);
+                       if (ad->landscape) {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel_ls");
+                       } else {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel");
+                       }
+                       edje_object_part_text_set(_EDJ(eo), "txt_call_name", _("IDS_CALL_OPT_CONFERENCE_CALL"));
+               } else if (ad->active->member_count == 1) {
+                       __callui_view_qp_update_caller(eo, call_data);
+                       if (ad->landscape) {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel_ls");
+                       } else {
+                               elm_object_signal_emit(eo, "during_call", "quickpanel");
+                       }
+               } else {
+                       dbg("invalid case");
+               }
+               _callui_create_quickpanel_mute_button(ad, EINA_FALSE);
+       } else if ((ad->active) || (ad->held)) {/**conference call**/
+               if ((ad->active)) {/**active call**/
+                       call_data = ad->active;
+                       if (ad->active->member_count > 1) {
+                               dbg("multi conf call");
+                               edje_object_part_text_set(_EDJ(eo), "txt_call_name", _("IDS_CALL_OPT_CONFERENCE_CALL"));
+                       } else {
+                               dbg("single call");
+                               __callui_view_qp_update_caller(eo, call_data);
+                               if (ad->landscape) {
+                                       elm_object_signal_emit(eo, "during_call", "quickpanel_ls");
+                               } else {
+                                       elm_object_signal_emit(eo, "during_call", "quickpanel");
+                               }
+                       }
+                       _callui_common_update_call_duration(call_data->start_time);
+                       _callui_create_quickpanel_mute_button(ad, EINA_FALSE);
+               } else if ((ad->held)) {/**held call**/
+                       call_data = ad->held;
+                       if (ad->held->member_count > 1) {
+                               dbg("multi conf call");
+                               edje_object_part_text_set(_EDJ(eo), "txt_call_name", _("IDS_CALL_OPT_CONFERENCE_CALL"));
+                               _callui_create_quickpanel_resume_button(ad, EINA_TRUE);
+                               if (ad->landscape) {
+                                       elm_object_signal_emit(eo, "resume_call", "quickpanel_ls");
+                               } else {
+                                       elm_object_signal_emit(eo, "resume_call", "quickpanel");
+                               }
+                       } else {
+                               dbg("single call");
+                               __callui_view_qp_update_caller(eo, call_data);
+                               _callui_create_quickpanel_resume_button(ad, EINA_TRUE);
+                               if (ad->landscape) {
+                                       elm_object_signal_emit(eo, "resume_call", "quickpanel_ls");
+                               } else {
+                                       elm_object_signal_emit(eo, "resume_call", "quickpanel");
+                               }
+                       }
+                       _callui_view_qp_update_text_status(_("IDS_CALL_BODY_ON_HOLD_ABB"));
+                       _callui_create_quickpanel_mute_button(ad, EINA_TRUE);
+               }
+       } else if (ad->incom) {
+               dbg("incoming view!!!!!!!!!!");
+               call_data = ad->incom;
+               __callui_view_qp_update_caller(eo, call_data);
+               _callui_view_qp_update_text_status(_("IDS_CALL_BODY_INCOMING_CALL"));
+               _callui_create_quickpanel_mute_button(ad, EINA_TRUE);
+               _callui_create_quickpanel_speaker_button(ad, EINA_TRUE);
+               if (ad->landscape) {
+                       elm_object_signal_emit(eo, "incoming_call", "quickpanel_ls");
+               } else {
+                       elm_object_signal_emit(eo, "incoming_call", "quickpanel");
+               }
+               elm_object_disabled_set(call_btn, EINA_FALSE);
+       } else {
+               dbg("incoming call. error!");
+       }
+       __callui_create_quickpanel_end_button(ad);
+}
+
+static void __callui_view_qp_provider_cb(minicontrol_viewer_event_e event_type, bundle *event_arg)
+{
+       dbg("__callui_view_qp_viewer_cb %i", event_type);
+       char *angle = NULL;
+       if (event_arg) {
+               bundle_get_str(event_arg, "angle", &angle);
+       }
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_IF_FAIL(ad);
+       callui_view_qp_priv_t *priv = (callui_view_qp_priv_t *)ad->view_data->priv;
+       if (angle && angle[0] != '/0') {
+               priv->rotate_angle = atoi(angle);
+       }
+       __callui_view_qp_onshow(ad->view_data, NULL);
+}
+
+static Evas_Object *__callui_view_qp_create_window(callui_app_data_t *priv)
+{
+       Evas_Object *win;
+       win = minicontrol_create_window("org.tizen.call-ui", MINICONTROL_TARGET_VIEWER_QUICK_PANEL, __callui_view_qp_provider_cb);
+       elm_win_alpha_set(win, EINA_TRUE);
+       evas_object_resize(win, ELM_SCALE_SIZE(MAIN_SCREEN_BIG_W), ELM_SCALE_SIZE(QP_WIN_H));
+
+       if (elm_win_wm_rotation_supported_get(win)) {
+               int rotate_angles[3] = {0, 90, 270};
+               /*Set the required angles wherein the rotation has to be supported*/
+               elm_win_wm_rotation_available_rotations_set(win, rotate_angles, 3);
+       }
+       return win;
+}
+
+static Evas_Object *__callui_view_qp_create_layout_main(Evas_Object *parent)
+{
+       if (parent == NULL) {
+               dbg("ERROR");
+               return NULL;
+       }
+
+       Evas_Object *ly;
+       ly = elm_layout_add(parent);
+
+       if (ly == NULL) {
+               err("Failed elm_layout_add.");
+               return NULL;
+       }
+
+       elm_layout_theme_set(ly, "layout", "application", "default");
+       evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       elm_win_resize_object_add(parent, ly);
+
+       edje_object_signal_emit(_EDJ(ly), "elm,state,show,content", "elm");
+
+       return ly;
+}
+
+static Evas_Object *__callui_view_qp_create_contents(void *data, char *group)
+{
+       if (data == NULL) {
+               dbg("ERROR");
+               return NULL;
+       }
+       callui_app_data_t *ad = _callui_get_app_data();
+       Evas_Object *eo = NULL;
+
+       /* load edje */
+       eo = _callui_load_edj(ad->win_quickpanel, EDJ_NAME, group);
+
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+static int __callui_view_qp_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *appdata)
+{
+       dbg("quickpanel view create!!");
+
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+       callui_view_qp_priv_t *priv = (callui_view_qp_priv_t *)view_data->priv;
+       ad->view_data = view_data;
+       if (!view_data->layout) {
+               ad->win_quickpanel = __callui_view_qp_create_window(priv);
+               if (ad->win_quickpanel == NULL) {
+                       dbg("ERROR");
+                       return -1;
+               }
+               priv->rotate_angle = elm_win_rotation_get(ad->win_quickpanel);
+               dbg("current rotate angle(%d)", priv->rotate_angle);
+               view_data->layout = __callui_view_qp_create_layout_main(ad->win_quickpanel);
+               if (view_data->layout == NULL) {
+                       dbg("ERROR");
+                       return -1;
+               }
+       }
+
+       if (priv->client_msg_handler == NULL)
+               priv->client_msg_handler = ecore_event_handler_add(ECORE_X_EVENT_CLIENT_MESSAGE, __callui_qp_client_message_cb, view_data);
+
+       __callui_view_qp_onshow(view_data, NULL);
+       return 0;
+}
+
+static int __callui_view_qp_onupdate(call_view_data_t *view_data, void *update_data1)
+{
+       dbg("quickpanel view update!!");
+
+       __callui_view_qp_onshow(view_data, NULL);
+       return 0;
+}
+
+static int __callui_view_qp_onhide(call_view_data_t *view_data)
+{
+       dbg("quickpanel view hide!!");
+
+       evas_object_hide(view_data->layout);
+       return 0;
+}
+
+static int __callui_view_qp_onshow(call_view_data_t *view_data, void *appdata)
+{
+       dbg("quickpanel view show!!");
+       callui_app_data_t *ad = _callui_get_app_data();
+       callui_view_qp_priv_t *priv = (callui_view_qp_priv_t *)view_data->priv;
+       if (ad->quickpanel_layout) {
+               evas_object_event_callback_del(ad->quickpanel_layout, EVAS_CALLBACK_MOUSE_UP, __callui_qp_launch_top_view_cb);
+               evas_object_del(ad->quickpanel_layout);
+               ad->quickpanel_layout = NULL;
+       }
+
+       if (priv->rotate_angle == 0 || priv->rotate_angle == 180) {
+               dbg("portrait mode layout");
+               ad->landscape = false;
+               evas_object_resize(ad->win_quickpanel, ELM_SCALE_SIZE(MAIN_SCREEN_BIG_W), ELM_SCALE_SIZE(QP_WIN_H));
+               ad->quickpanel_layout = __callui_view_qp_create_contents(view_data, GRP_QUICKPANEL);
+       } else if (priv->rotate_angle == 90 || priv->rotate_angle == 270) {
+               dbg("landscape mode layout");
+               ad->landscape = true;
+               evas_object_resize(ad->win_quickpanel, ELM_SCALE_SIZE(MAIN_SCREEN_BIG_H), ELM_SCALE_SIZE(QP_WIN_H));
+               ad->quickpanel_layout = __callui_view_qp_create_contents(view_data, GRP_QUICKPANEL_LS);
+       }
+
+       elm_object_part_content_set(view_data->layout, "elm.swallow.content", ad->quickpanel_layout);
+       evas_object_name_set(ad->quickpanel_layout, VIEW_QUICKPANEL_LAYOUT_ID);
+       dbg("[========== QUICKPANEL:ad->quickpanel_layout Addr : [%p] ==========]", ad->quickpanel_layout);
+       evas_object_event_callback_add(ad->quickpanel_layout, EVAS_CALLBACK_MOUSE_UP, __callui_qp_launch_top_view_cb, ad);
+
+       __callui_view_qp_draw_screen(ad->quickpanel_layout, ad);
+       evas_object_show(ad->win_quickpanel);
+       evas_object_show(ad->quickpanel_layout);
+       evas_object_show(view_data->layout);
+
+       /* Prohibit remove of mini control */
+       minicontrol_send_event(ad->win_quickpanel, MINICONTROL_EVENT_REQUEST_LOCK, NULL);
+
+       return 0;
+}
+
+static int __callui_view_qp_ondestroy(call_view_data_t *view_data)
+{
+       dbg("quickpanel view destroy!!");
+
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, -1);
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_QUICKPANEL_VIEW);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, -1);
+
+       callui_view_qp_priv_t *priv = (callui_view_qp_priv_t *)vd->priv;
+
+       if (priv != NULL) {
+               if (priv->caller_id) {
+                       evas_object_del(priv->caller_id);
+                       priv->caller_id = NULL;
+               }
+
+               ecore_event_handler_del(priv->client_msg_handler);
+
+               free(priv);
+               priv = NULL;
+       }
+
+       if (ad->quickpanel_layout) {
+               evas_object_del(ad->quickpanel_layout);
+               ad->quickpanel_layout = NULL;
+       }
+
+       if (vd->layout != NULL) {
+               evas_object_hide(vd->layout);
+               evas_object_del(vd->layout);
+               vd->layout = NULL;
+       }
+
+       _callvm_reset_call_view_data(ad, VIEW_QUICKPANEL_VIEW);
+
+       if (ad->win_quickpanel) {
+               evas_object_del(ad->win_quickpanel);
+               ad->win_quickpanel = NULL;
+       }
+
+       return 0;
+}
+
+void _callui_view_qp_update_text_status(char *txt_status)
+{
+       dbg("..");
+       callui_app_data_t *ad = _callui_get_app_data();
+       if (ad == NULL) {
+               dbg("app Data is NULL");
+               return;
+       }
+
+       if (ad->win_quickpanel && ad->quickpanel_layout) {
+               edje_object_part_text_set(_EDJ(ad->quickpanel_layout),
+                               "txt_timer", txt_status);
+       }
+
+}
+
+void _callui_view_qp_set_call_timer(Evas_Object *qp_layout, char *pcall_timer)
+{
+       CALLUI_RETURN_IF_FAIL(qp_layout);
+       callui_app_data_t *ad  = _callui_get_app_data();
+       if (!ad) {
+               dbg("ad is NULL!!!");
+               return;
+       }
+
+       if (ad->active) {
+               if (ad->held) {
+                       char buf[TXT_TIMER_BUF_LEN] = {0};
+                       char buf_tmp[TXT_TIMER_BUF_LEN] = {0};
+                       snprintf(buf_tmp, sizeof(buf_tmp), "%s / %s", pcall_timer, _("IDS_CALL_BODY_PD_ON_HOLD_M_STATUS_ABB"));
+                       snprintf(buf, sizeof(buf), buf_tmp, CALL_NUMBER_ONE);
+                       edje_object_part_text_set(_EDJ(qp_layout), "txt_timer", buf);
+               } else {
+                       edje_object_part_text_set(_EDJ(qp_layout), "txt_timer", _(pcall_timer));
+               }
+       }
+}
diff --git a/src/callui-view-single-call.c b/src/callui-view-single-call.c
new file mode 100644 (file)
index 0000000..8e4717c
--- /dev/null
@@ -0,0 +1,369 @@
+/*
+ * 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.
+ *
+ */
+
+#include "callui.h"
+#include "callui-view-single-call.h"
+#include "callui-view-elements.h"
+#include "callui-keypad.h"
+#include "callui-common.h"
+
+#define         VIEW_SINGLE_CALL_LAYOUT_ID "ONEVIEW"
+
+struct incall_one_view_priv {
+       Evas_Object *contents;
+       Evas_Object *caller_info;
+       Evas_Object *held_call_ly;
+       Evas_Object *extra_vol_ly;
+       Evas_Object *btn_ly;
+       Evas_Object *ic;
+};
+
+static int __callui_view_single_call_oncreate(call_view_data_t *view_data, unsigned int param1, void *param2, void *param3);
+static int __callui_view_single_call_onupdate(call_view_data_t *view_data, void *update_data1);
+static int __callui_view_single_call_onhide(call_view_data_t *view_data);
+static int __callui_view_single_call_onshow(call_view_data_t *view_data, void *appdata);
+static int __callui_view_single_call_ondestroy(call_view_data_t *view_data);
+static Evas_Object *__callui_view_single_call_create_contents(void *data, char *grpname);
+static int __callui_view_single_call_onRotate(call_view_data_t *view_data);
+
+call_view_data_t *_callui_view_single_call_new(callui_app_data_t *ad)
+{
+       static call_view_data_t one_call_view = {
+               .type = VIEW_INCALL_ONECALL_VIEW,
+               .layout = NULL,
+               .onCreate = __callui_view_single_call_oncreate,
+               .onUpdate = __callui_view_single_call_onupdate,
+               .onHide = __callui_view_single_call_onhide,
+               .onShow = __callui_view_single_call_onshow,
+               .onDestroy = __callui_view_single_call_ondestroy,
+               .onRotate = __callui_view_single_call_onRotate,
+               .priv = NULL,
+       };
+       one_call_view.priv = calloc(1, sizeof(incall_one_view_priv_t));
+
+       if (!one_call_view.priv) {
+               err("ERROR!!!!!!!!!!! ");
+       }
+
+       return &one_call_view;
+}
+
+static Evas_Object *__callui_view_single_call_create_contents(void *data, char *grpname)
+{
+       if (data == NULL) {
+               err("ERROR");
+               return NULL;
+       }
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Evas_Object *eo = NULL;
+
+       /* load edje */
+       eo = _callui_load_edj(ad->main_ly, EDJ_NAME, grpname);
+       if (eo == NULL)
+               return NULL;
+
+       return eo;
+}
+
+void __callui_view_single_more_btn_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       call_view_data_t *vd = (call_view_data_t *)data;
+       CALLUI_RETURN_IF_FAIL(vd != NULL);
+       _callui_load_more_option(vd);
+       return;
+}
+
+static void __callui_view_single_call_draw_screen(callui_app_data_t *ad, Evas_Object *eo, void *data)
+{
+       dbg("__callui_view_single_call_draw_screen");
+
+       call_view_data_t *vd = (call_view_data_t *)data;
+       incall_one_view_priv_t *priv = (incall_one_view_priv_t *)vd->priv;
+       call_data_t *call_data = NULL;
+       char *file_path = NULL;
+       Eina_Bool is_held = EINA_FALSE;
+       char *sim_name = NULL;
+       char status_txt[128 + 1] = {0, };
+
+       if (ad->active) {
+               call_data = ad->active;
+               is_held = EINA_FALSE;
+       } else {
+               call_data = ad->held;
+               is_held = EINA_TRUE;
+       }
+       if (call_data == NULL) {
+               dbg("call Data is NULL");
+               return;
+       }
+
+       file_path = call_data->call_ct_info.caller_id_path;
+
+       sec_dbg("file_path: %s", file_path);
+
+       if (call_data->is_emergency == EINA_TRUE) {
+               elm_object_signal_emit(priv->caller_info, "set_emergency_mode", "");
+       } else {
+               if (strcmp(file_path, "default") != 0) {
+                       _callui_show_caller_id(priv->caller_info, file_path, FALSE);
+               }
+       }
+
+       if (is_held) {
+               dbg("=================HOLD======================");
+               evas_object_show(priv->held_call_ly);
+               elm_object_part_content_set(priv->contents, "resume_icon_swallow", priv->held_call_ly);
+               snprintf(status_txt, sizeof(status_txt), _("IDS_CALL_BODY_ON_HOLD_ABB"));
+               _callui_show_caller_info_status(ad, status_txt, EINA_FALSE);
+       } else {
+               dbg("=================UNHOLD======================");
+               evas_object_hide(priv->held_call_ly);
+               elm_object_part_content_unset(priv->contents, "resume_icon_swallow");
+               _callui_common_update_call_duration(call_data->start_time);
+       }
+
+       char *call_name = call_data->call_ct_info.call_disp_name;
+       char *disp_number = NULL;
+       if (strlen(call_data->call_disp_num) > 0) {
+               disp_number = call_data->call_disp_num;
+       } else {
+               disp_number = call_data->call_num;
+       }
+
+       if (call_data->is_emergency == EINA_TRUE) {
+               call_name = _("IDS_COM_BODY_EMERGENCY_NUMBER");
+               disp_number = "";
+       }
+
+       if (strlen(call_name) == 0) {
+               _callui_show_caller_info_name(ad, disp_number, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "1line", "caller_name");
+       } else if (call_data->is_emergency == EINA_TRUE) {
+               _callui_show_caller_info_name(ad, call_name, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "1line", "caller_name");
+       } else {
+               _callui_show_caller_info_name(ad, call_name, EINA_FALSE);
+               _callui_show_caller_info_number(ad, disp_number, EINA_FALSE);
+               elm_object_signal_emit(priv->caller_info, "2line", "caller_name");
+       }
+
+       _callui_create_top_third_button(ad);
+
+       if (is_held) {
+               _callui_create_top_second_button_disabled(ad);
+               _callui_create_bottom_second_button_disabled(ad);
+
+       } else {
+               _callui_create_top_second_button(ad);
+               _callui_create_bottom_second_button(ad);
+       }
+
+       _callui_create_bottom_first_button(ad);
+       _callui_create_top_first_button(ad);
+       _callui_create_bottom_third_button(ad);
+
+       elm_object_signal_emit(priv->contents, "SHOW_EFFECT", "ALLBTN");
+       if (priv->contents) {
+               eext_object_event_callback_del(priv->contents, EEXT_CALLBACK_MORE, __callui_view_single_more_btn_cb);
+       }
+       eext_object_event_callback_add(priv->contents, EEXT_CALLBACK_MORE, __callui_view_single_more_btn_cb, vd);
+       _callui_create_end_call_button(priv->contents, vd);
+       evas_object_show(eo);
+}
+
+static int __callui_view_single_call_oncreate(call_view_data_t *vd, unsigned int param1, void *param2, void *appdata)
+{
+       dbg("incall view create");
+
+       incall_one_view_priv_t *priv = (incall_one_view_priv_t *)vd->priv;
+       callui_app_data_t *ad = (callui_app_data_t *) appdata;
+       call_data_t *call_data = NULL;
+
+       if (ad->active) {
+               call_data = ad->active;
+       } else {
+               call_data = ad->held;
+       }
+       if (call_data == NULL) {
+               err("call data is null");
+               return -1;
+       }
+
+       if (ad->main_ly) {
+               priv->contents = __callui_view_single_call_create_contents(ad, GRP_MAIN_LY);
+               elm_object_part_content_set(ad->main_ly, "elm.swallow.content", priv->contents);
+
+               /* Extra Volume Layout */
+               priv->extra_vol_ly = __callui_view_single_call_create_contents(ad, GRP_EXTRA_VOLUME);
+
+               priv->btn_ly = elm_object_part_content_get(priv->contents, "btn_region");
+               if (!priv->btn_ly) {
+                       priv->btn_ly = __callui_view_single_call_create_contents(ad, GRP_BUTTON_LAYOUT);
+                       elm_object_part_content_set(priv->contents, "btn_region", priv->btn_ly);
+               }
+
+               priv->caller_info = elm_object_part_content_get(priv->contents, "caller_info");
+               if (!priv->caller_info) {
+                       priv->caller_info = __callui_view_single_call_create_contents(ad, GRP_CALLER_INFO);
+                       elm_object_part_content_set(priv->contents, "caller_info", priv->caller_info);
+               }
+
+               evas_object_name_set(priv->contents, VIEW_SINGLE_CALL_LAYOUT_ID);
+               dbg("[========== ONEVIEW: priv->contents Addr : [%p] ==========]", priv->contents);
+
+               /*create keypad layout*/
+               _callui_keypad_create_layout(ad);
+       } else {
+               err("ERROR");
+               return -1;
+       }
+
+       __callui_view_single_call_onshow(vd, ad);
+
+       if (ad->lock_screen_handle == NULL) {
+               ad->lock_screen_handle = _callui_lock_screen_create_layout(vd);
+       } else if (_callui_lock_screen_is_lockscreen_shown() == FALSE) {
+               _callui_lock_screen_show_layout(ad->lock_screen_handle);
+       }
+
+       return 0;
+}
+
+static int __callui_view_single_call_onupdate(call_view_data_t *view_data, void *update_data)
+{
+       dbg("incall view update");
+       callui_app_data_t *ad = _callui_get_app_data();
+       __callui_view_single_call_onshow(view_data, ad);
+       return 0;
+}
+
+static int __callui_view_single_call_onhide(call_view_data_t *view_data)
+{
+       dbg("incall view hide");
+       callui_app_data_t *ad = _callui_get_app_data();
+
+       evas_object_hide(ad->main_ly);
+       return 0;
+}
+
+static int __callui_view_single_call_onshow(call_view_data_t *view_data, void *appdata)
+{
+       dbg("incall view show");
+       callui_app_data_t *ad = (callui_app_data_t *)appdata;
+       incall_one_view_priv_t *priv = (incall_one_view_priv_t *)view_data->priv;
+
+       __callui_view_single_call_draw_screen(ad, priv->contents, view_data);
+
+       evas_object_hide(ad->main_ly);
+       evas_object_show(ad->main_ly);
+
+       return 0;
+}
+
+static int __callui_view_single_call_ondestroy(call_view_data_t *view_data)
+{
+       dbg("incall view destroy");
+       callui_app_data_t *ad = _callui_get_app_data();
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, -1);
+
+
+       call_view_data_t *vd = _callvm_get_call_view_data(ad, VIEW_INCALL_ONECALL_VIEW);
+       CALLUI_RETURN_VALUE_IF_FAIL(vd, -1);
+       incall_one_view_priv_t *priv = (incall_one_view_priv_t *)vd->priv;
+
+       if (priv != NULL) {
+               if (ad->ctxpopup) {
+                       elm_ctxpopup_dismiss(ad->ctxpopup);
+                       ad->ctxpopup = NULL;
+               }
+
+               if (priv->extra_vol_ly) {
+                       evas_object_del(priv->extra_vol_ly);
+                       priv->extra_vol_ly = NULL;
+               }
+
+               if (priv->held_call_ly) {
+                       evas_object_del(priv->held_call_ly);
+                       priv->held_call_ly = NULL;
+               }
+
+               /*Delete keypad layout*/
+               _callui_keypad_delete_layout(ad);
+
+               if (priv->contents) {
+                       eext_object_event_callback_del(priv->contents, EEXT_CALLBACK_MORE, __callui_view_single_more_btn_cb);
+                       _callui_common_reset_main_ly_text_fields(priv->contents);
+               }
+               elm_object_signal_emit(priv->contents, "HIDE_BTN_LY", "ALLBTN");
+
+               free(priv);
+               priv = NULL;
+       }
+
+       _callvm_reset_call_view_data(ad, VIEW_INCALL_ONECALL_VIEW);
+
+       dbg("complete destroy one view");
+       return 0;
+}
+
+static int __callui_view_single_call_onRotate(call_view_data_t *view_data)
+{
+#if 0
+       CALLUI_DEBUG(DEBUG, "*** Single Call view Rotate ***");
+       incall_one_view_priv_t *priv = view_data->priv;
+       callui_app_data_t *ad = _vcui_get_app_data();
+       call_data_t *call_data = _vcui_doc_get_first_call_data_from_list();
+       char *file_path = _vcui_doc_get_caller_id_file_path(call_data);
+
+       if (call_data == NULL) {
+               CALLUI_DEBUG(DEBUG, "call Data is NULL");
+               return -1;
+       }
+
+       if (strcmp(file_path, "default") != 0) {
+               _vcui_show_caller_id(priv->caller_info, file_path, FALSE);
+               /*put blur effect on full-cid*/
+       } else if (_vcui_doc_get_is_favorite_contact(call_data)) {
+               _vcui_show_favorit_caller_id(priv->caller_info, _vcui_doc_get_contact_index(call_data));
+       }
+
+       if (IS_PORTRAIT_MODE(ad->rotate_angle)) { /* Portrait Mode */
+               elm_object_signal_emit(priv->contents, "set_portrait", "incall_layout");
+               elm_object_signal_emit(priv->contents, "SHOW_NO_EFFECT", "ALLBTN");
+               elm_object_signal_emit(priv->caller_info, "set_portrait", "caller_info_layout");
+               elm_object_signal_emit(priv->btn_ly, "set_portrait", "btn_layout");
+       } else { /* Landscape Mode */
+               elm_object_signal_emit(priv->contents, "set_landscape", "incall_layout");
+               elm_object_signal_emit(priv->contents, "SHOW_NO_EFFECT_LANDSCAPE", "ALLBTN");
+               elm_object_signal_emit(priv->caller_info, "set_landscape", "caller_info_layout");
+               elm_object_signal_emit(priv->btn_ly, "set_landscape", "btn_layout");
+       }
+
+#ifdef _VC_NOISE_REDUCTION
+       _vc_ui_view_single_call_set_noise_reduction_icon(view_data);
+#endif
+#ifdef _VC_SOUND_EQ
+       _vc_ui_view_single_call_set_sound_eq_icon(view_data);
+#endif
+
+       _vcui_keypad_update_after_rotate(priv->contents, view_data);
+
+       evas_object_show(ad->win_main);
+#endif
+       return 0;
+}
+
diff --git a/src/callui.c b/src/callui.c
new file mode 100755 (executable)
index 0000000..40e5ac9
--- /dev/null
@@ -0,0 +1,974 @@
+/*
+ * 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.
+ *
+ */
+
+#include <utilX.h>
+#include <app_control.h>
+#include <app.h>
+#include <app_extension.h>
+#include <glib-object.h>
+#include <vconf.h>
+#include <vconf-keys.h>
+#ifdef _CALLUI_SIGNAL_HANDLER
+#include <signal.h>
+#endif
+
+#include <bluetooth.h>
+
+#include "sys/socket.h"
+#include "sys/un.h"
+#include "callui.h"
+#include "callui-view-elements.h"
+#include "callui-common.h"
+#include <device/display.h>
+#include <device/callback.h>
+#include "callui-view-quickpanel.h"
+#include "callui-view-layout-wvga.h"
+
+#define EARSET_KEY_LONG_PRESS_TIMEOUT                  1.0
+
+/* Need to remove these global variables and put in app data structure or in other suitable structure */
+#ifdef _CALLUI_SIGNAL_HANDLER
+#define CALLUI_SIG_NUM 12
+static struct sigaction callui_app_sigact;
+static struct sigaction callui_app_sigoldact[CALLUI_SIG_NUM];
+static int callui_app_sig_to_handle[] = { SIGABRT, SIGBUS, SIGFPE, SIGILL, SIGQUIT, SIGSEGV, SIGSYS, SIGTRAP, SIGXCPU, SIGXFSZ, SIGTERM, SIGPIPE };
+#endif
+
+static bool _callui_app_create_layout(void *data);
+static Eina_Bool __callui_app_win_hard_key_down_cb(void *data, int type, void *event);
+static Eina_Bool __callui_app_win_hard_key_up_cb(void *data, int type, void *event);
+
+static callui_app_data_t g_ad;
+
+#ifdef _CALLUI_SIGNAL_HANDLER
+/**
+* This function serves as the signal handler function for the SIGSEGV Signal
+*
+* @return              nothing
+* @param[in]           signal_no               Signal Number
+* @param[in]           signal_info     Information associated with the generated signal
+* @param[in]           signal_context  Signal Context Info
+*/
+static void __callui_exit_handler(void)
+{
+       err("\n __callui_exit_handler \n");
+       /*syslog (LOG_INFO, "[VOICE-CALL] __vcui_app_exit_handler\n"); */
+}
+
+/**
+* This function serves as the signal handler function for the SIGSEGV Signal
+*
+* @return              nothing
+* @param[in]           signal_no               Signal Number
+* @param[in]           signal_info     Information associated with the generated signal
+* @param[in]           signal_context  Signal Context Info
+*/
+static void __callui_sigsegv_handler(int signal_no)
+{
+       int i = 0;
+
+       err("SISEGV Received, Signal Number: :%d \n", signal_no);
+
+
+       for (i = 0; i < CALLUI_SIG_NUM; i++) {
+               sigaction(callui_app_sig_to_handle[i], &(callui_app_sigoldact[i]), NULL);
+       }
+
+       raise(signal_no);       /*raise signal intentionally (pass the same signal) */
+}
+
+/**
+* This function registers a user space signal handler for the signal SIGSEGV (Signal #11)
+*
+* @return              nothing
+*/
+static void __callui_register_sigsegv_handler()
+{
+       dbg("..");
+
+       int i = 0;
+       callui_app_sigact.sa_flags = SA_NOCLDSTOP;
+       callui_app_sigact.sa_handler = (void *)__callui_sigsegv_handler;
+       sigemptyset(&callui_app_sigact.sa_mask);
+
+       for (; i < CALLUI_SIG_NUM; i++) {
+               sigaction(callui_app_sig_to_handle[i], &callui_app_sigact, &(callui_app_sigoldact[i]));
+       }
+
+}
+#endif
+
+static call_data_t *__callui_call_data_new(char *number)
+{
+       dbg("__calldoc_call_data_new()");
+       call_data_t *call_data = NULL;
+       if (NULL == number) {
+               warn("number is NULL");
+       }
+
+       call_data = (call_data_t *)calloc(1, sizeof(call_data_t));
+       if (NULL == call_data) {
+               warn("failed to alloc memory");
+               return NULL;
+       }
+
+       call_data->call_id = NO_HANDLE;
+       call_data->member_count = 0;
+       if (number) {
+               g_strlcpy(call_data->call_num, number, CALLUI_PHONE_NUMBER_LENGTH_MAX);
+       }
+       call_data->call_ct_info.person_id = -1;
+
+       return call_data;
+}
+
+static void __callui_app_win_key_grab(callui_app_data_t *ad)
+{
+       int result = 0;
+       result = utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_MEDIA, EXCLUSIVE_GRAB);
+       if (result)
+               dbg("KEY_MEDIA key grab failed");
+
+       if (_callui_common_is_powerkey_mode_on()) {
+               result = utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_POWER, EXCLUSIVE_GRAB);
+       } else {
+               result = utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_POWER, SHARED_GRAB);
+       }
+       if (result) {
+               dbg("KEY_POWER key grab failed");
+       }
+
+       if (ad->downkey_handler == NULL)
+               ad->downkey_handler = ecore_event_handler_add(ECORE_EVENT_KEY_DOWN, __callui_app_win_hard_key_down_cb, ad);
+       if (ad->upkey_handler == NULL)
+               ad->upkey_handler = ecore_event_handler_add(ECORE_EVENT_KEY_UP, __callui_app_win_hard_key_up_cb, ad);
+}
+
+static void __callui_update_call_data(call_data_t **call_data, cm_call_data_t* cm_call_data)
+{
+       dbg("__callui_update_call_data()");
+       call_data_t *tmp_call_data = NULL;
+       char *call_number = NULL;
+       int person_id = -1;
+       if (NULL == cm_call_data) {
+               warn("cm_call_data is NULL");
+               g_free(*call_data);
+               *call_data = NULL;
+               return;
+       }
+
+       cm_call_data_get_call_number(cm_call_data, &call_number);
+       tmp_call_data = __callui_call_data_new(call_number);
+       CALLUI_RETURN_IF_FAIL(tmp_call_data);
+
+       cm_call_data_get_call_id(cm_call_data, &tmp_call_data->call_id);
+       cm_call_data_get_call_member_count(cm_call_data, &tmp_call_data->member_count);
+       cm_call_data_get_call_direction(cm_call_data, &tmp_call_data->call_direction);
+       cm_call_data_get_call_domain(cm_call_data, &tmp_call_data->call_domain);
+       cm_call_data_get_call_state(cm_call_data, &tmp_call_data->call_state);
+       cm_call_data_get_call_type(cm_call_data, &tmp_call_data->call_type);
+       cm_call_data_is_emergency_call(cm_call_data, &tmp_call_data->is_emergency);
+       cm_call_data_get_start_time(cm_call_data, &tmp_call_data->start_time);
+
+       /* Check for Contact Index and accordingly update the contact information if the contact is saved */
+       cm_call_data_get_person_id(cm_call_data, &person_id);
+       if ((person_id != -1) && (tmp_call_data->call_ct_info.person_id == -1)) {
+               dbg("contact exists with index:[%d]", person_id);
+               _callui_common_get_contact_info(person_id, &tmp_call_data->call_ct_info);
+       }
+
+       if (strlen(tmp_call_data->call_ct_info.caller_id_path) <= 0) {
+               g_strlcpy(tmp_call_data->call_ct_info.caller_id_path, "default", CALLUI_IMAGE_PATH_LENGTH_MAX);
+       }
+
+       g_free(*call_data);
+       *call_data = tmp_call_data;
+
+       return;
+}
+
+static void __callui_update_all_call_data(callui_app_data_t *ad, cm_call_event_data_t* call_state_data)
+{
+       cm_call_data_t *call_data = NULL;
+       CALLUI_RETURN_IF_FAIL(ad);
+       CALLUI_RETURN_IF_FAIL(call_state_data);
+       dbg("doc_data active!");
+       cm_call_event_data_get_active_call(call_state_data, &call_data);
+       __callui_update_call_data(&(ad->active), call_data);
+       dbg("doc_data incom!");
+       cm_call_event_data_get_incom_call(call_state_data, &call_data);
+       __callui_update_call_data(&(ad->incom), call_data);
+       dbg("doc_data held!");
+       cm_call_event_data_get_held_call(call_state_data, &call_data);
+       __callui_update_call_data(&(ad->held), call_data);
+}
+
+static void __callui_process_incoming_call(callui_app_data_t *ad, unsigned int call_id)
+{
+       dbg("..");
+       cm_call_data_t *cm_incom = NULL;
+
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       cm_get_all_calldata(ad->cm_handle, &cm_incom, NULL, NULL);
+       CALLUI_RETURN_IF_FAIL(cm_incom);
+
+       __callui_update_call_data(&(ad->incom), cm_incom);
+       _callvm_view_change(VIEW_INCOMING_LOCK_VIEW, 0, NULL, ad);
+
+       cm_call_data_free(cm_incom);
+       return;
+}
+
+static void __callui_process_outgoing_call(callui_app_data_t *ad, char *number)
+{
+       sec_dbg("number is (%s)", number);
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       if (CM_ERROR_NONE != cm_dial_call(ad->cm_handle, number, CM_CALL_TYPE_VOICE, CM_SIM_SLOT_DEFAULT_E)) {
+               err("cm_dial_call failed!!");
+               _callvm_terminate_app_or_view_change(ad);
+               return;
+       }
+       ad->active = __callui_call_data_new(number);
+       return;
+}
+
+static void __callui_call_event_cb(cm_call_event_e call_event, cm_call_event_data_t *call_state_data, void *user_data)
+{
+       CALLUI_RETURN_IF_FAIL(call_state_data);
+       info("Call event changed!! %d", call_event);
+       callui_app_data_t *ad = (callui_app_data_t *)user_data;
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       cm_call_event_data_get_sim_slot(call_state_data, &ad->sim_slot);
+       switch (call_event) {
+       case CM_CALL_EVENT_ACTIVE:
+               _callui_common_dvc_control_lcd_state(LCD_ON_UNLOCK);
+               __callui_update_all_call_data(ad, call_state_data);
+               _callui_common_create_duration_timer();
+               _callvm_view_auto_change(ad);
+               if (ad->speaker_status == EINA_TRUE) {
+                       _callui_common_dvc_set_lcd_timeout(LCD_TIMEOUT_SET);
+               }
+               break;
+       case CM_CALL_EVENT_IDLE:
+               {
+                       unsigned int call_id = 0;
+                       cm_call_data_t *incom_call = NULL;
+                       cm_call_data_t *active_call = NULL;
+                       cm_call_data_t *held_call = NULL;
+
+                       _callui_common_dvc_control_lcd_state(LCD_ON_UNLOCK);
+
+                       cm_call_event_data_get_call_id(call_state_data, &call_id);
+                       cm_call_event_data_get_active_call(call_state_data, &active_call);
+                       cm_call_event_data_get_incom_call(call_state_data, &incom_call);
+                       cm_call_event_data_get_held_call(call_state_data, &held_call);
+                       if ((ad->incom) && (call_id == ad->incom->call_id)) {
+                               __callui_update_all_call_data(ad, call_state_data);
+                               _callvm_terminate_app_or_view_change(ad);
+                       } else if (incom_call == NULL && active_call == NULL && held_call == NULL) {
+                               _callui_common_delete_duration_timer();
+                               _callvm_view_change(VIEW_ENDCALL_VIEW, call_id, NULL, ad);
+                               if (ad->lock_screen_handle) {
+                                       _callui_lock_screen_hide_layout(ad->lock_screen_handle);
+                                       _callui_lock_screen_stop_timer();
+                               }
+                               __callui_update_all_call_data(ad, call_state_data);
+                       } else {
+                               __callui_update_all_call_data(ad, call_state_data);
+                               _callvm_terminate_app_or_view_change(ad);
+                       }
+               }
+               break;
+       case CM_CALL_EVENT_INCOMING:
+               {
+                       _callui_common_dvc_control_lcd_state(LCD_ON_LOCK);
+                       __callui_update_all_call_data(ad, call_state_data);
+                       _callvm_view_auto_change(ad);
+               }
+               break;
+       case CM_CALL_EVENT_DIALING:
+       case CM_CALL_EVENT_HELD:
+       case CM_CALL_EVENT_RETRIEVED:
+       case CM_CALL_EVENT_SWAPPED:
+       case CM_CALL_EVENT_JOIN:
+       case CM_CALL_EVENT_SPLIT:
+               __callui_update_all_call_data(ad, call_state_data);
+               _callvm_view_auto_change(ad);
+               break;
+       default:
+               break;
+       }
+
+       dbg("Call event changed cb done");
+       return;
+}
+
+static void __callui_audio_state_changed_cb(cm_audio_state_type_e audio_state, void *user_data)
+{
+       callui_app_data_t *ad = (callui_app_data_t *)user_data;
+       CALLUI_RETURN_IF_FAIL(ad);
+       dbg("__callui_audio_state_changed_cb, audio_state[%d]", audio_state);
+       switch (audio_state) {
+               case CM_AUDIO_STATE_SPEAKER_E:
+                       _callui_update_speaker_btn(ad, EINA_TRUE);
+                       _callui_update_headset_btn(ad, EINA_FALSE);
+                       if ((_callui_common_is_extra_volume_available() == EINA_TRUE) && (ad->extra_volume_status_force_stop == EINA_TRUE)) {
+                               int retextravol = -1;
+                               retextravol = cm_set_extra_vol(ad->cm_handle, TRUE);
+                               if (retextravol == CM_ERROR_NONE) {
+                                       ad->extra_volume_status_force_stop = EINA_FALSE;
+                                       _callui_update_extra_vol_btn(ad, EINA_TRUE);
+                               }
+                       }
+                       break;
+               case CM_AUDIO_STATE_RECEIVER_E:
+                       _callui_update_speaker_btn(ad, EINA_FALSE);
+                       _callui_update_headset_btn(ad, EINA_FALSE);
+                       if ((_callui_common_is_extra_volume_available() == EINA_TRUE) && (ad->extra_volume_status_force_stop == EINA_TRUE)) {
+                               int retextravol = -1;
+                               retextravol = cm_set_extra_vol(ad->cm_handle, TRUE);
+                               if (retextravol == CM_ERROR_NONE) {
+                                       ad->extra_volume_status_force_stop = EINA_FALSE;
+                                       _callui_update_extra_vol_btn(ad, EINA_TRUE);
+                               }
+                       }
+                       break;
+               case CM_AUDIO_STATE_EARJACK_E:
+               {
+                       _callui_update_speaker_btn(ad, EINA_FALSE);
+                       _callui_update_headset_btn(ad, EINA_FALSE);
+                       if (ad->extra_volume_status == EINA_TRUE) {
+                               dbg("Disable extra volume when earphone connected and speaker is turned off");
+                               int ret = -1;
+                               ret = cm_set_extra_vol(ad->cm_handle, FALSE);
+                               if (ret == CM_ERROR_NONE) {
+                                       ad->extra_volume_status_force_stop = EINA_TRUE;
+                                       _callui_create_extravolume_notify_popup();
+                                       _callui_update_extra_vol_btn(ad, EINA_FALSE);
+                               } else {
+                                       err("cm_set_extra_vol() is failed");
+                               }
+                       }
+                       break;
+               }
+               case CM_AUDIO_STATE_BT_E:
+                       _callui_update_speaker_btn(ad, EINA_FALSE);
+                       _callui_update_headset_btn(ad, EINA_TRUE);
+                       break;
+               case CM_AUDIO_STATE_NONE_E:
+               default:
+                       err("unhandled state[%d]", audio_state);
+                       break;
+       }
+
+       return;
+}
+
+static void __callui_call_list_init(callui_app_data_t *ad)
+{
+       dbg("..");
+       CALLUI_RETURN_IF_FAIL(ad);
+
+       ad->active = NULL;
+       ad->incom = NULL;
+       ad->held = NULL;
+       ad->active_incoming = false;
+       ad->multi_call_list_end_clicked = false;
+
+       return;
+}
+
+
+static void __callui_bt_init()
+{
+       int ret = BT_ERROR_NONE;
+       ret = bt_initialize();
+       if (BT_ERROR_NONE != ret) {
+               err("bt_init() failed [%d]", ret);
+               return;
+       }
+}
+
+
+static gboolean __callui_init(callui_app_data_t *ad)
+{
+       dbg("..");
+
+       if (CM_ERROR_NONE != cm_init(&ad->cm_handle)) {
+               err("cm_init() err");
+               return false;
+       }
+       cm_set_call_event_cb(ad->cm_handle, __callui_call_event_cb, ad);
+       cm_set_audio_state_changed_cb(ad->cm_handle, __callui_audio_state_changed_cb, ad);
+
+       __callui_bt_init();
+
+       ad->view_manager_handle = _callvm_init();
+       return true;
+}
+
+static void __callui_win_delete_request_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       /* To make your application go to background,
+               Call the elm_win_lower() instead
+               Evas_Object *win = (Evas_Object *) data;
+               elm_win_lower(win); */
+       elm_exit();
+}
+
+static Evas_Object *__callui_create_main_win(callui_app_data_t *ad)
+{
+       /*
+        * Widget Tree
+        * Window
+        *  - conform
+        *   - layout main
+        *    - naviframe */
+
+       Evas_Object *eo = NULL;;
+       const char *str = "mobile";
+       Evas_Object *conform = NULL;
+       eo = (Evas_Object *)app_get_preinitialized_window(PACKAGE);
+       if (eo == NULL) {
+               dbg("Create window");
+               eo = elm_win_add(NULL, PACKAGE, ELM_WIN_BASIC);
+               elm_win_alpha_set(eo, EINA_TRUE);
+               elm_win_fullscreen_set(eo, EINA_FALSE);
+       } else {
+               dbg("Preinitialized window");
+       }
+
+       if (eo) {
+               elm_win_profiles_set(eo, &str, 1);      /* Desktop mode only */
+               elm_win_title_set(eo, PACKAGE);
+               evas_object_smart_callback_add(eo, "delete,request", __callui_win_delete_request_cb, NULL);
+               elm_config_engine_set("software_x11");
+
+               ecore_x_window_size_get(ecore_x_window_root_first_get(), &ad->root_w, &ad->root_h);
+               dbg("root_w = %d, root_h = %d..", ad->root_w, ad->root_h);
+               evas_object_resize(eo, ad->root_w, ELM_SCALE_SIZE(MTLOCK_ACTIVE_CALL_HEIGHT));
+
+               elm_win_center(eo, EINA_FALSE, EINA_TRUE);
+               evas_object_move(eo, 0, 0);
+               elm_win_indicator_mode_set(eo, ELM_WIN_INDICATOR_SHOW);
+               elm_win_indicator_opacity_set(eo, ELM_WIN_INDICATOR_TRANSLUCENT);
+               elm_win_conformant_set(eo, EINA_TRUE);
+               efl_util_set_window_opaque_state(eo, 1);
+
+               ad->bg = (Evas_Object *)app_get_preinitialized_background();
+               if (!ad->bg)
+                       ad->bg = elm_bg_add(eo);
+               evas_object_size_hint_weight_set(eo, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               evas_object_show(ad->bg);
+               elm_object_part_content_set(eo, "elm.swallow.bg", ad->bg);
+
+               conform = (Evas_Object *)app_get_preinitialized_conformant();
+               if (conform == NULL) {
+                       conform = elm_conformant_add(eo);
+               }
+               elm_object_signal_emit(conform, "elm,state,indicator,overlap", "elm");
+               evas_object_size_hint_weight_set(conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_win_resize_object_add(eo, conform);
+               evas_object_show(conform);
+               ad->win_conformant = conform;
+
+       }
+
+       return eo;
+}
+
+static Evas_Object *__callui_create_base_layout(callui_app_data_t *ad)
+{
+       dbg("..");
+       CALLUI_RETURN_VALUE_IF_FAIL(ad, NULL);
+       Evas_Object *ly = NULL;
+
+       ly = elm_layout_add(ad->win_conformant);
+       if (ly == NULL) {
+               err("ly is NULL");
+               return NULL;
+       }
+
+       elm_layout_theme_set(ly, "layout", "application", "default");
+       evas_object_size_hint_weight_set(ly, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       evas_object_show(ly);
+
+       return ly;
+}
+
+static void __callui_app_text_classes_set()
+{
+       edje_text_class_set("ATO001", "R", 40);
+       edje_text_class_set("ATO002", "R", 64);
+       edje_text_class_set("ATO003", "R", 40);
+       edje_text_class_set("ATO004", "R", 24);
+       edje_text_class_set("ATO005", "R", 24);
+       edje_text_class_set("ATO006", "R", 24);
+       edje_text_class_set("ATO007", "R", 24);
+       edje_text_class_set("ATO008", "R", 24);
+       edje_text_class_set("ATO010", "R", 30);
+       edje_text_class_set("ATO011", "R", 30);
+       edje_text_class_set("ATO012", "R", 30);
+       edje_text_class_set("ATO013", "R", 30);
+       edje_text_class_set("ATO014", "R", 30);
+       edje_text_class_set("ATO016", "R", 24);
+       edje_text_class_set("ATO017", "R", 24);
+       edje_text_class_set("ATO027", "R", 26);
+       edje_text_class_set("ATO028", "R", 24);
+       edje_text_class_set("ATO030", "R", 42);
+       edje_text_class_set("ATO017", "R", 30);
+}
+
+static bool _callui_app_create(void *data)
+{
+       dbg("..");
+       callui_app_data_t *ad = data;
+       int ret = 0;
+
+       _callui_common_dvc_control_lcd_state(LCD_OFF_SLEEP_LOCK);
+
+       elm_config_preferred_engine_set("opengl_x11");
+       ret = __callui_init(ad);
+       if (!ret) {
+               err("__callui_init failed");
+               elm_exit();
+               return FALSE;
+       }
+
+       _callui_app_create_layout(ad);
+
+       elm_theme_extension_add(NULL, CALL_THEME);
+       elm_theme_extension_add(NULL, CALL_GENLIST_THEME);
+
+
+#ifdef _CALLUI_SIGNAL_HANDLER
+       __callui_register_sigsegv_handler();
+       atexit(__callui_exit_handler);
+#endif
+
+       return true;
+}
+
+static bool _callui_app_create_layout(void *data)
+{
+       callui_app_data_t *ad = data;
+
+       /* Set base scale */
+       elm_app_base_scale_set(2.6);
+
+       ad->win = __callui_create_main_win(ad);
+       if (ad->win == NULL) {
+               err("__callui_create_main_win failed");
+               return FALSE;
+       }
+       ad->main_ly = __callui_create_base_layout(ad);
+       if (ad->main_ly == NULL) {
+               err("__callui_create_base_layout failed");
+               return FALSE;
+       }
+       elm_object_content_set(ad->win_conformant, ad->main_ly);
+
+       __callui_app_text_classes_set();
+
+       ad->evas = evas_object_evas_get(ad->win);
+       __callui_app_win_key_grab(ad);
+
+       ad->quickpanel_scroll_state = ecore_x_atom_get("_E_MOVE_PANEL_SCROLLABLE_STATE");
+       return true;
+}
+
+
+static void __callui_bt_deinit()
+{
+       int ret = BT_ERROR_NONE;
+       ret = bt_deinitialize();
+       if (BT_ERROR_NONE != ret) {
+               err("bt_deinit() failed [%d]", ret);
+               return;
+       }
+}
+
+
+static void _callui_app_terminate(void *data)
+{
+       callui_app_data_t *ad = data;
+       Evas_Object *contents = NULL;
+       Evas_Object *caller_info = NULL;
+       Evas_Object *btn_ly = NULL;
+
+       contents = elm_object_part_content_get(ad->main_ly, "elm.swallow.content");
+       if (contents) {
+               caller_info = elm_object_part_content_get(contents, "caller_info");
+               if (caller_info) {
+                       evas_object_del(caller_info);
+                       caller_info = NULL;
+               }
+
+               btn_ly = elm_object_part_content_get(contents, "btn_region");
+               if (btn_ly) {
+                       evas_object_del(btn_ly);
+                       btn_ly = NULL;
+               }
+
+               evas_object_del(contents);
+               contents = NULL;
+       }
+
+       if (ad->downkey_handler) {
+               ecore_event_handler_del(ad->downkey_handler);
+               ad->downkey_handler = NULL;
+       }
+       if (ad->upkey_handler) {
+               ecore_event_handler_del(ad->upkey_handler);
+               ad->upkey_handler = NULL;
+       }
+
+       if (ecore_x_display_get() && elm_win_xwindow_get(ad->win)) {
+               utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_SELECT);
+               utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_POWER);
+               utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_MEDIA);
+       }
+
+       if (ad->main_ly) {
+               evas_object_del(ad->main_ly);
+               ad->main_ly = NULL;
+       }
+
+       __callui_bt_deinit();
+
+       cm_unset_audio_state_changed_cb(ad->cm_handle);
+       cm_unset_call_event_cb(ad->cm_handle);
+}
+
+static void _callui_app_pause(void *data)
+{
+       dbg("..");
+}
+
+static void _callui_app_resume(void *data)
+{
+       dbg("..");
+       _callui_common_set_quickpanel_scrollable(EINA_TRUE);
+}
+
+static void _callui_app_service(app_control_h app_control, void *data)
+{
+       dbg("..");
+       callui_app_data_t *ad = data;
+       char *tmp = NULL;
+       int ret = 0;
+       unsigned int call_id = -1;
+       char *uri_bundle = NULL;
+       char *operation = NULL;
+
+       if (_callvm_get_top_view_id(ad->view_manager_handle) == -1) {
+               err("view_manager_handle->viewtop -1 ");
+               __callui_call_list_init(ad);
+               _callui_common_dvc_control_lcd_state(LCD_OFF_SLEEP_LOCK);
+       }
+
+       evas_object_color_set(ad->bg, 255, 255, 255, 255);
+
+       ret = app_control_get_operation(app_control, &operation);
+       CALLUI_RETURN_IF_FAIL(ret == APP_CONTROL_ERROR_NONE);
+       CALLUI_RETURN_IF_FAIL(operation != NULL);
+
+
+       ret = app_control_get_uri(app_control, &uri_bundle);
+       CALLUI_RETURN_IF_FAIL(ret == APP_CONTROL_ERROR_NONE);
+
+       sec_warn("uri_bundle: [%s]", uri_bundle);
+       if ((strcmp(operation, APP_CONTROL_OPERATION_CALL) == 0) &&
+               (strncmp(uri_bundle, "tel:", 4) == 0)) {
+               if ((strncmp(uri_bundle, "tel:MT", 6) == 0)) {
+                       _callui_common_dvc_control_lcd_state(LCD_ON_LOCK);
+                       ret = app_control_get_extra_data(app_control, "handle", &tmp);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               err("app_control_get_extra_data failed");
+                       }
+                       if (tmp) {
+                               dbg("handle: [%s]", tmp);
+                               call_id = atoi(tmp);
+                               g_free(tmp);
+                               tmp = NULL;
+                       } else {
+                               err("handle val is NULL");
+                               return;
+                       }
+                       ret = app_control_get_extra_data(app_control, "sim_slot", &tmp);
+                       if (ret != APP_CONTROL_ERROR_NONE) {
+                               err("app_control_get_extra_data failed");
+                       }
+                       if (tmp) {
+                               dbg("sim_slot: [%s]", tmp);
+                               ad->sim_slot = atoi(tmp);
+                               g_free(tmp);
+                               tmp = NULL;
+                       }
+                       __callui_process_incoming_call(ad, call_id);
+               } else {
+                       tmp = (char *)uri_bundle + 4;
+                       sec_dbg("number: [%s]", tmp);
+                       if (tmp) {
+                               sec_dbg("number: [%s]", tmp);
+                               if (!ad->main_ly) {
+                                       _callui_app_create_layout(ad);
+                               }
+                               evas_object_resize(ad->win, ad->root_w, ad->root_h);
+                               __callui_process_outgoing_call(ad, tmp);
+                       } else {
+                               err("number val is NULL");
+                       }
+               }
+       } else if (strcmp(operation, APP_CONTROL_OPERATION_DEFAULT) == 0) {
+               if (!ad->main_ly) {
+                       _callui_app_create_layout(ad);
+               }
+               __callui_process_incoming_call(ad, call_id);
+       } else if (strcmp(operation, APP_CONTROL_OPERATION_DURING_CALL) == 0) {
+               if (!ad->main_ly) {
+                       _callui_app_create_layout(ad);
+               }
+               ret = cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_NORMAL);
+       } else if (strcmp(operation, APP_CONTROL_OPERATION_MESSAGE_REJECT) == 0) {
+               /* TODO Implement reject with message button functionality */
+       } else if (strcmp(operation, APP_CONTROL_OPERATION_END_CALL) == 0) {
+               cm_reject_call(ad->cm_handle);
+       }
+
+       if (operation) {
+               g_free(operation);
+               operation = NULL;
+       }
+
+       if (uri_bundle) {
+               g_free(uri_bundle);
+               uri_bundle = NULL;
+       }
+
+}
+
+callui_app_data_t *_callui_get_app_data()
+{
+       return &g_ad;
+}
+
+
+CALLUI_EXPORT_API int main(int argc, char *argv[])
+{
+       dbg("..");
+       ui_app_lifecycle_callback_s event_callback = {0,};
+
+       event_callback.create = _callui_app_create;
+       event_callback.terminate = _callui_app_terminate;
+       event_callback.pause = _callui_app_pause;
+       event_callback.resume = _callui_app_resume;
+       event_callback.app_control = _callui_app_service;
+
+       memset(&g_ad, 0x0, sizeof(callui_app_data_t));
+
+       int ret = APP_ERROR_NONE;
+
+       ret = ui_app_main(argc, argv, &event_callback, &g_ad);
+       if (ret != APP_ERROR_NONE) {
+               err("ui_app_main() is failed. err = %d", ret);
+       }
+
+        return ret;
+}
+
+
+static Eina_Bool __callui_app_win_hard_key_up_cb(void *data, int type, void *event)
+{
+       dbg("..");
+       gboolean bpowerkey_enabled = EINA_FALSE;
+       gboolean banswering_enabled = EINA_FALSE;
+
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Ecore_Event_Key *ev = event;
+
+       if (ev == NULL) {
+               err("ERROR!!! ========= Event is NULL!!!");
+               return 0;
+       }
+
+       if (elm_win_xwindow_get(ad->win) != ev->event_window) {
+               err("Event window is not main window. Ignore event");
+               return EINA_FALSE;
+       }
+
+       dbg("Top view(%d)", _callvm_get_top_view_id(ad->view_manager_handle));
+
+       /*power key case */
+       if (!strcmp(ev->keyname, CALLUI_KEY_POWER)) {
+               dbg("in keypower");
+               bpowerkey_enabled = _callui_common_is_powerkey_mode_on();
+               dbg("[KEY]KEY_POWER pressed, bpowerkey_enabled(%d)", bpowerkey_enabled);
+               if (bpowerkey_enabled == EINA_TRUE) {
+                       if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_DIALLING_VIEW) {
+                               if (ad->active)
+                               cm_end_call(ad->cm_handle, ad->active->call_id, CALL_RELEASE_TYPE_BY_CALL_HANDLE);
+                       } else if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCOMING_LOCK_VIEW) {
+                               /* ToDo: Stop Incoming ringtone alert to be implemented*/
+                       } else if ((_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCALL_ONECALL_VIEW)
+                                               || (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCALL_MULTICALL_CONF_VIEW)
+                                               || (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCALL_MULTICALL_LIST_VIEW)) {
+                               if (ad->active)
+                                       cm_end_call(ad->cm_handle, ad->active->call_id, CALL_RELEASE_TYPE_ALL_CALLS);
+                               else if (ad->held)
+                                       cm_end_call(ad->cm_handle, ad->held->call_id, CALL_RELEASE_TYPE_ALL_CALLS);
+                       } else if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCALL_MULTICALL_SPLIT_VIEW) {
+                               if (ad->active)
+                                       cm_end_call(ad->cm_handle, ad->active->call_id, CALL_RELEASE_TYPE_ALL_ACTIVE_CALLS);
+                       } else {
+                               dbg("nothing...");
+                       }
+               } else {
+                       if (ad->incom && !ad->active && !ad->held) {
+                               _callvm_view_change(VIEW_INCOMING_LOCK_VIEW, 0, NULL, ad);
+                       }
+                       /* ToDo: Stop Incoming ringtone alert to be implemented*/
+                       /*
+                       if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCOMING_LOCK_VIEW) {
+                               vcall_engine_stop_alert();
+                               ad->bmute_ringtone = EINA_TRUE;
+                       }
+                       if ((TRUE == _vcui_is_security_lock()) || (_vcui_get_idle_lock_type() != CALL_UNLOCK)) {
+                               Ecore_X_Window focus_win = ecore_x_window_focus_get();
+                               if (ad->win_main!= NULL && focus_win == elm_win_xwindow_get(ad->win_main)) {
+                                       _vcui_app_win_set_noti_type(EINA_TRUE);
+                                       _vcui_view_common_set_quickpanel_scrollable(EINA_FALSE);
+                               }
+                       }*/
+               }
+       } else if (!strcmp(ev->keyname, CALLUI_KEY_MEDIA)) {
+               /* todo*/
+               dbg("in key-media");
+       } else if (!strcmp(ev->keyname, CALLUI_KEY_VOLUMEUP) || !strcmp(ev->keyname, CALLUI_KEY_VOLUMEDOWN)) {
+               dbg("Handle Volume Up or Down key");
+               if (ad->incom) {
+                       cm_stop_alert(ad->cm_handle);
+               }
+       } else if (!strcmp(ev->keyname,  CALLUI_KEY_SELECT) || !strcmp(ev->keyname,  CALLUI_KEY_HOME)) {
+               dbg("in KEY_SELECT");
+               int result = 0;
+               Ecore_X_Window focus_win = ecore_x_window_focus_get();
+               result = utilx_ungrab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_SELECT);
+               if (result) {
+                       dbg("KEY_SELECT key ungrab failed");
+               } else {
+                       dbg("KEY_SELECT key ungrab success");
+               }
+               if (_callvm_get_top_view_id(ad->view_manager_handle) == VIEW_INCOMING_LOCK_VIEW) {
+                       banswering_enabled = _callui_common_is_answering_mode_on();
+                       if (banswering_enabled == EINA_TRUE) {
+                               int unhold_call_count = 0;
+                               if (ad->active) {
+                                       unhold_call_count = ad->active->member_count;
+                               }
+                               dbg("Answering mode on and Home key pressed on MT screen");
+
+                               if (unhold_call_count == 0) {
+                                       dbg("No Call Or Held call - Accept");
+                                       cm_answer_call(ad->cm_handle, CALL_ANSWER_TYPE_NORMAL);
+                                       if (_callui_common_get_idle_lock_type() == LOCK_TYPE_SWIPE_LOCK)
+                                               _callui_common_unlock_swipe_lock();
+                               } else if (ad->second_call_popup == NULL) {
+                                       dbg("Show popup - 2nd MT call - test volume popup");
+                                       _callui_load_second_call_popup(ad);
+                               }
+                       } else {
+                               int result = 0;
+                               /* Grab home key event to keep incoming call view */
+                               result = utilx_grab_key(ecore_x_display_get(), elm_win_xwindow_get(ad->win), CALLUI_KEY_SELECT, TOP_POSITION_GRAB);
+                               if (result) {
+                                       dbg("KEY_SELECT key ungrab failed");
+                               }
+                       }
+
+               } else {
+                       if (ad->win != NULL && focus_win == elm_win_xwindow_get(ad->win)) {
+                               /* ToDo: Use lock-screen interface to raise the home screen */
+                               _callui_common_win_set_noti_type(ad, EINA_FALSE);
+               /* todo: once quickpanel is implemented we have to enable this
+                               _vcui_view_common_set_quickpanel_scrollable(EINA_TRUE);
+                */
+                       }
+               }
+       } else if (!strcmp(ev->keyname, KEY_BACK)) {
+               /* todo*/
+               dbg("KEY_BACK section");
+       }
+
+
+       ad->b_earset_key_longpress = EINA_FALSE;
+
+       if (ad->earset_key_longpress_timer) {
+               ecore_timer_del(ad->earset_key_longpress_timer);
+               ad->earset_key_longpress_timer = NULL;
+       }
+
+       return EINA_FALSE;
+}
+
+static Eina_Bool __callui_app_win_earset_key_longpress_timer_cb(void *data)
+{
+       dbg("..");
+
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+
+       ad->b_earset_key_longpress = EINA_TRUE;
+       ad->earset_key_longpress_timer = NULL;
+
+       return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool __callui_app_win_hard_key_down_cb(void *data, int type, void *event)
+{
+       dbg("..");
+
+       callui_app_data_t *ad = (callui_app_data_t *)data;
+       Ecore_Event_Key *ev = event;
+
+       if (ev == NULL) {
+               err("ERROR!!! ========= Event is NULL!!!");
+               return EINA_FALSE;
+       }
+
+       if (elm_win_xwindow_get(ad->win) != ev->event_window) {
+               err("Event window is not main window. Ignore event");
+               return EINA_FALSE;
+       }
+
+       if (_callvm_get_top_view_id(ad->view_manager_handle) == -1) {
+               dbg("ad->view_top is -1.");
+               return EINA_FALSE;
+       }
+
+       if (!strcmp(ev->keyname, CALLUI_KEY_MEDIA)) {
+               ad->earset_key_longpress_timer = ecore_timer_add(EARSET_KEY_LONG_PRESS_TIMEOUT, __callui_app_win_earset_key_longpress_timer_cb, ad);
+       } else if (!strcmp(ev->keyname, CALLUI_KEY_SELECT)) {
+               /*todo*/
+       } else if (!strcmp(ev->keyname, KEY_CANCEL)) {
+               /*todo*/
+       }
+       dbg("End..");
+       return EINA_FALSE;
+}