TizenRefApp-8903 [Call UI] Implement BT Headset / Gear device sound path change butto... 43/139943/1
authorIgor Olshevskyi <i.olshevskyi@samsung.com>
Tue, 18 Jul 2017 12:41:52 +0000 (15:41 +0300)
committerIgor Olshevskyi <i.olshevskyi@samsung.com>
Fri, 21 Jul 2017 06:25:46 +0000 (09:25 +0300)
Change-Id: I6bafe30eb4bfb911047ab6eb528aacb02681aee8

101 files changed:
edc/accessory.edc
edc/buttons.edc
edc/call_info.edc
edc/images.edc
edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_01.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_02.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_03.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_04.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_01.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_02.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_03.png [new file with mode: 0644]
edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_04.png [new file with mode: 0644]
edc/images/Incoming/w_alert_interaction_cue_l_01.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_l_02.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_l_03.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_l_04.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_r_01.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_r_02.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_r_03.png [deleted file]
edc/images/Incoming/w_alert_interaction_cue_r_04.png [deleted file]
edc/images/Keypad/numpad_btn_bg.png [new file with mode: 0644]
edc/images/Keypad/numpad_btn_bg_bottom.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_00.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_01.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_02.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_03.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_04.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_05.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_06.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_07.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_08.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_09.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_asterisk.png [new file with mode: 0644]
edc/images/Keypad/privacy_lock_dial_extension_sharp.png [new file with mode: 0644]
edc/images/Keypad/w_sip_3x4_btn_ic_on.png [new file with mode: 0644]
edc/images/More_options/w_call_option_icon_keypad.png [new file with mode: 0644]
edc/images/More_options/w_call_option_icon_volume_swap.png [new file with mode: 0644]
edc/images/More_options/w_call_option_icon_volume_unhold.png [new file with mode: 0644]
edc/images/More_options/w_more_circle_bg.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_icon_phone.png [deleted file]
edc/images/autocall_forwarding_list_icon_wc1.png [deleted file]
edc/images/autocall_forwarding_list_st_call.png [deleted file]
edc/images/autocall_forwarding_list_st_phone.png [deleted file]
edc/images/autocall_forwarding_list_st_phone2.png [deleted file]
edc/images/autocall_forwarding_list_st_wc1.png [deleted file]
edc/images/autocall_forwarding_moresetting_01.png [deleted file]
edc/images/autocall_forwarding_moresetting_02.png [deleted file]
edc/images/numpad_btn_bg.png [deleted file]
edc/images/numpad_btn_bg_bottom.png [deleted file]
edc/images/privacy_lock_dial_extension_00.png [deleted file]
edc/images/privacy_lock_dial_extension_01.png [deleted file]
edc/images/privacy_lock_dial_extension_02.png [deleted file]
edc/images/privacy_lock_dial_extension_03.png [deleted file]
edc/images/privacy_lock_dial_extension_04.png [deleted file]
edc/images/privacy_lock_dial_extension_05.png [deleted file]
edc/images/privacy_lock_dial_extension_06.png [deleted file]
edc/images/privacy_lock_dial_extension_07.png [deleted file]
edc/images/privacy_lock_dial_extension_08.png [deleted file]
edc/images/privacy_lock_dial_extension_09.png [deleted file]
edc/images/privacy_lock_dial_extension_asterisk.png [deleted file]
edc/images/privacy_lock_dial_extension_sharp.png [deleted file]
edc/images/w_call_incoming_icon_accept.png
edc/images/w_call_incoming_icon_headset_call_accept.png [new file with mode: 0644]
edc/images/w_call_incoming_icon_reject.png
edc/images/w_call_numeric_btn_cancel.png [deleted file]
edc/images/w_call_option_icon_device.png [deleted file]
edc/images/w_call_option_icon_headset.png [deleted file]
edc/images/w_call_option_icon_keypad.png [deleted file]
edc/images/w_call_option_icon_mute.png [deleted file]
edc/images/w_call_option_icon_volume_hold.png [deleted file]
edc/images/w_call_option_icon_volume_swap.png [deleted file]
edc/images/w_call_option_icon_volume_tophone.png [deleted file]
edc/images/w_call_option_icon_volume_towatch.png [deleted file]
edc/images/w_call_option_icon_volume_transferto.png [deleted file]
edc/images/w_call_option_icon_volume_unhold.png [deleted file]
edc/images/w_call_toast_show_on_divice_icon.png [deleted file]
edc/images/w_during_icon_volume_02.png [new file with mode: 0644]
edc/images/w_emergency_icon.png [deleted file]
edc/images/w_more_circle_bg.png [deleted file]
edc/images/w_outgoing_icon_contact_add_02.png [new file with mode: 0644]
edc/images/w_outgoing_icon_device_02.png [new file with mode: 0644]
edc/images/w_outgoing_icon_headset_02.png [new file with mode: 0644]
edc/images/w_outgoing_icon_mute.png [deleted file]
edc/images/w_outgoing_icon_mute_02.png [new file with mode: 0644]
edc/images/w_outgoing_icon_towatch_02.png [new file with mode: 0644]
edc/images/w_outgoing_icon_volume.png [deleted file]
edc/images/w_outgoing_icon_volume_02.png [new file with mode: 0644]
edc/images/w_sip_3x4_btn_ic_on.png [deleted file]
edc/keypad.edc
edc/main_ly.edc
edc/more_option.edc
inc/presenters/AccessoryPresenter.h
inc/presenters/CallInfoPresenter.h
inc/presenters/MainPage.h
inc/presenters/MoreOptionsPresenter.h
inc/presenters/types.h
res/edje/theme.edc
src/presenters/AccessoryPresenter.cpp
src/presenters/CallInfoPresenter.cpp
src/presenters/MainPage.cpp
src/presenters/MoreOptionsPresenter.cpp

index 712ff5cf99df8e60a2feb2e420d92d2920fbdb8b..9cd0ace94320f09f3744af3e59a8a184e47c59c7 100644 (file)
 #define CU_ACCESSORY_SOUND_BTNS_PAD_LEFT_MIN    9 0
 #define CU_ACCESSORY_SOUND_BTNS_PAD_MIDDLE_MIN  50 26
 
+#define CU_ACCESSORY_BTN_DIM 60
+
+#define CU_ACCESSORY_BTN_SWL_1_X 50
+#define CU_ACCESSORY_BTN_SWL_2_X 150
+#define CU_ACCESSORY_BTN_SWL_3_X 250
+
+#define CU_ACCESSORY_BTN_SWL_Y (((CU_WIN_H - CU_ACCESSORY_BTN_DIM) / 2))
+
+#define CU_ACCESSORY_BTN_SWL_1_REL1 CU_REL_W(CU_ACCESSORY_BTN_SWL_1_X) CU_REL_H(CU_ACCESSORY_BTN_SWL_Y)
+#define CU_ACCESSORY_BTN_SWL_1_REL2 CU_REL_W((CU_ACCESSORY_BTN_SWL_1_X + CU_ACCESSORY_BTN_DIM)) CU_REL_H((CU_ACCESSORY_BTN_SWL_Y + CU_ACCESSORY_BTN_DIM))
+
+#define CU_ACCESSORY_BTN_SWL_2_REL1 CU_REL_W(CU_ACCESSORY_BTN_SWL_2_X) CU_REL_H(CU_ACCESSORY_BTN_SWL_Y)
+#define CU_ACCESSORY_BTN_SWL_2_REL2 CU_REL_W((CU_ACCESSORY_BTN_SWL_2_X + CU_ACCESSORY_BTN_DIM)) CU_REL_H((CU_ACCESSORY_BTN_SWL_Y + CU_ACCESSORY_BTN_DIM))
+
+#define CU_ACCESSORY_BTN_SWL_3_REL1 CU_REL_W(CU_ACCESSORY_BTN_SWL_3_X) CU_REL_H(CU_ACCESSORY_BTN_SWL_Y)
+#define CU_ACCESSORY_BTN_SWL_3_REL2 CU_REL_W((CU_ACCESSORY_BTN_SWL_3_X + CU_ACCESSORY_BTN_DIM)) CU_REL_H((CU_ACCESSORY_BTN_SWL_Y + CU_ACCESSORY_BTN_DIM))
+
 group { "elm/layout/callui/accessory";
        parts {
-               spacer { "sound.btns.pad.left";
+               spacer { "bg";
                        scale;
                        desc { "default";
-                               fixed: 1 0;
-                               align: 0.0 0.0;
-                               min: CU_ACCESSORY_SOUND_BTNS_PAD_LEFT_MIN;
-                               rel2.relative: 0.0 1.0;
                        }
                }
-               spacer { "sound.btns.pad.middle";
+               swallow { "swl.volume_control"
+                       scale;
+                       desc { "default";
+                       }
+               }
+               swallow { "swl.slot.1";
                        scale;
                        desc { "default";
                                fixed: 1 1;
-                               align: 0.0 0.5;
-                               min: CU_ACCESSORY_SOUND_BTNS_PAD_MIDDLE_MIN;
-                               rel1 { relative: 1.0 0.5; to_x: "sound.btns.pad.left"; }
-                               rel2 { relative: 1.0 0.5; to_x: "sound.btns.pad.left"; }
+                               rel1 { relative: CU_ACCESSORY_BTN_SWL_1_REL1; to: "bg"; }
+                               rel2 { relative: CU_ACCESSORY_BTN_SWL_1_REL2; to: "bg"; }
                        }
                }
-               swallow { "swl.sound";
+               swallow { "swl.slot.2";
                        scale;
                        desc { "default";
                                fixed: 1 1;
-                               align: 0.5 1.0;
-                               min: CU_ACCESSORY_SOUND_BTN_SIZE;
-                               max: CU_ACCESSORY_SOUND_BTN_SIZE;
-                               rel1 { relative: 0.0 0.0; to: "sound.btns.pad.middle"; }
-                               rel2 { relative: 1.0 0.0; to: "sound.btns.pad.middle"; }
+                               rel1 { relative: CU_ACCESSORY_BTN_SWL_2_REL1; to: "bg"; }
+                               rel2 { relative: CU_ACCESSORY_BTN_SWL_2_REL2; to: "bg"; }
                        }
                }
-               swallow { "swl.mute";
+               swallow { "swl.slot.3";
                        scale;
                        desc { "default";
                                fixed: 1 1;
-                               align: 0.5 0.0;
-                               min: CU_ACCESSORY_SOUND_BTN_SIZE;
-                               max: CU_ACCESSORY_SOUND_BTN_SIZE;
-                               rel1 { relative: 0.0 1.0; to: "sound.btns.pad.middle"; }
-                               rel2 { relative: 1.0 1.0; to: "sound.btns.pad.middle"; }
-                       }
-               }
-               swallow { "swl.volume_control"
-                       scale;
-                       desc { "default";
+                               rel1 { relative: CU_ACCESSORY_BTN_SWL_3_REL1; to: "bg"; }
+                               rel2 { relative: CU_ACCESSORY_BTN_SWL_3_REL2; to: "bg"; }
                        }
                }
        }
index b5af325390e9cb80e4c3c8fe41d46ca9762e642c..e5290edaf2fc4bb179b920f6e101fba541de7a87 100644 (file)
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#define CU_MORE_OPTS_ICONS_DIR "/More_options"
+
 #define CU_BTN_INCOM_CALL_ANIM_TIME         0.15
 #define CU_BTN_INCOM_CALL_UNPRESS_DELAY     0.6
 #define CU_BTN_INCOM_CALL_ICON_SIZE         54 54
@@ -627,7 +629,7 @@ group { "elm/button/base/"_name; \
 }
 
 
-#define CU_BTN_ACCESSORY(_name, _icon, _icon_rel_y, _icon_align_y) \
+#define CU_BTN_ACCESSORY(_name, _icon) \
 group { "elm/button/base/"_name; \
        images { \
                image: "w_call_button_press_circle.png" COMP; \
@@ -662,13 +664,19 @@ group { "elm/button/base/"_name; \
                } \
                image { "icon"; \
                        scale; \
+                       clip: "icon.clipper"; \
                        desc { "default"; \
-                               align: 0.5 _icon_align_y; \
-                               rel1 { relative: 0.0 _icon_rel_y; to: "sizer"; } \
-                               rel2 { relative: 1.0 _icon_rel_y; to: "sizer"; } \
+                               rel1 { relative: 0.0 0.0; to: "sizer"; } \
+                               rel2 { relative: 1.0 1.0; to: "sizer"; } \
                                min: CU_BTN_ACCESSORY_ICON_SIZE; \
                                max: CU_BTN_ACCESSORY_ICON_SIZE; \
                                image.normal: _icon; \
+                       } \
+               } \
+               rect { "icon.clipper"; \
+                       scale; \
+                       desc { "default"; \
+                               rel.to: "icon"; \
                                color_class: AO011; \
                        } \
                        desc { "on"; \
@@ -696,6 +704,135 @@ group { "elm/button/base/"_name; \
                        } \
                } \
        } \
+       programs { \
+               program { \
+                       signal: "mouse,clicked,*"; \
+                       source: "event"; \
+                       action: SIGNAL_EMIT "elm,action,click" ""; \
+               } \
+               program { \
+                       signal: "mouse,down,*"; \
+                       source: "event"; \
+                       sequence { \
+                               action: STATE_SET "pressed_effect"; \
+                               target: "image.bg"; \
+                               action: STATE_SET "pressed"; \
+                               target: "image.bg"; \
+                               transition: TRANSITION_GLIDE(0.3); \
+                       } \
+               } \
+               program { \
+                       signal: "mouse,up,*"; \
+                       source: "event"; \
+                       action: STATE_SET "default"; \
+                       target: "image.bg"; \
+                       transition: LINEAR 0.535; \
+               } \
+               program { \
+                       signal: "turn.on"; \
+                       source: ""; \
+                       action: STATE_SET "on"; \
+                       target: "icon.clipper"; \
+               } \
+               program { \
+                       signal: "turn.off"; \
+                       source: ""; \
+                       action: STATE_SET "off"; \
+                       target: "icon.clipper"; \
+               } \
+               program { \
+                       signal: "elm,state,enabled"; \
+                       source: "elm"; \
+                       action: STATE_SET "default"; \
+                       target: "event"; \
+                       target: "icon.clipper"; \
+               } \
+               program { \
+                       signal: "elm,state,disabled"; \
+                       source: "elm"; \
+                       action: STATE_SET "disabled"; \
+                       target: "event"; \
+                       target: "icon.clipper"; \
+               } \
+       } \
+}
+
+#define CU_BTN_ACCESSORY_TOGGLE_ICON(_name, _icon_on, _icon_off) \
+group { "elm/button/base/"_name; \
+       images { \
+               image: "w_call_button_press_circle.png" COMP; \
+               image: _icon_on COMP; \
+               image: _icon_off COMP; \
+       } \
+       parts { \
+               spacer { "sizer"; \
+                       scale; \
+                       desc { "default"; \
+                               max: CU_ACCESSORY_SOUND_BTN_SIZE; \
+                       } \
+               } \
+               image { "image.bg"; \
+                       nomouse; \
+                       scale; \
+                       desc { "default"; \
+                               fixed: 1 1; \
+                               rel.to: "icon"; \
+                               min: CU_BTN_ACCESSORY_EFF_DEFAULT_SIZE; \
+                               image.normal: "w_call_button_press_circle.png"; \
+                               color: 255 255 255 0; \
+                       } \
+                       desc { "pressed_effect"; \
+                               inherit: "default"; \
+                               min: CU_BTN_ACCESSORY_EFF_PRESSED_SIZE; \
+                               color: 255 255 255 33; \
+                       } \
+                       desc { "pressed"; \
+                               inherit: "pressed_effect"; \
+                               min: CU_BTN_ACCESSORY_EFF_DEFAULT_SIZE; \
+                       } \
+               } \
+               image { "icon"; \
+                       scale; \
+                       clip: "icon.clipper"; \
+                       desc { "default"; \
+                               rel1 { relative: 0.0 0.0; to: "sizer"; } \
+                               rel2 { relative: 1.0 1.0; to: "sizer"; } \
+                               min: CU_BTN_ACCESSORY_ICON_SIZE; \
+                               max: CU_BTN_ACCESSORY_ICON_SIZE; \
+                               image.normal: _icon_off; \
+                       } \
+                       desc { "on"; \
+                               inherit: "default"; \
+                               image.normal: _icon_on; \
+                       } \
+                       desc { "off"; \
+                               inherit: "default"; \
+                       } \
+               } \
+               rect { "icon.clipper"; \
+                       scale; \
+                       desc { "default"; \
+                               rel.to: "icon"; \
+                               color_class: AO011; \
+                       } \
+                       desc { "disabled"; \
+                               inherit: "default"; \
+                               color_class: AO012D; \
+                       } \
+               } \
+               rect { "event"; \
+                       scale; \
+                       desc { "default"; \
+                               fixed: 1 1; \
+                               rel.to: "sizer"; \
+                               color: 0 0 0 0; \
+                       } \
+                       desc { "disabled"; \
+                               inherit: "default"; \
+                               hid; \
+                       } \
+               } \
+       } \
        programs { \
                program { \
                        signal: "mouse,clicked,*"; \
@@ -737,14 +874,14 @@ group { "elm/button/base/"_name; \
                        source: "elm"; \
                        action: STATE_SET "default"; \
                        target: "event"; \
-                       target: "icon"; \
+                       target: "icon.clipper"; \
                } \
                program { \
                        signal: "elm,state,disabled"; \
                        source: "elm"; \
                        action: STATE_SET "disabled"; \
                        target: "event"; \
-                       target: "icon"; \
+                       target: "icon.clipper"; \
                } \
        } \
 }
@@ -761,7 +898,7 @@ styles {
 #define CU_BTN_MORE_OPTION(_name, _icon) \
        group { "elm/button/base/"_name; \
                images { \
-                       image: "w_more_circle_bg.png" COMP; \
+                       image: CU_MORE_OPTS_ICONS_DIR/"w_more_circle_bg.png" COMP; \
                        image: _icon COMP; \
                } \
                parts { \
@@ -771,7 +908,7 @@ styles {
                                        aspect: 1 1; \
                                        aspect_preference: BOTH; \
                                        align: 0.5 0.0; \
-                                       image.normal: "w_more_circle_bg.png"; \
+                                       image.normal: CU_MORE_OPTS_ICONS_DIR/"w_more_circle_bg.png"; \
                                        color_class: "AO0110"; \
                                } \
                                desc { "pressed"; \
@@ -969,12 +1106,12 @@ styles {
 #define CU_BTN_KEYPAD(_button_name, _size_x, _size_y, _image) \
        group { "elm/button/base/"_button_name; \
                images.image: _image COMP; \
-               images.image: "numpad_btn_bg.png" COMP; \
+               images.image: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg.png" COMP; \
                parts { \
                        image { "bg"; \
                                scale; \
                                desc { "default"; \
-                                       image.normal: "numpad_btn_bg.png"; \
+                                       image.normal: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg.png"; \
                                        color: 255 255 255 255; \
                                        min: _size_x _size_y; \
                                        max: _size_x _size_y; \
@@ -1048,14 +1185,14 @@ styles {
        }
 
 group { "elm/button/base/callui/keypad_speaker";
-       images.image: "numpad_btn_bg.png" COMP;
-       images.image: "w_sip_3x4_btn_ic_on.png" COMP;
+       images.image: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg.png" COMP;
+       images.image: CU_KEYPAD_ICONS_DIR/"w_sip_3x4_btn_ic_on.png" COMP;
 
        parts {
                image { "bg";
                        scale;
                        desc { "default";
-                               image.normal: "numpad_btn_bg.png";
+                               image.normal: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg.png";
                                color: 255 255 255 255;
                                min: CU_BTN_KEYPAD_SPEAKER_H CU_BTN_KEYPAD_H;
                                max: CU_BTN_KEYPAD_SPEAKER_H CU_BTN_KEYPAD_H;
@@ -1068,7 +1205,7 @@ group { "elm/button/base/callui/keypad_speaker";
                image { "pic";
                        scale;
                        desc { "default";
-                               image.normal: "w_sip_3x4_btn_ic_on.png";
+                               image.normal: CU_KEYPAD_ICONS_DIR/"w_sip_3x4_btn_ic_on.png";
                                rel1 { relative: 24/CU_BTN_KEYPAD_SPEAKER_H 9/CU_BTN_KEYPAD_H; to: "bg"; }
                                rel2 { relative: 48/CU_BTN_KEYPAD_SPEAKER_H 41/CU_BTN_KEYPAD_H; to: "bg"; }
                                min: 32 32;
@@ -1134,57 +1271,61 @@ group { "elm/button/base/callui/keypad_speaker";
        }
 }
 
-CU_BTN_INCOM_CALL("callui/accept", "w_call_incoming_icon_accept.png", "AO01131", "AO01132", "AO0113", "AO0113P")
-CU_BTN_INCOM_CALL("callui/reject", "w_call_incoming_icon_reject.png", "AO01151", "AO01152", "AO0115", "AO0115P")
+CU_BTN_INCOM_CALL("callui/accept", "w_call_incoming_icon_accept.png",
+       "AO01131", "AO01132", "AO0113", "AO0113P")
+CU_BTN_INCOM_CALL("callui/reject", "w_call_incoming_icon_reject.png",
+       "AO01151", "AO01152", "AO0115", "AO0115P")
 
-CU_BTN_BOTTOM("callui/end_call", "w_incoming_icon_end_phone.png", "AO0121", "AO0121P", "B013A", "B013")
-CU_BTN_BOTTOM("callui/call_back", "w_incoming_icon_call.png", "AO0171", "AO0171P", "B013A", "B013")
+CU_BTN_BOTTOM("callui/end_call", "w_incoming_icon_end_phone.png",
+       "AO0121", "AO0121P", "B013A", "B013")
+CU_BTN_BOTTOM("callui/call_back", "w_incoming_icon_call.png",
+       "AO0171", "AO0171P", "B013A", "B013")
 
 CU_BTN_VOLUME_CONTROL("callui/minus", "b_slider_icon_minus.png")
 CU_BTN_VOLUME_CONTROL("callui/plus", "b_slider_icon_plus.png")
 
-CU_BTN_ACCESSORY("callui/volume", "w_outgoing_icon_volume.png", 1.0, 1.0)
-CU_BTN_ACCESSORY("callui/mute", "w_outgoing_icon_mute.png", 0.0, 0.0)
+CU_BTN_ACCESSORY("callui/volume", "w_outgoing_icon_volume_02.png")
+CU_BTN_ACCESSORY("callui/mute", "w_outgoing_icon_mute_02.png")
+CU_BTN_ACCESSORY_TOGGLE_ICON("callui/bluetooth", "w_outgoing_icon_towatch_02.png",
+       "w_outgoing_icon_headset_02.png")
+CU_BTN_ACCESSORY("callui/add_contact", "w_outgoing_icon_contact_add_02.png")
 
-CU_BTN_MORE_OPTION("callui/swap", "w_call_option_icon_volume_swap.png")
-CU_BTN_MORE_OPTION("callui/unhold", "w_call_option_icon_volume_unhold.png")
-CU_BTN_MORE_OPTION("callui/headset", "w_call_option_icon_headset.png")
-CU_BTN_MORE_OPTION("callui/phone", "w_call_option_icon_device.png")
-CU_BTN_MORE_OPTION("callui/keypad", "w_call_option_icon_keypad.png")
-CU_BTN_MORE_OPTION("callui/gear", "w_call_option_icon_volume_towatch.png")
+CU_BTN_MORE_OPTION("callui/swap", CU_MORE_OPTS_ICONS_DIR/"w_call_option_icon_volume_swap.png")
+CU_BTN_MORE_OPTION("callui/unhold", CU_MORE_OPTS_ICONS_DIR/"w_call_option_icon_volume_unhold.png")
+CU_BTN_MORE_OPTION("callui/keypad", CU_MORE_OPTS_ICONS_DIR/"w_call_option_icon_keypad.png")
 
 CU_BTN_KEYPAD("callui/keypad_one", CU_BTN_KEYPAD_LEFT_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_01.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_01.png")
 
 CU_BTN_KEYPAD("callui/keypad_two", CU_BTN_KEYPAD_CENTER_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_02.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_02.png")
 
 CU_BTN_KEYPAD("callui/keypad_three", CU_BTN_KEYPAD_CENTER_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_03.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_03.png")
 
 CU_BTN_KEYPAD("callui/keypad_four", CU_BTN_KEYPAD_LEFT_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_04.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_04.png")
 
 CU_BTN_KEYPAD("callui/keypad_five", CU_BTN_KEYPAD_CENTER_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_05.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_05.png")
 
 CU_BTN_KEYPAD("callui/keypad_six", CU_BTN_KEYPAD_CENTER_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_06.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_06.png")
 
 CU_BTN_KEYPAD("callui/keypad_asterix", CU_BTN_KEYPAD_RIGHT_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_asterisk.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_asterisk.png")
 
 CU_BTN_KEYPAD("callui/keypad_seven", CU_BTN_KEYPAD_LEFT_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_07.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_07.png")
 
 CU_BTN_KEYPAD("callui/keypad_eight", CU_BTN_KEYPAD_CENTER_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_08.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_08.png")
 
 CU_BTN_KEYPAD("callui/keypad_nine", CU_BTN_KEYPAD_CENTER_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_09.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_09.png")
 
 CU_BTN_KEYPAD("callui/keypad_sharp", CU_BTN_KEYPAD_RIGHT_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_sharp.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_sharp.png")
 
 CU_BTN_KEYPAD("callui/keypad_zero", CU_BTN_KEYPAD_ZERO_H, CU_BTN_KEYPAD_H,
-       "privacy_lock_dial_extension_00.png")
+       CU_KEYPAD_ICONS_DIR/"privacy_lock_dial_extension_00.png")
index f6d586287d2730eb3ad671912f4db599604c7da4..ccd688e86861be6fd427dbc9c3588df5976bf14e 100644 (file)
@@ -20,98 +20,92 @@ styles {
                base: "font=Tizen font_weight=Regular font_width=Condensed font_size=24 align=center valign=center color=#FFFFFF ellipsis=1.0";
        }
        style {
-               name: "call_status_with_photo";
+               name: "call_status_photo";
                base: "font=Tizen font_weight=Regular font_width=Condensed font_size=24 align=center valign=center color=#FFFFFF ellipsis=1.0";
        }
        style {
                name: "main_text";
-               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=40 align=center valign=center color=#FFFFFF wrap=mixed ellipsis=1.0";
-               tag: "br" "\n";
-               tag: "ps" "ps";
-               tag: "whitecolor" "+ color=#ffffff";
-               tag: "tab" "\t";
+               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=24 align=center valign=center color=#FFFFFF ellipsis=1.0";
+       }
+       style {
+               name: "main_text_emergency";
+               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=24 align=center valign=center color=#FF870F ellipsis=1.0";
        }
        style {
-               name: "main_text_with_photo";
+               name: "main_text_big";
                base: "font=Tizen font_weight=Regular font_width=Condensed font_size=40 align=center valign=center color=#FFFFFF wrap=mixed ellipsis=1.0";
-               tag: "br" "\n";
-               tag: "ps" "ps";
-               tag: "whitecolor" "+ color=#ffffff";
-               tag: "tab" "\t";
        }
        style {
-               name: "main_text_emergency";
-               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=38 align=center valign=center color=#FF870F wrap=mixed ellipsis=1.0";
-               tag: "br" "\n";
-               tag: "ps" "ps";
-               tag: "whitecolor" "+ color=#ffffff";
-               tag: "tab" "\t";
+               name: "main_text_big_photo";
+               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=40 align=center valign=center color=#FFFFFF  wrap=mixed ellipsis=1.0";
+       }
+       style {
+               name: "main_text_big_emergency";
+               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=40 align=center valign=center color=#FF870F wrap=mixed ellipsis=1.0";
        }
 }
 
-#define CU_DOT(_name, _ltr_offset, _rtl_offset) \
-               image { _name; \
-                       scale; \
-                       desc { "default"; \
-                               fixed: 1 1; \
-                               align: 0.0 0.5; \
-                               min: 4 4; \
-                               max: 4 4; \
-                               image.normal: "w_call_dot.png"; \
-                               rel1 { relative: 1.0 0.0; offset: _ltr_offset 0; to: "text_info"; } \
-                               rel2 { relative: 1.0 1.0; offset: _ltr_offset 0; to: "text_info"; } \
-                               visible: 0; \
-                       } \
-                       desc { "on"; \
-                               inherit: "default"; \
-                               color_class: AO031; \
-                               visible: 1; \
-                       } \
-                       desc { "off"; \
-                               inherit: "default"; \
-                               color_class: AO031D; \
-                               visible: 1; \
-                       } \
-                       desc { "on_photo"; \
-                               inherit: "default"; \
-                               color_class: AO0311; \
-                               visible: 1; \
-                       } \
-                       desc { "off_photo"; \
-                               inherit: "default"; \
-                               color_class: AO0311D; \
-                               visible: 1; \
-                       } \
-                       desc { "default_rtl"; \
-                               inherit: "default"; \
-                               align: 1.0 0.5; \
-                               rel1 { relative: 0.0 0.0; offset: _rtl_offset 0; to: "text_info"; } \
-                               rel2 { relative: 0.0 1.0; offset: _rtl_offset 0; to: "text_info"; } \
-                       } \
-                       desc { "rtl_on"; \
-                               inherit: "default_rtl"; \
-                               color_class: AO031; \
-                               visible: 1; \
-                       } \
-                       desc { "rtl_off"; \
-                               inherit: "default_rtl"; \
-                               color_class: AO031D; \
-                               visible: 1; \
-                       } \
-                       desc { "rtl_on_photo"; \
-                               inherit: "default_rtl"; \
-                               color_class: AO0311; \
-                               visible: 1; \
-                       } \
-                       desc { "rtl_off_photo"; \
-                               inherit: "default_rtl"; \
-                               color_class: AO0311D; \
-                               visible: 1; \
-                       } \
-               }
 
-#define CU_TOP_PADDING_1_LINE 0 95
-#define CU_TOP_PADDING_2_LINE 0 95
+#define CU_DOT(_name, _ltr_offset, _rtl_offset) \
+       image { _name; \
+               scale; \
+               desc { "default"; \
+                       fixed: 1 1; \
+                       align: 0.0 0.5; \
+                       min: 4 4; \
+                       max: 4 4; \
+                       image.normal: "w_call_dot.png"; \
+                       rel1 { relative: 1.0 0.0; offset: _ltr_offset 0; to: "text_info"; } \
+                       rel2 { relative: 1.0 1.0; offset: _ltr_offset 0; to: "text_info"; } \
+                       visible: 0; \
+               } \
+               desc { "on"; \
+                       inherit: "default"; \
+                       color_class: AO031; \
+                       visible: 1; \
+               } \
+               desc { "off"; \
+                       inherit: "default"; \
+                       color_class: AO031D; \
+                       visible: 1; \
+               } \
+               desc { "on_photo"; \
+                       inherit: "default"; \
+                       color_class: AO0311; \
+                       visible: 1; \
+               } \
+               desc { "off_photo"; \
+                       inherit: "default"; \
+                       color_class: AO0311D; \
+                       visible: 1; \
+               } \
+               desc { "default_rtl"; \
+                       inherit: "default"; \
+                       align: 1.0 0.5; \
+                       rel1 { relative: 0.0 0.0; offset: _rtl_offset 0; to: "text_info"; } \
+                       rel2 { relative: 0.0 1.0; offset: _rtl_offset 0; to: "text_info"; } \
+               } \
+               desc { "rtl_on"; \
+                       inherit: "default_rtl"; \
+                       color_class: AO031; \
+                       visible: 1; \
+               } \
+               desc { "rtl_off"; \
+                       inherit: "default_rtl"; \
+                       color_class: AO031D; \
+                       visible: 1; \
+               } \
+               desc { "rtl_on_photo"; \
+                       inherit: "default_rtl"; \
+                       color_class: AO0311; \
+                       visible: 1; \
+               } \
+               desc { "rtl_off_photo"; \
+                       inherit: "default_rtl"; \
+                       color_class: AO0311D; \
+                       visible: 1; \
+               } \
+       }
 
 group { "elm/layout/callui/call_info";
        images {
@@ -135,7 +129,7 @@ group { "elm/layout/callui/call_info";
                                rel2 { relative: 1.0 1.0; to: "bg"; }
                                color_class: TRANSPARENT;
                        }
-                       desc { "incoming";
+                       desc { "main_text_big";
                                inherit: "default";
                                color_class: AO0242;
                        }
@@ -143,32 +137,20 @@ group { "elm/layout/callui/call_info";
                spacer { "top.pad";
                        scale;
                        desc { "default";
-                               min: 0 95;
+                               min: 0 70;
                                fixed: 0 1;
                                align: 0.5 0.0;
                                rel1 { relative: 0.0 0.0; to: "bg"; }
                                rel2 { relative: 1.0 0.0; to: "bg"; }
                        }
-                       desc { "1line";
-                               inherit: "default";
-                               min: 0 119;
-                       }
-                       desc { "incom_1line";
+                       desc { "centre_1line";
                                inherit: "default";
                                min: 0 119;
                        }
-                       desc { "incom_2line";
+                       desc { "centre_2line";
                                inherit: "default";
                                min: 0 95;
                        }
-                       desc { "1line_2text";
-                               inherit: "default";
-                               min: 0 99;
-                       }
-                       desc { "2line_2text";
-                               inherit: "default";
-                               min: 0 75;
-                       }
                }
                spacer { "left.pad";
                        scale;
@@ -228,7 +210,7 @@ group { "elm/layout/callui/call_info";
                        desc { "photo";
                                inherit: "default";
                                text {
-                                       style: "call_status_with_photo";
+                                       style: "call_status_photo";
                                        min: 1 0;
                                }
                        }
@@ -259,26 +241,21 @@ group { "elm/layout/callui/call_info";
                        desc { "default";
                                fixed: 0 1;
                                align: 0.5 0.0;
-                               min: 208 107;
-                               max: 208 107;
+                               min: 208 32;
+                               max: 208 32;
                                rel1 { relative: 1.0 1.0; to_x: "left.pad";  to_y: "zone.text_info.bottom.pad"; }
                                rel2 { relative: 0.0 1.0; to_x: "right.pad"; to_y: "zone.text_info.bottom.pad"; }
                        }
-                       desc { "1line";
+                       desc { "centre_1line";
                                inherit: "default";
-                               min: 208 53;
-                               max: 208 53;
+                               min: 190 52;
+                               max: 190 52;
                        }
-                       desc { "incom_2line";
+                       desc { "centre_2line";
                                inherit: "default";
                                min: 190 107;
                                max: 190 107;
                        }
-                       desc { "incom_1line";
-                               inherit: "default";
-                               min: 190 52;
-                               max: 190 52;
-                       }
                }
                textblock { "text_1line";
                        nomouse;
@@ -289,14 +266,22 @@ group { "elm/layout/callui/call_info";
                                rel2.to: "zone.text_1line";
                                text.style: "main_text";
                        }
-                       desc { "photo";
-                               inherit: "default";
-                               text.style: "main_text_with_photo";
-                       }
                        desc { "emergency";
                                inherit: "default";
                                text.style: "main_text_emergency";
                        }
+                       desc { "big";
+                               inherit: "default";
+                               text.style: "main_text_big";
+                       }
+                       desc { "big_photo";
+                               inherit: "default";
+                               text.style: "main_text_big_photo";
+                       }
+                       desc { "big_emergency";
+                               inherit: "default";
+                               text.style: "main_text_big_emergency";
+                       }
                }
                rect { "ao_text_1line";
                        mouse;
@@ -307,14 +292,28 @@ group { "elm/layout/callui/call_info";
                                color: 0 0 0 0;
                        }
                }
-               spacer { "zone.text_1line.bottom.pad";
-                       scale;
+               spacer { "text_2line.top.pad";
                        desc { "default";
-                               align: 0.5 1.0;
+                               min: 0 224;
+                               fixed: 0 1;
+                               align: 0.5 0.0;
+                               rel1 { relative: 0.0 0.0; to: "bg"; }
+                               rel2 { relative: 1.0 0.0; to: "bg"; }
+                       }
+                       desc { "incom";
                                min: 0 6;
+                               fixed: 0 1;
+                               align: 0.5 1.0;
                                rel1 { relative: 0.0 1.0; to: "zone.text_1line"; }
                                rel2 { relative: 1.0 1.0; to: "zone.text_1line"; }
                        }
+                       desc { "emergency";
+                               min: 0 208;
+                               fixed: 0 1;
+                               align: 0.5 0.0;
+                               rel1 { relative: 0.0 0.0; to: "bg"; }
+                               rel2 { relative: 1.0 0.0; to: "bg"; }
+                       }
                }
                spacer { "zone.text_2line";
                        scale;
@@ -323,8 +322,11 @@ group { "elm/layout/callui/call_info";
                                align: 0.0 0.0;
                                min: 208 32;
                                max: 208 32;
-                               rel1 { relative: 1.0 1.0; to_x: "left.pad"; to_y: "zone.text_1line.bottom.pad"; }
-                               rel2 { relative: 0.0 1.0; to_x: "right.pad"; to_y: "zone.text_1line.bottom.pad"; }
+                               rel1 { relative: 1.0 1.0; to_x: "left.pad"; to_y: "text_2line.top.pad"; }
+                               rel2 { relative: 0.0 1.0; to_x: "right.pad"; to_y: "text_2line.top.pad"; }
+                       }
+                       desc { "incom";
+                               inherit: "default";
                        }
                }
                swallow { "text_2line";
@@ -345,7 +347,6 @@ group { "elm/layout/callui/call_info";
                                color: 0 0 0 0;
                        }
                }
-
                rect { "event";
                        mouse;
                        scale;
@@ -554,15 +555,7 @@ group { "elm/layout/callui/call_info";
                        }
                }
                program {
-                       signal: "1line";
-                       source: "top_padding";
-                       script {
-                               set_state(PART:"top.pad", "1line", 0.0);
-                               set_state(PART:"zone.text_1line", "1line", 0.0);
-                       }
-               }
-               program {
-                       signal: "2line";
+                       signal: "default";
                        source: "top_padding";
                        script {
                                set_state(PART:"top.pad", "default", 0.0);
@@ -570,76 +563,91 @@ group { "elm/layout/callui/call_info";
                        }
                }
                program {
-                       signal: "incom_1line";
+                       signal: "centre_1line";
                        source: "top_padding";
                        script {
-                               set_state(PART:"top.pad", "incom_1line", 0.0);
-                               set_state(PART:"zone.text_1line", "incom_1line", 0.0);
+                               set_state(PART:"top.pad", "centre_1line", 0.0);
+                               set_state(PART:"zone.text_1line", "centre_1line", 0.0);
                        }
                }
                program {
-                       signal: "incom_2line";
+                       signal: "centre_2line";
                        source: "top_padding";
                        script {
-                               set_state(PART:"top.pad", "incom_2line", 0.0);
-                               set_state(PART:"zone.text_1line", "incom_2line", 0.0);
+                               set_state(PART:"top.pad", "centre_2line", 0.0);
+                               set_state(PART:"zone.text_1line", "centre_2line", 0.0);
                        }
                }
                program {
-                       signal: "emergency";
-                       source: "top_padding";
+                       signal: "default";
+                       source: "text_1line";
                        script {
-                               set_state(PART:"top.pad", "default", 0.0);
-                               set_state(PART:"zone.text_1line", "default", 0.0);
+                               set_state(PART:"text_1line", "default", 0.0);
+                               set_state(PART:"text_info", "default", 0.0);
                        }
                }
                program {
-                       signal: "2line_2text";
-                       source: "top_padding";
+                       signal: "caller_id_enable";
+                       source: "text_1line";
                        script {
-                               set_state(PART:"top.pad", "2line_2text", 0.0);
-                               set_state(PART:"text_1line", "default", 0.0);
+                               set_state(PART:"text_1line", "big_photo", 0.0);
+                               set_state(PART:"text_info", "photo", 0.0);
                        }
                }
                program {
-                       signal: "1line_2text";
-                       source: "top_padding";
+                       signal: "caller_id_disable";
+                       source: "text_1line";
                        script {
-                               set_state(PART:"top.pad", "1line_2text", 0.0);
-                               set_state(PART:"zone.text_1line", "1line", 0.0);
-                               set_state(PART:"text_1line", "default", 0.0);
+                               set_state(PART:"text_1line", "big", 0.0);
+                               set_state(PART:"text_info", "default", 0.0);
                        }
                }
                program {
-                       signal: "caller_id_enable";
+                       signal: "emergency";
                        source: "text_1line";
                        script {
-                               set_state(PART:"text_1line", "photo", 0.0);
-                               set_state(PART:"text_info", "photo", 0.0);
+                               set_state(PART:"text_1line", "emergency", 0.0);
+                               set_state(PART:"text_info", "default", 0.0);
                        }
                }
                program {
-                       signal: "caller_id_disable";
+                       signal: "big_txt";
                        source: "text_1line";
                        script {
-                               set_state(PART:"text_1line", "default", 0.0);
+                               set_state(PART:"text_1line", "big", 0.0);
                                set_state(PART:"text_info", "default", 0.0);
                        }
                }
                program {
-                       signal: "emergency";
+                       signal: "big_txt_emergency";
                        source: "text_1line";
                        script {
-                               set_state(PART:"text_1line", "emergency", 0.0);
+                               set_state(PART:"text_1line", "big_emergency", 0.0);
                                set_state(PART:"text_info", "default", 0.0);
                        }
                }
+               program {
+                       signal: "default";
+                       source: "text_2line";
+                       script {
+                               set_state(PART:"text_2line.top.pad", "default", 0.0);
+                               set_state(PART:"zone.text_2line", "default", 0.0);
+                       }
+               }
+               program {
+                       signal: "incom";
+                       source: "text_2line";
+                       script {
+                               set_state(PART:"text_2line.top.pad", "main_text_big", 0.0);
+                               set_state(PART:"zone.text_2line", "main_text_big", 0.0);
+                       }
+               }
                program {
                        signal: "caller_id_enable";
                        source: "caller_id";
                        script {
                                set_int(b_set_photo, 1);
-                               set_state(PART:"caller_id.mask", "incoming", 0.0);
+                               set_state(PART:"caller_id.mask", "main_text_big", 0.0);
                        }
                }
                program {
index b68be9cecd791e4f2c34b250782a000c0ac71d73..33a24858504eefd3b607bea2bb6b6dacfd36434e 100644 (file)
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#define CU_BEZEL_CUE_ICONS_DIR "/Bezel_interaction_cue"
+
 #define CU_RES_IMAGE(_style, _file_name) \
        group { "elm/layout/callui_image/"_style; \
                images.image: _file_name COMP; \
                } \
        }
 
-CU_RES_IMAGE("bezel_cue_accept_1", "Incoming/w_alert_interaction_cue_l_01.png")
-CU_RES_IMAGE("bezel_cue_accept_2", "Incoming/w_alert_interaction_cue_l_02.png")
-CU_RES_IMAGE("bezel_cue_accept_3", "Incoming/w_alert_interaction_cue_l_03.png")
-CU_RES_IMAGE("bezel_cue_accept_4", "Incoming/w_alert_interaction_cue_l_04.png")
+CU_RES_IMAGE("bezel_cue_accept_1", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_l_01.png")
+CU_RES_IMAGE("bezel_cue_accept_2", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_l_02.png")
+CU_RES_IMAGE("bezel_cue_accept_3", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_l_03.png")
+CU_RES_IMAGE("bezel_cue_accept_4", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_l_04.png")
 
-CU_RES_IMAGE("bezel_cue_reject_1", "Incoming/w_alert_interaction_cue_r_01.png")
-CU_RES_IMAGE("bezel_cue_reject_2", "Incoming/w_alert_interaction_cue_r_02.png")
-CU_RES_IMAGE("bezel_cue_reject_3", "Incoming/w_alert_interaction_cue_r_03.png")
-CU_RES_IMAGE("bezel_cue_reject_4", "Incoming/w_alert_interaction_cue_r_04.png")
+CU_RES_IMAGE("bezel_cue_reject_1", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_r_01.png")
+CU_RES_IMAGE("bezel_cue_reject_2", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_r_02.png")
+CU_RES_IMAGE("bezel_cue_reject_3", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_r_03.png")
+CU_RES_IMAGE("bezel_cue_reject_4", CU_BEZEL_CUE_ICONS_DIR/"bezel_interaction_cue_r_04.png")
 
 CU_RES_IMAGE("accept_reject_action_bg", "call_button_bg_accept_reject_press.png")
 CU_RES_IMAGE("accept", "w_call_incoming_icon_accept.png")
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_01.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_01.png
new file mode 100644 (file)
index 0000000..87cfaaa
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_01.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_02.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_02.png
new file mode 100644 (file)
index 0000000..6342aac
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_02.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_03.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_03.png
new file mode 100644 (file)
index 0000000..bd204e1
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_03.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_04.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_04.png
new file mode 100644 (file)
index 0000000..6845552
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_l_04.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_01.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_01.png
new file mode 100644 (file)
index 0000000..8d6ae40
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_01.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_02.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_02.png
new file mode 100644 (file)
index 0000000..955eff8
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_02.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_03.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_03.png
new file mode 100644 (file)
index 0000000..f19a064
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_03.png differ
diff --git a/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_04.png b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_04.png
new file mode 100644 (file)
index 0000000..270f651
Binary files /dev/null and b/edc/images/Bezel_interaction_cue/bezel_interaction_cue_r_04.png differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_l_01.png b/edc/images/Incoming/w_alert_interaction_cue_l_01.png
deleted file mode 100644 (file)
index 87cfaaa..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_l_01.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_l_02.png b/edc/images/Incoming/w_alert_interaction_cue_l_02.png
deleted file mode 100644 (file)
index 6342aac..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_l_02.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_l_03.png b/edc/images/Incoming/w_alert_interaction_cue_l_03.png
deleted file mode 100644 (file)
index bd204e1..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_l_03.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_l_04.png b/edc/images/Incoming/w_alert_interaction_cue_l_04.png
deleted file mode 100644 (file)
index 6845552..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_l_04.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_r_01.png b/edc/images/Incoming/w_alert_interaction_cue_r_01.png
deleted file mode 100644 (file)
index 8d6ae40..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_r_01.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_r_02.png b/edc/images/Incoming/w_alert_interaction_cue_r_02.png
deleted file mode 100644 (file)
index 955eff8..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_r_02.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_r_03.png b/edc/images/Incoming/w_alert_interaction_cue_r_03.png
deleted file mode 100644 (file)
index f19a064..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_r_03.png and /dev/null differ
diff --git a/edc/images/Incoming/w_alert_interaction_cue_r_04.png b/edc/images/Incoming/w_alert_interaction_cue_r_04.png
deleted file mode 100644 (file)
index 270f651..0000000
Binary files a/edc/images/Incoming/w_alert_interaction_cue_r_04.png and /dev/null differ
diff --git a/edc/images/Keypad/numpad_btn_bg.png b/edc/images/Keypad/numpad_btn_bg.png
new file mode 100644 (file)
index 0000000..ea67bc4
Binary files /dev/null and b/edc/images/Keypad/numpad_btn_bg.png differ
diff --git a/edc/images/Keypad/numpad_btn_bg_bottom.png b/edc/images/Keypad/numpad_btn_bg_bottom.png
new file mode 100644 (file)
index 0000000..e92ef65
Binary files /dev/null and b/edc/images/Keypad/numpad_btn_bg_bottom.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_00.png b/edc/images/Keypad/privacy_lock_dial_extension_00.png
new file mode 100644 (file)
index 0000000..fa87593
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_00.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_01.png b/edc/images/Keypad/privacy_lock_dial_extension_01.png
new file mode 100644 (file)
index 0000000..116b098
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_01.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_02.png b/edc/images/Keypad/privacy_lock_dial_extension_02.png
new file mode 100644 (file)
index 0000000..f9a8c0f
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_02.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_03.png b/edc/images/Keypad/privacy_lock_dial_extension_03.png
new file mode 100644 (file)
index 0000000..c89e702
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_03.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_04.png b/edc/images/Keypad/privacy_lock_dial_extension_04.png
new file mode 100644 (file)
index 0000000..d9c5e79
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_04.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_05.png b/edc/images/Keypad/privacy_lock_dial_extension_05.png
new file mode 100644 (file)
index 0000000..b56e648
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_05.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_06.png b/edc/images/Keypad/privacy_lock_dial_extension_06.png
new file mode 100644 (file)
index 0000000..d4ac293
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_06.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_07.png b/edc/images/Keypad/privacy_lock_dial_extension_07.png
new file mode 100644 (file)
index 0000000..fa2b05c
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_07.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_08.png b/edc/images/Keypad/privacy_lock_dial_extension_08.png
new file mode 100644 (file)
index 0000000..c12f3f8
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_08.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_09.png b/edc/images/Keypad/privacy_lock_dial_extension_09.png
new file mode 100644 (file)
index 0000000..90fd0f6
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_09.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_asterisk.png b/edc/images/Keypad/privacy_lock_dial_extension_asterisk.png
new file mode 100644 (file)
index 0000000..f6dbfaf
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_asterisk.png differ
diff --git a/edc/images/Keypad/privacy_lock_dial_extension_sharp.png b/edc/images/Keypad/privacy_lock_dial_extension_sharp.png
new file mode 100644 (file)
index 0000000..c334a0d
Binary files /dev/null and b/edc/images/Keypad/privacy_lock_dial_extension_sharp.png differ
diff --git a/edc/images/Keypad/w_sip_3x4_btn_ic_on.png b/edc/images/Keypad/w_sip_3x4_btn_ic_on.png
new file mode 100644 (file)
index 0000000..ce44cd0
Binary files /dev/null and b/edc/images/Keypad/w_sip_3x4_btn_ic_on.png differ
diff --git a/edc/images/More_options/w_call_option_icon_keypad.png b/edc/images/More_options/w_call_option_icon_keypad.png
new file mode 100644 (file)
index 0000000..99ede33
Binary files /dev/null and b/edc/images/More_options/w_call_option_icon_keypad.png differ
diff --git a/edc/images/More_options/w_call_option_icon_volume_swap.png b/edc/images/More_options/w_call_option_icon_volume_swap.png
new file mode 100644 (file)
index 0000000..325c055
Binary files /dev/null and b/edc/images/More_options/w_call_option_icon_volume_swap.png differ
diff --git a/edc/images/More_options/w_call_option_icon_volume_unhold.png b/edc/images/More_options/w_call_option_icon_volume_unhold.png
new file mode 100644 (file)
index 0000000..d787ad0
Binary files /dev/null and b/edc/images/More_options/w_call_option_icon_volume_unhold.png differ
diff --git a/edc/images/More_options/w_more_circle_bg.png b/edc/images/More_options/w_more_circle_bg.png
new file mode 100644 (file)
index 0000000..ad3c959
Binary files /dev/null and b/edc/images/More_options/w_more_circle_bg.png differ
diff --git a/edc/images/autocall_forwarding_list_icon_phone.png b/edc/images/autocall_forwarding_list_icon_phone.png
deleted file mode 100644 (file)
index 471a370..0000000
Binary files a/edc/images/autocall_forwarding_list_icon_phone.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_list_icon_wc1.png b/edc/images/autocall_forwarding_list_icon_wc1.png
deleted file mode 100644 (file)
index e383402..0000000
Binary files a/edc/images/autocall_forwarding_list_icon_wc1.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_list_st_call.png b/edc/images/autocall_forwarding_list_st_call.png
deleted file mode 100644 (file)
index de4cae0..0000000
Binary files a/edc/images/autocall_forwarding_list_st_call.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_list_st_phone.png b/edc/images/autocall_forwarding_list_st_phone.png
deleted file mode 100644 (file)
index 1a67f77..0000000
Binary files a/edc/images/autocall_forwarding_list_st_phone.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_list_st_phone2.png b/edc/images/autocall_forwarding_list_st_phone2.png
deleted file mode 100644 (file)
index d00fc9b..0000000
Binary files a/edc/images/autocall_forwarding_list_st_phone2.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_list_st_wc1.png b/edc/images/autocall_forwarding_list_st_wc1.png
deleted file mode 100644 (file)
index 2259dd1..0000000
Binary files a/edc/images/autocall_forwarding_list_st_wc1.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_moresetting_01.png b/edc/images/autocall_forwarding_moresetting_01.png
deleted file mode 100644 (file)
index b6cd3e5..0000000
Binary files a/edc/images/autocall_forwarding_moresetting_01.png and /dev/null differ
diff --git a/edc/images/autocall_forwarding_moresetting_02.png b/edc/images/autocall_forwarding_moresetting_02.png
deleted file mode 100644 (file)
index 8b309dd..0000000
Binary files a/edc/images/autocall_forwarding_moresetting_02.png and /dev/null differ
diff --git a/edc/images/numpad_btn_bg.png b/edc/images/numpad_btn_bg.png
deleted file mode 100644 (file)
index ea67bc4..0000000
Binary files a/edc/images/numpad_btn_bg.png and /dev/null differ
diff --git a/edc/images/numpad_btn_bg_bottom.png b/edc/images/numpad_btn_bg_bottom.png
deleted file mode 100644 (file)
index e92ef65..0000000
Binary files a/edc/images/numpad_btn_bg_bottom.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_00.png b/edc/images/privacy_lock_dial_extension_00.png
deleted file mode 100644 (file)
index fa87593..0000000
Binary files a/edc/images/privacy_lock_dial_extension_00.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_01.png b/edc/images/privacy_lock_dial_extension_01.png
deleted file mode 100644 (file)
index 116b098..0000000
Binary files a/edc/images/privacy_lock_dial_extension_01.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_02.png b/edc/images/privacy_lock_dial_extension_02.png
deleted file mode 100644 (file)
index f9a8c0f..0000000
Binary files a/edc/images/privacy_lock_dial_extension_02.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_03.png b/edc/images/privacy_lock_dial_extension_03.png
deleted file mode 100644 (file)
index c89e702..0000000
Binary files a/edc/images/privacy_lock_dial_extension_03.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_04.png b/edc/images/privacy_lock_dial_extension_04.png
deleted file mode 100644 (file)
index d9c5e79..0000000
Binary files a/edc/images/privacy_lock_dial_extension_04.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_05.png b/edc/images/privacy_lock_dial_extension_05.png
deleted file mode 100644 (file)
index b56e648..0000000
Binary files a/edc/images/privacy_lock_dial_extension_05.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_06.png b/edc/images/privacy_lock_dial_extension_06.png
deleted file mode 100644 (file)
index d4ac293..0000000
Binary files a/edc/images/privacy_lock_dial_extension_06.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_07.png b/edc/images/privacy_lock_dial_extension_07.png
deleted file mode 100644 (file)
index fa2b05c..0000000
Binary files a/edc/images/privacy_lock_dial_extension_07.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_08.png b/edc/images/privacy_lock_dial_extension_08.png
deleted file mode 100644 (file)
index c12f3f8..0000000
Binary files a/edc/images/privacy_lock_dial_extension_08.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_09.png b/edc/images/privacy_lock_dial_extension_09.png
deleted file mode 100644 (file)
index 90fd0f6..0000000
Binary files a/edc/images/privacy_lock_dial_extension_09.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_asterisk.png b/edc/images/privacy_lock_dial_extension_asterisk.png
deleted file mode 100644 (file)
index f6dbfaf..0000000
Binary files a/edc/images/privacy_lock_dial_extension_asterisk.png and /dev/null differ
diff --git a/edc/images/privacy_lock_dial_extension_sharp.png b/edc/images/privacy_lock_dial_extension_sharp.png
deleted file mode 100644 (file)
index c334a0d..0000000
Binary files a/edc/images/privacy_lock_dial_extension_sharp.png and /dev/null differ
index ae4b0e47941d4173c0de4945b923f18376d4f76c..19f07cef3b16097a7af09bc4feaf8ac3cfbab27d 100644 (file)
Binary files a/edc/images/w_call_incoming_icon_accept.png and b/edc/images/w_call_incoming_icon_accept.png differ
diff --git a/edc/images/w_call_incoming_icon_headset_call_accept.png b/edc/images/w_call_incoming_icon_headset_call_accept.png
new file mode 100644 (file)
index 0000000..63394c1
Binary files /dev/null and b/edc/images/w_call_incoming_icon_headset_call_accept.png differ
index cb15dfd5abd750f943442dbd044224ecbde35dcb..44ba85c8a889c89ae74395be0903c0270764e71d 100644 (file)
Binary files a/edc/images/w_call_incoming_icon_reject.png and b/edc/images/w_call_incoming_icon_reject.png differ
diff --git a/edc/images/w_call_numeric_btn_cancel.png b/edc/images/w_call_numeric_btn_cancel.png
deleted file mode 100644 (file)
index 2a117a2..0000000
Binary files a/edc/images/w_call_numeric_btn_cancel.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_device.png b/edc/images/w_call_option_icon_device.png
deleted file mode 100644 (file)
index f2cc80d..0000000
Binary files a/edc/images/w_call_option_icon_device.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_headset.png b/edc/images/w_call_option_icon_headset.png
deleted file mode 100644 (file)
index d43b955..0000000
Binary files a/edc/images/w_call_option_icon_headset.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_keypad.png b/edc/images/w_call_option_icon_keypad.png
deleted file mode 100644 (file)
index 99ede33..0000000
Binary files a/edc/images/w_call_option_icon_keypad.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_mute.png b/edc/images/w_call_option_icon_mute.png
deleted file mode 100644 (file)
index 3c6e0f8..0000000
Binary files a/edc/images/w_call_option_icon_mute.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_volume_hold.png b/edc/images/w_call_option_icon_volume_hold.png
deleted file mode 100644 (file)
index 61e0d94..0000000
Binary files a/edc/images/w_call_option_icon_volume_hold.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_volume_swap.png b/edc/images/w_call_option_icon_volume_swap.png
deleted file mode 100644 (file)
index 325c055..0000000
Binary files a/edc/images/w_call_option_icon_volume_swap.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_volume_tophone.png b/edc/images/w_call_option_icon_volume_tophone.png
deleted file mode 100644 (file)
index 7b38967..0000000
Binary files a/edc/images/w_call_option_icon_volume_tophone.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_volume_towatch.png b/edc/images/w_call_option_icon_volume_towatch.png
deleted file mode 100644 (file)
index 7478ff4..0000000
Binary files a/edc/images/w_call_option_icon_volume_towatch.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_volume_transferto.png b/edc/images/w_call_option_icon_volume_transferto.png
deleted file mode 100644 (file)
index 12243e2..0000000
Binary files a/edc/images/w_call_option_icon_volume_transferto.png and /dev/null differ
diff --git a/edc/images/w_call_option_icon_volume_unhold.png b/edc/images/w_call_option_icon_volume_unhold.png
deleted file mode 100644 (file)
index d787ad0..0000000
Binary files a/edc/images/w_call_option_icon_volume_unhold.png and /dev/null differ
diff --git a/edc/images/w_call_toast_show_on_divice_icon.png b/edc/images/w_call_toast_show_on_divice_icon.png
deleted file mode 100644 (file)
index 145867b..0000000
Binary files a/edc/images/w_call_toast_show_on_divice_icon.png and /dev/null differ
diff --git a/edc/images/w_during_icon_volume_02.png b/edc/images/w_during_icon_volume_02.png
new file mode 100644 (file)
index 0000000..a8ffb78
Binary files /dev/null and b/edc/images/w_during_icon_volume_02.png differ
diff --git a/edc/images/w_emergency_icon.png b/edc/images/w_emergency_icon.png
deleted file mode 100644 (file)
index cb2e077..0000000
Binary files a/edc/images/w_emergency_icon.png and /dev/null differ
diff --git a/edc/images/w_more_circle_bg.png b/edc/images/w_more_circle_bg.png
deleted file mode 100644 (file)
index ad3c959..0000000
Binary files a/edc/images/w_more_circle_bg.png and /dev/null differ
diff --git a/edc/images/w_outgoing_icon_contact_add_02.png b/edc/images/w_outgoing_icon_contact_add_02.png
new file mode 100644 (file)
index 0000000..2755b3a
Binary files /dev/null and b/edc/images/w_outgoing_icon_contact_add_02.png differ
diff --git a/edc/images/w_outgoing_icon_device_02.png b/edc/images/w_outgoing_icon_device_02.png
new file mode 100644 (file)
index 0000000..fe984c1
Binary files /dev/null and b/edc/images/w_outgoing_icon_device_02.png differ
diff --git a/edc/images/w_outgoing_icon_headset_02.png b/edc/images/w_outgoing_icon_headset_02.png
new file mode 100644 (file)
index 0000000..4cac962
Binary files /dev/null and b/edc/images/w_outgoing_icon_headset_02.png differ
diff --git a/edc/images/w_outgoing_icon_mute.png b/edc/images/w_outgoing_icon_mute.png
deleted file mode 100644 (file)
index aa4cf4f..0000000
Binary files a/edc/images/w_outgoing_icon_mute.png and /dev/null differ
diff --git a/edc/images/w_outgoing_icon_mute_02.png b/edc/images/w_outgoing_icon_mute_02.png
new file mode 100644 (file)
index 0000000..c4276f0
Binary files /dev/null and b/edc/images/w_outgoing_icon_mute_02.png differ
diff --git a/edc/images/w_outgoing_icon_towatch_02.png b/edc/images/w_outgoing_icon_towatch_02.png
new file mode 100644 (file)
index 0000000..36bc29a
Binary files /dev/null and b/edc/images/w_outgoing_icon_towatch_02.png differ
diff --git a/edc/images/w_outgoing_icon_volume.png b/edc/images/w_outgoing_icon_volume.png
deleted file mode 100644 (file)
index aadd32a..0000000
Binary files a/edc/images/w_outgoing_icon_volume.png and /dev/null differ
diff --git a/edc/images/w_outgoing_icon_volume_02.png b/edc/images/w_outgoing_icon_volume_02.png
new file mode 100644 (file)
index 0000000..9e9220f
Binary files /dev/null and b/edc/images/w_outgoing_icon_volume_02.png differ
diff --git a/edc/images/w_sip_3x4_btn_ic_on.png b/edc/images/w_sip_3x4_btn_ic_on.png
deleted file mode 100644 (file)
index ce44cd0..0000000
Binary files a/edc/images/w_sip_3x4_btn_ic_on.png and /dev/null differ
index 3dc5f07f274d82a3b6dcac477bdf27ec68ad64b6..aac6fae63780e3202601d048b218952abd2e6515 100644 (file)
@@ -17,8 +17,8 @@
 #define CU_BTN_KEYPAD_PADDING_H 122
 
 group { "elm/layout/callui/keypad";
-       images.image: "numpad_btn_bg.png" COMP;
-       images.image: "numpad_btn_bg_bottom.png" COMP;
+       images.image: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg.png" COMP;
+       images.image: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg_bottom.png" COMP;
 
        parts {
                rect { "bg";
@@ -60,7 +60,7 @@ group { "elm/layout/callui/keypad";
                        desc { "default";
                                rel1 { relative: 0.0 0.0; to: "bg"; }
                                rel2 { relative: 1.0 1.0; to: "bg"; }
-                               image.normal: "numpad_btn_bg_bottom.png";
+                               image.normal: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg_bottom.png";
                                color: 255 255 255 255;
                                min: CU_WIN_W CU_WIN_H;
                        }
@@ -126,7 +126,7 @@ group { "elm/layout/callui/keypad";
                        scale;
                        desc { "default";
                                rel1 { relative: 1.0 0.0; to: "sp.col3"; }
-                               image.normal: "numpad_btn_bg.png";
+                               image.normal: CU_KEYPAD_ICONS_DIR/"numpad_btn_bg.png";
                                min: CU_BTN_KEYPAD_RIGHT_H CU_BTN_KEYPAD_H;
                                max: CU_BTN_KEYPAD_RIGHT_H CU_BTN_KEYPAD_H;
                                color: 255 255 255 255;
index 1dc23911bc7e91be15fa632a6b2382322662522e..e87ac933678144e5500904056d58294f371dddeb 100644 (file)
@@ -57,4 +57,3 @@ group { "elm/layout/callui/main";
                }
        }
 }
-
index bf1d7ca603305872ebdc71b86fc926eef9510504..56a657772d32b8341ae5deb5786416243165ae40 100644 (file)
  * limitations under the License.
  */
 
-#define CU_MORE_OPT_TXT_TOP_PAD 161
-
-#define CU_MORE_OPT_TXT_SMALL_W 112
-#define CU_MORE_OPT_TXT_SMALL_H 36
+#define CU_MORE_OPT_TXT_TOP_PAD 276
 
 #define CU_MORE_OPT_TXT_BIG_W 100
 #define CU_MORE_OPT_TXT_BIG_H 39
 
-#define CU_MORE_OPT_BTN_TOP_X 130
-#define CU_MORE_OPT_BTN_TOP_Y 21
-
-#define CU_MORE_OPT_BTN_LEFT_X 21
-#define CU_MORE_OPT_BTN_LEFT_Y 130
+#define CU_MORE_OPT_BTN_ODD_1_X 51
+#define CU_MORE_OPT_BTN_ODD_2_X 209
 
-#define CU_MORE_OPT_BTN_RIGHT_X 239
-#define CU_MORE_OPT_BTN_RIGHT_Y 130
+#define CU_MORE_OPT_BTN_EVEN_1_X 130
 
-#define CU_MORE_OPT_BTN_BOTTOM_X 130
-#define CU_MORE_OPT_BTN_BOTTOM_Y 219
+#define CU_MORE_OPT_BTN_Y 102
 
 #define CU_MORE_OPT_BTN_W 100
 #define CU_MORE_OPT_BTN_H 135
 
-#define CU_MORE_OPT_BTN_TOP_REL1 CU_REL_W(CU_MORE_OPT_BTN_TOP_X) CU_REL_H(CU_MORE_OPT_BTN_TOP_Y)
-#define CU_MORE_OPT_BTN_TOP_REL2 CU_REL_W((CU_MORE_OPT_BTN_TOP_X + CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_TOP_Y + CU_MORE_OPT_BTN_H))
-
-#define CU_MORE_OPT_BTN_LEFT_REL1 CU_REL_W(CU_MORE_OPT_BTN_LEFT_X) CU_REL_H(CU_MORE_OPT_BTN_LEFT_Y)
-#define CU_MORE_OPT_BTN_LEFT_REL2 CU_REL_W((CU_MORE_OPT_BTN_LEFT_X + CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_LEFT_Y + CU_MORE_OPT_BTN_H))
+#define CU_MORE_OPT_BTN_ODD_1_REL1 CU_REL_W(CU_MORE_OPT_BTN_ODD_1_X) CU_REL_H(CU_MORE_OPT_BTN_Y)
+#define CU_MORE_OPT_BTN_ODD_1_REL2 CU_REL_W((CU_MORE_OPT_BTN_ODD_1_X + CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_Y + CU_MORE_OPT_BTN_H))
 
-#define CU_MORE_OPT_BTN_RIGHT_REL1 CU_REL_W(CU_MORE_OPT_BTN_RIGHT_X) CU_REL_H(CU_MORE_OPT_BTN_RIGHT_Y)
-#define CU_MORE_OPT_BTN_RIGHT_REL2 CU_REL_W((CU_MORE_OPT_BTN_RIGHT_X+CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_RIGHT_Y + CU_MORE_OPT_BTN_H))
+#define CU_MORE_OPT_BTN_ODD_2_REL1 CU_REL_W(CU_MORE_OPT_BTN_ODD_2_X) CU_REL_H(CU_MORE_OPT_BTN_Y)
+#define CU_MORE_OPT_BTN_ODD_2_REL2 CU_REL_W((CU_MORE_OPT_BTN_ODD_2_X + CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_Y + CU_MORE_OPT_BTN_H))
 
-#define CU_MORE_OPT_BTN_BOTTOM_REL1 CU_REL_W(CU_MORE_OPT_BTN_BOTTOM_X) CU_REL_H(CU_MORE_OPT_BTN_BOTTOM_Y)
-#define CU_MORE_OPT_BTN_BOTTOM_REL2 CU_REL_W((CU_MORE_OPT_BTN_BOTTOM_X + CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_BOTTOM_Y + CU_MORE_OPT_BTN_H))
+#define CU_MORE_OPT_BTN_EVEN_1_REL1 CU_REL_W(CU_MORE_OPT_BTN_EVEN_1_X) CU_REL_H(CU_MORE_OPT_BTN_Y)
+#define CU_MORE_OPT_BTN_EVEN_1_REL2 CU_REL_W((CU_MORE_OPT_BTN_EVEN_1_X + CU_MORE_OPT_BTN_W)) CU_REL_H((CU_MORE_OPT_BTN_Y + CU_MORE_OPT_BTN_H))
 
 styles {
        style { "more_opt_status_big";
                base: "font=Tizen font_weight=Regular font_width=Condensed font_size=30 align=center valign=center color=#4DCFFF ellipsis=1.0";
        }
-       style { "more_opt_status_small";
-               base: "font=Tizen font_weight=Regular font_width=Condensed font_size=27 align=center valign=center color=#4DCFFF ellipsis=1.0";
-       }
 }
 
 group { "elm/layout/callui/more_option";
@@ -89,59 +75,47 @@ group { "elm/layout/callui/more_option";
                                rel1 { relative: 0.0 1.0; to_y: "txt.pad.top"; }
                                rel2 { relative: 1.0 1.0; to_y: "txt.pad.top"; }
                                text.style: "more_opt_status_big";
-                       }
-                       desc { "small";
-                               inherit: "default";
-                               min: CU_MORE_OPT_TXT_SMALL_W CU_MORE_OPT_TXT_SMALL_H;
-                               max: CU_MORE_OPT_TXT_SMALL_W CU_MORE_OPT_TXT_SMALL_H;
-                               text.style: "more_opt_status_small";
+                               text.fit: 1 1;
                        }
                }
-               swallow { "swl.top";
+               swallow { "swl.slot.1";
                        scale;
                        desc { "default";
                                fixed: 1 1;
-                               rel1 { relative: CU_MORE_OPT_BTN_TOP_REL1; to: "bg";}
-                               rel2 { relative: CU_MORE_OPT_BTN_TOP_REL2; to: "bg";}
+                               rel1 { relative: CU_MORE_OPT_BTN_ODD_1_REL1; to: "bg";}
+                               rel2 { relative: CU_MORE_OPT_BTN_ODD_1_REL2; to: "bg";}
                        }
-               }
-               swallow { "swl.left";
-                       scale;
-                       desc { "default";
-                               fixed: 1 1;
-                               rel1 { relative: CU_MORE_OPT_BTN_LEFT_REL1; to: "bg";}
-                               rel2 { relative: CU_MORE_OPT_BTN_LEFT_REL2; to: "bg";}
+                       desc { "even";
+                               inherit: "default";
+                               rel1 { relative: CU_MORE_OPT_BTN_EVEN_1_REL1; to: "bg";}
+                               rel2 { relative: CU_MORE_OPT_BTN_EVEN_1_REL2; to: "bg";}
                        }
                }
-               swallow { "swl.right";
+               swallow { "swl.slot.2";
                        scale;
                        desc { "default";
                                fixed: 1 1;
-                               rel1 { relative: CU_MORE_OPT_BTN_RIGHT_REL1; to: "bg";}
-                               rel2 { relative: CU_MORE_OPT_BTN_RIGHT_REL2; to: "bg";}
+                               rel1 { relative: CU_MORE_OPT_BTN_ODD_2_REL1; to: "bg";}
+                               rel2 { relative: CU_MORE_OPT_BTN_ODD_2_REL2; to: "bg";}
                        }
-               }
-               swallow { "swl.bottom";
-                       scale;
-                       desc { "default";
-                               fixed: 1 1;
-                               rel1 { relative: CU_MORE_OPT_BTN_BOTTOM_REL1; to: "bg";}
-                               rel2 { relative: CU_MORE_OPT_BTN_BOTTOM_REL2; to: "bg";}
+                       desc { "even";
+                               inherit: "default";
+                               hid;
                        }
                }
        }
        programs {
                program {
-                       signal: "status_txt_big";
-                       source: "";
-                       action: STATE_SET "default";
-                       target: "txt.status";
+                       signal: "odd";
+                       source: "more_option";
+                       action: STATE_SET "even";
+                       targets: "swl.slot.1" "swl.slot.2";
                }
                program {
-                       signal: "status_txt_small";
-                       source: "";
-                       action: STATE_SET "small";
-                       target: "txt.status";
+                       signal: "even";
+                       source: "more_option";
+                       action: STATE_SET "default";
+                       targets: "swl.slot.1" "swl.slot.2";
                }
        }
 }
index c4c9f38a239ed407af2d5b8453409d1d8f1da4bb..1cd131afcf2854a7f3d42dedf3eeb6ccd20daa64 100644 (file)
@@ -22,6 +22,8 @@
 #include "ucl/gui/Layout.h"
 #include "ucl/gui/StyledWidget.h"
 
+#include <app_control.h>
+
 #include "types.h"
 
 namespace callui {
@@ -32,14 +34,16 @@ namespace callui {
                public:
                        Builder();
                        Builder &setSoundManager(const ISoundManagerSRef &sm);
-                       Builder &setMuteControlDisabled(bool isDisabled);
+                       Builder &setCallManager(const ICallManagerSRef &cm);
+                       Builder &setRequestExitHandler(const NotiHandler &handler);
                        Builder &setParentWidget(const ucl::ElmWidgetSRef &parentWidget);
                        AccessoryPresenterSRef build(ucl::GuiPresenter &parent) const;
 
                private:
                        ISoundManagerSRef m_sm;
-                       bool m_isMuteControlDisabled;
+                       ICallManagerSRef m_cm;
                        ucl::ElmWidgetSRef m_parentWidget;
+                       NotiHandler m_exitHandler;
                };
 
        public:
@@ -47,24 +51,39 @@ namespace callui {
 
                ucl::Widget &getWidget();
                void hideVolumeControls();
-               void setMuteControlDisabled(bool isDisabled);
+               ucl::Result update(const ICallManagerSRef &cm);
 
+       private:
+               enum class ComponentsMode {
+                       UNDEFINED,
+                       OUTGOING,
+                       DURING,
+                       END
+               };
        private:
                friend class ucl::ReffedObj<AccessoryPresenter>;
-               AccessoryPresenter(ucl::IRefCountObj &rc,
-                               const ISoundManagerSRef &sm);
+               AccessoryPresenter(ucl::IRefCountObj &rc, const ISoundManagerSRef &sm,
+                               const NotiHandler &handler);
 
                ucl::Result prepare(ucl::GuiPresenter &parent,
-                               ucl::ElmWidget &parentWidget,
-                               bool isMuteControlDisabled = false);
+                               ucl::ElmWidget &parentWidget, const ICallManagerSRef &cm);
 
                ucl::Result createWidget(ucl::ElmWidget &parent);
                ucl::Result createSlider();
                ucl::Result createVolumeControl();
+
                ucl::Result createVolumeBtn();
                ucl::Result createMuteBtn();
+               ucl::Result createBluetoothBtn();
+               ucl::Result createAddContactBtn();
+
                void onVolumeBtnClicked(ucl::Widget &widget, void *eventInfo);
                void onMuteBtnClicked(ucl::Widget &widget, void *eventInfo);
+               void onBluetoothBtnClicked(ucl::Widget &widget, void *eventInfo);
+               void onAddContactBtnClicked(ucl::Widget &widget, void *eventInfo);
+
+               ucl::Result launchContacts();
+               ucl::Result launchBluetoothSettings();
 
                void registerCallbacks();
                void unregisterCallbacks();
@@ -86,15 +105,30 @@ namespace callui {
 
                void updateVolume(int value);
 
+               void updateMode(const ICallManagerSRef &cm);
+               AccessoryPresenter::ComponentsMode getCurrentMode(const ICallManagerSRef &cm);
+               void setVolumeSliderVisiblity(bool isVisible);
+
+               ucl::Result updateModeRelativeComponents(const ICallManagerSRef &cm);
+               ucl::Result setActiveCallCompomnents();
+               ucl::Result setEndCallCompomnents(const ICallManagerSRef &cm);
+
        private:
                ucl::LayoutSRef m_widget;
                ucl::StyledWidgetSRef m_volumeBtn;
                ucl::StyledWidgetSRef m_muteBtn;
+               ucl::StyledWidgetSRef m_bluetoothBtn;
+               ucl::StyledWidgetSRef m_addContactBtn;
+
                SliderSRef m_slider;
                VolumeControlSRef m_vc;
                ISoundManagerSRef m_sm;
+
                Ecore_Timer *m_vcTimer;
                AudioStateType m_audioState;
+               ComponentsMode m_mode;
+               std::string m_unsavedPhoneNumber;
+               NotiHandler m_exitHandler;
        };
 }
 
index 6502152b8d6f0c7932ac8e4fec5b719bcb39bb75..c7bc82c5f0452082fc6760888ca957e7ad9dbccd 100644 (file)
@@ -79,7 +79,6 @@ namespace callui {
                std::string generateMainTxt(const ICallInfoSCRef &callInfo);
 
                void displayMainTxt(const ICallInfoSCRef &info, const std::string &text) const;
-
        private:
                ucl::LayoutSRef m_widget;
                ucl::StyledWidgetSRef m_callerId;
index ce28028bfc6073a07325abef49f56a90384c7570..4d9443a0e2beaa35eca8abcf095c2ed15ab20ba2 100644 (file)
@@ -57,18 +57,18 @@ namespace callui {
                void updateCallMode();
 
                ucl::Result processIncomingCallMode();
-               void resetIncomingCallMode();
+               ucl::Result processEndCallMode();
                ucl::Result processRegularCallModes();
-               void resetRegularCallModes();
-
-               ucl::Result createAcceptRejectPresenter();
-               ucl::Result createRejectMsgPresenter(const IRejectMsgProviderSRef &provider);
-               void RejectMsgStateCb(RejectMsgState state);
-               void RejectMsgSelectCb(const IRejectMsgSRef &rm);
 
                ucl::Result createCallInfoPresenter(CallMode mode);
                ucl::Result createAccessoryPresenter();
                ucl::Result createMoreOptionsPresenter();
+               ucl::Result createAcceptRejectPresenter();
+               ucl::Result createRejectMsgPresenter(
+                               const IRejectMsgProviderSRef &provider);
+
+               void RejectMsgStateCb(RejectMsgState state);
+               void RejectMsgSelectCb(const IRejectMsgSRef &rm);
 
                ucl::Result createBottomBtn(const ucl::ElmStyle &style);
                void onBottomBtnClicked(ucl::Widget &widget, void *eventInfo);
@@ -88,6 +88,8 @@ namespace callui {
                ucl::Result createIndicatorPresenter();
                ucl::Result createDisplayPresenter();
 
+               void onExitAppRequest();
+
                // Page
 
                virtual void onBackKey() final override;
index 2b994b1f522f2a7e148b24384ff12c1d0d592f2f..a4f4a13f5011e117712050e49f11d74cbc9a21bc 100644 (file)
@@ -70,20 +70,11 @@ namespace callui {
                                const ucl::WidgetEventHandler &handler);
 
                void updateSlots();
-               void updateTopSlot();
-               void updateLeftSlot();
-               void updateRightSlot();
-               void updateBottomSlot();
-
                void updateStatusText();
-               void updateStatusFontSize();
 
                void onSwapBtnClick(ucl::Widget &sender, void *eventInfo);
                void onUnholdBtnClick(ucl::Widget &sender, void *eventInfo);
-               void onHeadsetBtnClick(ucl::Widget &sender, void *eventInfo);
-               void onPhoneBtnClick(ucl::Widget &sender, void *eventInfo);
                void onKeypadBtnClick(ucl::Widget &sender, void *eventInfo);
-               void onGearBtnClick(ucl::Widget &sender, void *eventInfo);
 
                void onBackKey(Evas_Object *obj, void *eventInfo);
 
@@ -98,12 +89,8 @@ namespace callui {
                void stopCallDurationTimer();
                Eina_Bool onCallDurationTimerCb();
 
-               ucl::Result launchBluetoothSettings();
-
-               void onAudioStateChanged(AudioStateType state);
-
                void unsetPanelContent(const ucl::EdjePart &part);
-               void setPanelContent(ucl::StyledWidgetSRef &widget,
+               void setPanelContent(ucl::StyledWidget &widget,
                                const ucl::EdjePart &part);
 
                void onPageExitRequest(Page &page);
@@ -114,10 +101,7 @@ namespace callui {
                ucl::LayoutSRef m_panelLy;
                ucl::StyledWidgetSRef m_btnSwap;
                ucl::StyledWidgetSRef m_btnUnhold;
-               ucl::StyledWidgetSRef m_btnHeadset;
-               ucl::StyledWidgetSRef m_btnPhone;
                ucl::StyledWidgetSRef m_btnKeypad;
-               ucl::StyledWidgetSRef m_btnGear;
                PageWRef m_keypad;
 
                ICallManagerSRef m_cm;
index 516fc8748ebad692b1062ecfd851a8c3c3e79b1c..eea785ec4594fbd0fb3a0c5ee92c3eb377755c4b 100644 (file)
@@ -57,6 +57,8 @@ namespace callui {
                TOP_PRIORITY
        };
 
+       using AccessoryBtnMask = int;
+
        UCL_DECLARE_REF_ALIASES(Page);
 
        UCL_DECLARE_REF_ALIASES(MainPage);
index 5fe63717c70c491c7b50f196606786dbe0f68d82..54d389b3531510d0829b3942d50a2df08b75fb2a 100644 (file)
@@ -22,7 +22,9 @@
 #define CU_REL_W(val) (val/CU_WIN_W)
 #define CU_REL_H(val) (val/CU_WIN_H)
 
-#define CU_ACCESSORY_SOUND_BTN_SIZE 50 86
+#define CU_ACCESSORY_SOUND_BTN_SIZE 60 60
+
+#define CU_KEYPAD_ICONS_DIR "/Keypad"
 
 collections {
        base_scale: 1.3;
index 90c39f73fa2e267c0b130bc12514b71258d5d032..75240b233b2f3a65941d9d044dccc184dcc139d3 100644 (file)
 
 #include "presenters/AccessoryPresenter.h"
 
+#include "ucl/appfw/types.h"
+
 #include "model/ISoundManager.h"
+#include "model/ICallManager.h"
+#include "model/IActiveCall.h"
+#include "model/IEndCall.h"
+#include "model/ICallInfo.h"
+
 #include "view/VolumeControl.h"
 
 #include "resources.h"
 #include "common.h"
 
+#define CU_APP_CONTROL_MIME_CONTACT "application/vnd.tizen.contact"
+
 namespace callui { namespace { namespace impl {
 
        using namespace ucl;
@@ -30,11 +39,15 @@ namespace callui { namespace { namespace impl {
                {"layout", "callui", "accessory"};
 
        constexpr EdjePart PART_SWL_VOLUME_SLIDER {"swl.volume_control"};
-       constexpr EdjePart PART_SWL_SOUND {"swl.sound"};
-       constexpr EdjePart PART_SWL_MUTE {"swl.mute"};
+
+       constexpr EdjePart PART_SWL_SLOT1 {"swl.slot.1"};
+       constexpr EdjePart PART_SWL_SLOT2 {"swl.slot.2"};
+       constexpr EdjePart PART_SWL_SLOT3 {"swl.slot.3"};
 
        constexpr ElmStyle STYLE_BTN_VOLUME {"callui/volume"};
        constexpr ElmStyle STYLE_BTN_MUTE {"callui/mute"};
+       constexpr ElmStyle STYLE_BTN_BT {"callui/bluetooth"};
+       constexpr ElmStyle STYLE_BTN_ADD_CONTACT {"callui/add_contact"};
 
        constexpr EdjeSignal SIGNAL_TURN_ON {"turn.on"};
        constexpr EdjeSignal SIGNAL_TURN_OFF {"turn.off"};
@@ -44,8 +57,7 @@ namespace callui {
 
        using namespace ucl;
 
-       AccessoryPresenter::Builder::Builder():
-               m_isMuteControlDisabled(false)
+       AccessoryPresenter::Builder::Builder()
        {
        }
 
@@ -57,9 +69,16 @@ namespace callui {
        }
 
        AccessoryPresenter::Builder &
-       AccessoryPresenter::Builder::setMuteControlDisabled(bool isDisabled)
+       AccessoryPresenter::Builder::setCallManager(const ICallManagerSRef &cm)
+       {
+               m_cm = cm;
+               return *this;
+       }
+
+       AccessoryPresenter::Builder &
+       AccessoryPresenter::Builder::setRequestExitHandler(const NotiHandler &handler)
        {
-               m_isMuteControlDisabled = isDisabled;
+               m_exitHandler = handler;
                return *this;
        }
 
@@ -74,22 +93,26 @@ namespace callui {
        AccessoryPresenterSRef
        AccessoryPresenter::Builder::build(GuiPresenter &parent) const
        {
-               if (!m_sm || !m_parentWidget) {
+               if (!m_sm || !m_cm || !m_parentWidget) {
                        LOG_RETURN_VALUE(RES_FAIL, {}, "Main params are not set");
                }
 
-               auto result = makeShared<AccessoryPresenter>(m_sm);
-               FAIL_RETURN_VALUE(result->prepare(parent, *m_parentWidget, m_isMuteControlDisabled),
+               auto result = makeShared<AccessoryPresenter>(m_sm, m_exitHandler);
+               FAIL_RETURN_VALUE(result->prepare(parent, *m_parentWidget, m_cm),
                                {}, "result->prepare() failed!");
+
                return result;
        }
 
        AccessoryPresenter::AccessoryPresenter(IRefCountObj &rc,
-                       const ISoundManagerSRef &sm):
+                       const ISoundManagerSRef &sm,
+                       const NotiHandler &handler):
                        GuiPresenter(rc),
                        m_sm(sm),
                        m_vcTimer(nullptr),
-                       m_audioState(m_sm->getAudioState())
+                       m_audioState(m_sm->getAudioState()),
+                       m_mode(ComponentsMode::UNDEFINED),
+                       m_exitHandler(handler)
        {
        }
 
@@ -100,8 +123,7 @@ namespace callui {
        }
 
        Result AccessoryPresenter::prepare(GuiPresenter &parent,
-                       ElmWidget &parentWidget,
-                       bool isMuteControlDisabled)
+                       ElmWidget &parentWidget, const ICallManagerSRef &cm)
        {
                FAIL_RETURN(GuiPresenter::prepare(parent), "Presenter::prepare() failed");
 
@@ -111,38 +133,136 @@ namespace callui {
 
                FAIL_RETURN(createVolumeControl(), "createVolumeControl() failed");
 
-               FAIL_RETURN(createVolumeBtn(), "createVolumeBtn() failed");
-
-               FAIL_RETURN(createMuteBtn(), "createMuteBtn() failed");
+               updateVolume(m_sm->getVolume());
 
                registerCallbacks();
 
-               updateVolume(m_sm->getVolume());
+               updateMode(cm);
 
-               setMuteControlDisabled(isMuteControlDisabled);
+               FAIL_RETURN(updateModeRelativeComponents(cm), "updateComponents() failed");
 
                return RES_OK;
        }
 
-       Widget &AccessoryPresenter::getWidget()
+       void AccessoryPresenter::updateMode(const ICallManagerSRef &cm)
        {
-               return *m_widget;
+               m_mode = getCurrentMode(cm);
        }
 
-       void AccessoryPresenter::hideVolumeControls()
+       AccessoryPresenter::ComponentsMode AccessoryPresenter::getCurrentMode(
+                       const ICallManagerSRef &cm)
        {
-               stopVCTimer();
-               hide(*m_vc);
+               auto active = cm->getActiveCall();
+               auto held = cm->getHeldCall();
+               auto end = cm->getEndCall();
+
+               if (active && active->isDialingMode()) {
+                       return ComponentsMode::OUTGOING;
+               } else if (active || held) {
+                       return ComponentsMode::DURING;
+               } else if (end) {
+                       return ComponentsMode::END;
+               }
+               return ComponentsMode::UNDEFINED;
+       }
+
+       void AccessoryPresenter::setVolumeSliderVisiblity(bool isVisible)
+       {
+               if (isVisible) {
+                       m_widget->setContent(*m_slider, impl::PART_SWL_VOLUME_SLIDER);
+                       show(*m_slider);
+               } else {
+                       m_widget->unsetContent(impl::PART_SWL_VOLUME_SLIDER);
+                       hide(*m_slider);
+               }
+       }
+
+       Result AccessoryPresenter::update(const ICallManagerSRef &cm)
+       {
+               auto curMode = getCurrentMode(cm);
+               if (m_mode == curMode) {
+                       LOG_RETURN(RES_OK, "Mode is the same. No need to update");
+               }
+               m_mode = curMode;
+
+               FAIL_RETURN(updateModeRelativeComponents(cm), "updateComponents() failed");
+
+               return RES_OK;
+       }
+
+       Result AccessoryPresenter::updateModeRelativeComponents(
+                       const ICallManagerSRef &cm)
+       {
+               m_volumeBtn.reset();
+               m_muteBtn.reset();
+               m_bluetoothBtn.reset();
+               m_addContactBtn.reset();
+               m_unsavedPhoneNumber.clear();
+
+               setVolumeSliderVisiblity(m_mode != ComponentsMode::END);
+
+               switch (m_mode) {
+               case ComponentsMode::OUTGOING:
+               case ComponentsMode::DURING:
+                       return setActiveCallCompomnents();
+               case ComponentsMode::END:
+                       return setEndCallCompomnents(cm);
+               default:
+                       return RES_OK;
+               }
+               return RES_OK;
        }
 
-       void AccessoryPresenter::setMuteControlDisabled(bool isDisabled)
+       Result AccessoryPresenter::setActiveCallCompomnents()
        {
-               if (isDisabled) {
+               FAIL_RETURN(createVolumeBtn(), "createVolumeBtn() failed");
+               m_widget->setContent(*m_volumeBtn, impl::PART_SWL_SLOT1);
+
+               FAIL_RETURN(createMuteBtn(), "createMuteBtn create failed");
+               m_widget->setContent(*m_muteBtn, impl::PART_SWL_SLOT3);
+
+               FAIL_RETURN(createBluetoothBtn(), "createBluetoothBtn() failed");
+               m_widget->setContent(*m_bluetoothBtn, impl::PART_SWL_SLOT2);
+
+               if (m_mode == ComponentsMode::OUTGOING) {
                        disable(*m_muteBtn);
                } else {
                        enable(*m_muteBtn);
-                       updateMuteBtn(m_sm->getMuteState());
                }
+
+               return RES_OK;
+       }
+
+       Result AccessoryPresenter::setEndCallCompomnents(const ICallManagerSRef &cm)
+       {
+               auto endCall = cm->getEndCall();
+               if (!endCall) {
+                       FAIL_RETURN(RES_FAIL, "endCall is NULL");
+               }
+               auto callInfo = endCall->getInfo();
+               if (!callInfo) {
+                       FAIL_RETURN(RES_FAIL, "callInfo is NULL");
+               }
+               if (!(callInfo->isEmergency())
+                               && !(callInfo->getConferenceMemberCount() > 1)
+                               && !(callInfo->getContactInfo())) {
+                       FAIL_RETURN(createAddContactBtn(), "createAddContactBtn() failed");
+                       m_widget->setContent(*m_addContactBtn, impl::PART_SWL_SLOT2);
+                       m_unsavedPhoneNumber = callInfo->getPhoneNumber();
+               }
+               return RES_OK;
+       }
+
+
+       Widget &AccessoryPresenter::getWidget()
+       {
+               return *m_widget;
+       }
+
+       void AccessoryPresenter::hideVolumeControls()
+       {
+               stopVCTimer();
+               hide(*m_vc);
        }
 
        Result AccessoryPresenter::createWidget(ElmWidget &parent)
@@ -166,7 +286,6 @@ namespace callui {
                if (!m_slider) {
                        LOG_RETURN(RES_FAIL, "Slider::build() failed");
                }
-
                m_widget->setContent(*m_slider, impl::PART_SWL_VOLUME_SLIDER);
 
                return RES_OK;
@@ -211,7 +330,6 @@ namespace callui {
                m_volumeBtn->addEventHandler(BTN_CLICKED,
                                WEAK_DELEGATE(AccessoryPresenter::onVolumeBtnClicked,
                                                asWeak(*this)));
-               m_widget->setContent(*m_volumeBtn, impl::PART_SWL_SOUND);
                show(*m_volumeBtn);
 
                return RES_OK;
@@ -229,12 +347,51 @@ namespace callui {
                                WEAK_DELEGATE(AccessoryPresenter::onMuteBtnClicked,
                                                asWeak(*this)));
 
-               m_widget->setContent(*m_muteBtn, impl::PART_SWL_MUTE);
                show(*m_muteBtn);
 
                return RES_OK;
        }
 
+       Result AccessoryPresenter::createBluetoothBtn()
+       {
+               Evas_Object *eo = elm_button_add(*m_widget);
+               if (!eo) {
+                       LOG_RETURN(RES_FAIL, "eo is NULL");
+               }
+               m_bluetoothBtn = makeShared<StyledWidget>(eo, true);
+               m_bluetoothBtn->setStyle(impl::STYLE_BTN_BT);
+               m_bluetoothBtn->addEventHandler(BTN_CLICKED,
+                               WEAK_DELEGATE(AccessoryPresenter::onBluetoothBtnClicked,
+                                               asWeak(*this)));
+
+               show(*m_bluetoothBtn);
+
+               (m_audioState == AudioStateType::BT) ?
+                               m_bluetoothBtn->emit(impl::SIGNAL_TURN_ON) :
+                               m_bluetoothBtn->emit(impl::SIGNAL_TURN_OFF);
+               if (!m_sm->isBluetoothSupported()) {
+                       disable(*m_bluetoothBtn);
+               }
+
+               return RES_OK;
+       }
+
+       Result AccessoryPresenter::createAddContactBtn()
+       {
+               Evas_Object *eo = elm_button_add(*m_widget);
+               if (!eo) {
+                       LOG_RETURN(RES_FAIL, "eo is NULL");
+               }
+               m_addContactBtn = makeShared<StyledWidget>(eo, true);
+               m_addContactBtn->setStyle(impl::STYLE_BTN_ADD_CONTACT);
+               m_addContactBtn->addEventHandler(BTN_CLICKED,
+                               WEAK_DELEGATE(AccessoryPresenter::onAddContactBtnClicked,
+                                               asWeak(*this)));
+               show(*m_addContactBtn);
+
+               return RES_OK;
+       }
+
        void AccessoryPresenter::onVolumeBtnClicked(Widget &widget, void *eventInfo)
        {
                if (!isActive()) {
@@ -256,6 +413,82 @@ namespace callui {
                m_sm->setMuteState(!m_sm->getMuteState());
        }
 
+       void AccessoryPresenter::onBluetoothBtnClicked(Widget &widget,
+                       void *eventInfo)
+       {
+               if (m_audioState == AudioStateType::BT) {
+                       auto res = m_sm->setBluetoothState(false);
+                       if (res != RES_OK && res != RES_NOT_CONNECTED) {
+                               FAIL_RETURN_VOID(res, "setBluetoothState(false) failed");
+                       }
+               } else {
+                       auto res = m_sm->setBluetoothState(true);
+                       if (res == RES_NOT_CONNECTED) {
+                               FAIL_RETURN_VOID(launchBluetoothSettings(),
+                                               "launchBluetoothSettings() failed");
+                       } else {
+                               FAIL_RETURN_VOID(res, "setBluetoothState(true) failed");
+                       }
+               }
+       }
+
+       Result AccessoryPresenter::launchBluetoothSettings()
+       {
+               AutoAppCtrl appCtrl;
+
+               FAIL_RETURN(util::getNz(app_control_create, appCtrl),
+                               "app_control_create() failed!");
+
+               FAIL_RETURN(util::call(app_control_set_app_id,
+                               appCtrl, "org.tizen.bluetooth"),
+                               "app_control_set_app_id() failed!");
+
+               FAIL_RETURN(util::call(app_control_add_extra_data,
+                               appCtrl, "launch-type", "call"),
+                               "app_control_add_extra_data() failed!");
+
+               FAIL_RETURN(util::call(app_control_send_launch_request,
+                               appCtrl, nullptr, nullptr),
+                               "app_control_send_launch_request() failed!");
+
+               return RES_OK;
+       }
+
+       Result AccessoryPresenter::launchContacts()
+       {
+               AutoAppCtrl appCtrl;
+
+               FAIL_RETURN(util::getNz(app_control_create, appCtrl),
+                               "app_control_create() failed!");
+
+               FAIL_RETURN(util::call(app_control_set_operation,
+                               appCtrl, APP_CONTROL_OPERATION_ADD),
+                               "app_control_set_app_id() failed!");
+
+               FAIL_RETURN(util::call(app_control_set_mime,
+                               appCtrl, CU_APP_CONTROL_MIME_CONTACT),
+                               "app_control_set_app_id() failed!");
+
+               FAIL_RETURN(util::call(app_control_add_extra_data,
+                               appCtrl, APP_CONTROL_DATA_PHONE, m_unsavedPhoneNumber.c_str()),
+                               "app_control_add_extra_data() failed!");
+
+               FAIL_RETURN(util::call(app_control_send_launch_request,
+                               appCtrl, nullptr, nullptr),
+                               "app_control_send_launch_request() failed!");
+
+               return RES_OK;
+       }
+
+       void AccessoryPresenter::onAddContactBtnClicked(Widget &widget, void *eventInfo)
+       {
+               launchContacts();
+
+               if (m_exitHandler) {
+                       m_exitHandler();
+               }
+       }
+
        void AccessoryPresenter::registerCallbacks()
        {
                addRotaryEventHandler(CALLBACK_A(
@@ -400,6 +633,12 @@ namespace callui {
                        m_slider->setMaxValue(maxVol);
 
                        updateVolume(m_sm->getVolume());
+
+                       if (m_bluetoothBtn) {
+                               (m_audioState == AudioStateType::BT) ?
+                                               m_bluetoothBtn->emit(impl::SIGNAL_TURN_ON) :
+                                               m_bluetoothBtn->emit(impl::SIGNAL_TURN_OFF);
+                       }
                }
        }
 
@@ -430,12 +669,18 @@ namespace callui {
 
        void AccessoryPresenter::onMuteStateChanged(bool isMuted)
        {
+               if (!m_muteBtn) {
+                       return;
+               }
                if (!elm_object_disabled_get(*m_muteBtn))
                        updateMuteBtn(isMuted);
        }
 
        void AccessoryPresenter::updateMuteBtn(bool isMuted)
        {
+               if (!m_muteBtn) {
+                       return;
+               }
                isMuted ? m_muteBtn->emit(impl::SIGNAL_TURN_ON) :
                                m_muteBtn->emit(impl::SIGNAL_TURN_OFF);
        }
index ab1932bb41970b42e9e4b357c6885b12c57eb3dc..09030ba00c98d5a6e56bf602ae9912830ff01059 100644 (file)
@@ -35,53 +35,60 @@ namespace callui { namespace { namespace impl {
        using namespace ucl;
 
        constexpr int SUB_TXT_WIDTH = 208;
-       constexpr int MAIN_TXT_WIDTH_SIMPLE = 208;
-       constexpr int MAIN_TXT_WIDTH_INCOM = 190;
+       constexpr int INCOM_MAIN_TXT_WIDTH = 190;
        constexpr int SLIDE_LABEL_DURATION_KOEFF = 8;
 
+       const char *CU_BIG_FONT_STYLE = "Tizen:style=Condensed";
+       constexpr int CU_BIG_FONT_SIZE = 40;
+
        constexpr LayoutTheme LAYOUT_CALLER_INFO_WIDGET
                        {"layout", "callui", "call_info"};
 
        constexpr ElmStyle STYLE_SLIDING_LABEL {"slide_roll"};
 
-       constexpr EdjeSignal SIGN_EMERGENCY_MODE {"emergency"};
+       constexpr EdjePart PART_TXT_MAIN {"text_1line"};
+       constexpr EdjePart PART_SWL_CALLER_ID {"caller_id"};
+       constexpr EdjePart PART_SWL_2LINE {"text_2line"};
 
        constexpr EdjeSignal SIGN_RESET {"reset"};
-
-       constexpr EdjeSignal SIGN_CALLER_ID_DISABLE {"caller_id_disable"};
-       constexpr EdjeSignal SIGN_CALLER_ID_ENABLE {"caller_id_enable"};
-
-       constexpr EdjeSignal SIGN_INCOM_1LINE {"incom_1line"};
-       constexpr EdjeSignal SIGN_INCOM_2LINE {"incom_2line"};
-
-       constexpr EdjeSignal SIGN_1LINE {"1line"};
-       constexpr EdjeSignal SIGN_1LINE_2TXT {"1line_2text"};
-       constexpr EdjeSignal SIGN_2LINE {"2line"};
-       constexpr EdjeSignal SIGN_2LINE_2TXT {"2line_2text"};
+       constexpr EdjeSignal SIGN_DEFAULT {"default"};
+       constexpr EdjeSignal SIGN_CID_ENABLE {"caller_id_enable"};
+       constexpr EdjeSignal SIGN_CID_DISABLE {"caller_id_disable"};
+       constexpr EdjeSignal SIGN_EMERGENCY {"emergency"};
+       constexpr EdjeSignal SIGN_EMERGENCY_BIG_TXT {"big_txt_emergency"};
+       constexpr EdjeSignal SIGN_BIG_TXT {"big_txt"};
+       constexpr EdjeSignal SIGN_CENTRE_1LINE {"centre_1line"};
+       constexpr EdjeSignal SIGN_CENTRE_2LINE {"centre_2line"};
+       constexpr EdjeSignal SIGN_INCOMING {"incoming"};
 
        constexpr EdjeSignalSrc SRC_TOP_PAD {"top_padding"};
        constexpr EdjeSignalSrc SRC_TXT_1LINE {"text_1line"};
-
+       constexpr EdjeSignalSrc SRC_TXT_2LINE {"text_2line"};
        constexpr EdjeSignalSrc SRC_CALLER_ID {"caller_id"};
 
-       constexpr EdjePart PART_TXT_MAIN {"text_1line"};
+       const TString STR_LABEL_SUB_CID_ENABLE{
+               "<align=center><color=#ffffff99><font_size=24>%s"
+                       "</color></font_size></align>"};
 
-       constexpr EdjePart PART_SWL_CALLER_ID {"caller_id"};
-       constexpr EdjePart PART_SWL_2LINE {"text_2line"};
+       const TString STR_LABEL_SUB_DEFAULT_STYLE{
+               "<align=center><color=#ffffff99><font_size=24>%s"
+                       "</color></font_size></align>"};
 
-       const TString STR_LABEL_CID_ENABLE{
-               "<align=center><color=#ffffff99><font_size=24>%s</color></font_size></align>"};
-       const TString STR_LABEL_CID_DISABLE{
-               "<align=center><color=#ffffff99><font_size=24>%s</color></font_size></align>"};
+       const TString STR_LABEL_SUB_ON_HOLD{
+               "<align=center><color=#4dcfffff><font_size=24>%s"
+                       "</color></font_size></align>"};
 
-       int getTextBlockActualWidth(const Evas_Object *obj)
+       int getTextWidth(ElmWidget &parent, const char *fontStyle,
+                       int fontSize, const std::string &text)
        {
-               if (!obj) {
-                       LOG_RETURN_VALUE(RES_INVALID_ARGUMENTS, 0, "Evas object is NULL");
-               }
-               int resWidth = 0;
-               evas_object_textblock_size_native_get(obj, &resWidth, NULL);
-               return resWidth;
+               auto eoText = evas_object_text_add(evas_object_evas_get(parent));
+               evas_object_text_font_set(eoText, fontStyle, fontSize);
+               evas_object_text_style_set(eoText, EVAS_TEXT_STYLE_PLAIN);
+               evas_object_text_text_set(eoText, text.c_str());
+
+               auto size = evas_object_text_horiz_width_without_ellipsis_get(eoText);
+               evas_object_del(eoText);
+               return size;
        }
 
 }}}
@@ -327,16 +334,20 @@ namespace callui {
                if (!eo) {
                        LOG_RETURN(RES_FAIL, "elm_label_add() failed!");
                }
+
+               TString txtStyle = impl::STR_LABEL_SUB_DEFAULT_STYLE;
+               if (m_mode == CallMode::DURING) {
+                       txtStyle = impl::STR_LABEL_SUB_ON_HOLD;
+               } else if (m_callerId) {
+                       txtStyle = impl::STR_LABEL_SUB_CID_ENABLE;
+               }
+
                m_label = makeShared<StyledWidget>(eo, true);
                m_label->setStyle(impl::STYLE_SLIDING_LABEL);
-               m_label->setText((m_callerId) ?
-                               impl::STR_LABEL_CID_ENABLE.format(text.c_str()) :
-                               impl::STR_LABEL_CID_DISABLE.format(text.c_str()));
+               m_label->setText(txtStyle.format(text.c_str()));
 
-               elm_label_slide_mode_set(*m_label,
-                               ELM_LABEL_SLIDE_MODE_AUTO);
-               elm_label_wrap_width_set(*m_label,
-                               ELM_SCALE_SIZE(impl::SUB_TXT_WIDTH));
+               elm_label_slide_mode_set(*m_label,ELM_LABEL_SLIDE_MODE_AUTO);
+               elm_label_wrap_width_set(*m_label,ELM_SCALE_SIZE(impl::SUB_TXT_WIDTH));
 
                double duration = (static_cast<double>(text.size())) /
                                impl::SLIDE_LABEL_DURATION_KOEFF;
@@ -377,7 +388,7 @@ namespace callui {
        Result CallInfoPresenter::updateCallerId()
        {
                m_callerId.reset();
-               m_widget->emit(impl::SIGN_CALLER_ID_DISABLE,impl::SRC_CALLER_ID);
+               m_widget->emit(impl::SIGN_CID_DISABLE,impl::SRC_CALLER_ID);
 
                if (m_mode == CallMode::INCOMING) {
 
@@ -398,7 +409,7 @@ namespace callui {
                        FAIL_RETURN(createCallerIdImage(callerIdPath),
                                        "createCallerIdImage() failed");
 
-                       m_widget->emit(impl::SIGN_CALLER_ID_ENABLE, impl::SRC_CALLER_ID);
+                       m_widget->emit(impl::SIGN_CID_ENABLE, impl::SRC_CALLER_ID);
                }
 
                return RES_OK;
@@ -435,6 +446,12 @@ namespace callui {
                        FAIL_RETURN(createLabel(subTxt), "createLabel() failed");
                }
 
+               if (m_mode == CallMode::INCOMING) {
+                       m_widget->emit(impl::SIGN_INCOMING, impl::SRC_TXT_2LINE);
+               } else {
+                       m_widget->emit(impl::SIGN_DEFAULT, impl::SRC_TXT_2LINE);
+               }
+
                return RES_OK;
        }
 
@@ -477,61 +494,53 @@ namespace callui {
        {
                m_widget->setText(text.c_str(), impl::PART_TXT_MAIN);
 
-               const Evas_Object *tempEo = edje_object_part_object_get(
-                               elm_layout_edje_get(*m_widget), impl::PART_TXT_MAIN.name);
-
-               if (tempEo) {
-
-                       int lineWidth = m_incomCallInfo ?
-                                       impl::MAIN_TXT_WIDTH_INCOM :
-                                       impl::MAIN_TXT_WIDTH_SIMPLE;
-                       bool isMainTxtSingleLine =
-                                       (impl::getTextBlockActualWidth(tempEo) <= lineWidth);
-
-                       m_widget->emit(impl::SIGN_CALLER_ID_DISABLE,
-                                       impl::SRC_TXT_1LINE);
-
-                       if (info->isEmergency()) {
-                               m_widget->emit(impl::SIGN_EMERGENCY_MODE,
-                                               impl::SRC_TXT_1LINE);
+               if (m_mode == CallMode::INCOMING) {
+                       // Font size and color
+                       if (m_callerId) {
+                               m_widget->emit(impl::SIGN_CID_ENABLE, impl::SRC_TXT_1LINE);
+                       } else {
+                               m_widget->emit(impl::SIGN_CID_DISABLE, impl::SRC_TXT_1LINE);
                        }
-
-                       if (m_mode == CallMode::INCOMING) {
-                               if (m_callerId) {
-                                       m_widget->emit(impl::SIGN_CALLER_ID_ENABLE,
-                                                       impl::SRC_TXT_1LINE);
-                               } else {
-                                       m_widget->emit(impl::SIGN_CALLER_ID_DISABLE,
-                                                       impl::SRC_TXT_1LINE);
-                               }
-                               if (isMainTxtSingleLine) {
-                                       m_widget->emit(impl::SIGN_INCOM_1LINE,
-                                                       impl::SRC_TOP_PAD);
+                       // Info text top padding
+                       if (impl::getTextWidth(*m_widget,
+                                       impl::CU_BIG_FONT_STYLE,
+                                       impl::CU_BIG_FONT_SIZE,
+                                       text) <= impl::INCOM_MAIN_TXT_WIDTH) {
+                               m_widget->emit(impl::SIGN_CENTRE_1LINE, impl::SRC_TOP_PAD);
+                       } else {
+                               m_widget->emit(impl::SIGN_CENTRE_2LINE, impl::SRC_TOP_PAD);
+                       }
+                       return;
+               } else if (m_mode == CallMode::END) {
+                       if (info->isEmergency()
+                                       || info->getContactInfo()
+                                       || (info->getConferenceMemberCount() > 1)) {
+                               // Font size and color
+                               if (info->isEmergency()) {
+                                       m_widget->emit(impl::SIGN_EMERGENCY_BIG_TXT, impl::SRC_TXT_1LINE);
                                } else {
-                                       m_widget->emit(impl::SIGN_INCOM_2LINE,
-                                                       impl::SRC_TOP_PAD);
+                                       m_widget->emit(impl::SIGN_BIG_TXT, impl::SRC_TXT_1LINE);
                                }
-
-                       } else {
-                               if (isMainTxtSingleLine) {
-                                       if (m_isSubTxtEnable) {
-                                               m_widget->emit(impl::SIGN_1LINE_2TXT,
-                                                               impl::SRC_TOP_PAD);
-                                       } else {
-                                               m_widget->emit(impl::SIGN_1LINE,
-                                                               impl::SRC_TOP_PAD);
-                                       }
+                               // Info text top padding
+                               if (impl::getTextWidth(*m_widget,
+                                               impl::CU_BIG_FONT_STYLE,
+                                               impl::CU_BIG_FONT_SIZE,
+                                               text) <= impl::SUB_TXT_WIDTH) {
+                                       m_widget->emit(impl::SIGN_CENTRE_1LINE, impl::SRC_TOP_PAD);
                                } else {
-                                       if (m_isSubTxtEnable) {
-                                               m_widget->emit(impl::SIGN_2LINE_2TXT,
-                                                               impl::SRC_TOP_PAD);
-                                       } else {
-                                               m_widget->emit(impl::SIGN_2LINE,
-                                                               impl::SRC_TOP_PAD);
-                                       }
+                                       m_widget->emit(impl::SIGN_CENTRE_2LINE, impl::SRC_TOP_PAD);
                                }
+                               return;
                        }
                }
+               // Font size and color
+               if (info->isEmergency()) {
+                       m_widget->emit(impl::SIGN_EMERGENCY, impl::SRC_TXT_1LINE);
+               } else {
+                       m_widget->emit(impl::SIGN_DEFAULT, impl::SRC_TXT_1LINE);
+               }
+               // Info text top padding
+               m_widget->emit(impl::SIGN_DEFAULT, impl::SRC_TOP_PAD);
        }
 
        Result CallInfoPresenter::updateMainTxt()
index dc6fce827dcb6ccf4826f65ff6fa64e73406d3d2..0ce8909107cfd021cf1068dfc0098da6e32d4c7c 100644 (file)
@@ -204,20 +204,24 @@ namespace callui {
 
        Result MainPage::processIncomingCallMode()
        {
-               auto incom = m_cm->getIncomingCall();
-               if (!incom) {
+               m_bottomBtn.reset();
+               m_moreOptionsPrs.reset();
+               m_accessoryPrs.reset();
+
+               auto call = m_cm->getIncomingCall();
+               if (!call) {
                        LOG_RETURN(RES_FAIL, "incom is NULL");
                }
 
-               auto provider = incom->getRejectMsgProvider();
+               FAIL_RETURN(createAcceptRejectPresenter(),
+                               "createAcceptRejectPresenter() failed!");
+
+               auto provider = call->getRejectMsgProvider();
                if (!provider) {
                        ELOG("Reject message provider is NULL");
                }
 
-               FAIL_RETURN(createAcceptRejectPresenter(),
-                               "createAcceptRejectPresenter() failed!");
-
-               if (!isUnknownCaller(*incom->getInfo())
+               if (!isUnknownCaller(*call->getInfo())
                                && (provider && provider->getMsgCount() > 0)) {
                        m_rmLy = Layout::Builder().
                                        setTheme(impl::LAYOUT_REJECT_MSG_WIDGET).
@@ -241,8 +245,11 @@ namespace callui {
                return RES_OK;
        }
 
-       void MainPage::resetIncomingCallMode()
+       Result MainPage::processEndCallMode()
        {
+               m_bottomBtn.reset();
+               m_moreOptionsPrs.reset();
+
                m_rmPrs.reset();
                m_acceptRejectPrs.reset();
                m_rmLy.reset();
@@ -250,10 +257,25 @@ namespace callui {
                if (m_indicator) {
                        m_indicator->udapteIncomingCallMode(false);
                }
+
+               FAIL_RETURN(createAccessoryPresenter(),
+                               "createAccessoryPresenter() failed");
+
+               startEndCallTimer();
+
+               return RES_OK;
        }
 
        Result MainPage::processRegularCallModes()
        {
+               m_rmPrs.reset();
+               m_acceptRejectPrs.reset();
+               m_rmLy.reset();
+
+               if (m_indicator) {
+                       m_indicator->udapteIncomingCallMode(false);
+               }
+
                FAIL_RETURN(createAccessoryPresenter(),
                                "createAccessoryPresenter() failed");
                FAIL_RETURN(createMoreOptionsPresenter(),
@@ -264,13 +286,6 @@ namespace callui {
                return RES_OK;
        }
 
-       void MainPage::resetRegularCallModes()
-       {
-               m_bottomBtn.reset();
-               m_accessoryPrs.reset();
-               m_moreOptionsPrs.reset();
-       }
-
        void MainPage::updateCallMode()
        {
                auto incom = m_cm->getIncomingCall();
@@ -406,21 +421,22 @@ namespace callui {
                        requestExit();
                        return;
                }
+
                FAIL_RETURN_VOID(showWindow(), "showWindow failed!");
 
-               if (m_mode == CallMode::INCOMING) {
-                       resetRegularCallModes();
+               switch (m_mode) {
+               case CallMode::INCOMING:
                        FAIL_RETURN_VOID(processIncomingCallMode(),
                                        "processIncomingCall() failed!");
-               } else {
-                       resetIncomingCallMode();
-                       if (m_mode == CallMode::END) {
-                               resetRegularCallModes();
-                               startEndCallTimer();
-                       } else {
-                               FAIL_RETURN_VOID(processRegularCallModes(),
-                                               "processRegularCallModes() failed!");
-                       }
+                       break;
+               case CallMode::END:
+                       FAIL_RETURN_VOID(processEndCallMode(),
+                                       "processEndCallMode() failed!");
+                       break;
+               default:
+                       FAIL_RETURN_VOID(processRegularCallModes(),
+                                       "processRegularCallModes() failed!");
+                       break;
                }
 
                FAIL_RETURN_VOID(createCallInfoPresenter(m_mode),
@@ -506,18 +522,24 @@ namespace callui {
                return RES_OK;
        }
 
+       void MainPage::onExitAppRequest()
+       {
+               requestExit();
+       }
+
        Result MainPage::createAccessoryPresenter()
        {
                if (m_accessoryPrs) {
                        ILOG("Already exists. No need to create new one. Just update.");
-                       m_accessoryPrs->setMuteControlDisabled(
-                                       detectMuteControlDisableState());
+                       m_accessoryPrs->update(m_cm);
                        return RES_OK;
                }
 
                m_accessoryPrs = AccessoryPresenter::Builder().
-                               setMuteControlDisabled(detectMuteControlDisableState()).
                                setSoundManager(m_call->getSoundManager()).
+                               setCallManager(m_cm).
+                               setRequestExitHandler(WEAK_DELEGATE(MainPage::onExitAppRequest,
+                                               asWeak(*this))).
                                setParentWidget(m_widget).
                                build(*this);
 
index bbb0e1c8512d3716b875d2f442cf3aeb4bfbdcfc..6a98eac8925b17be25f12d07e4daf8264bc6bd5a 100644 (file)
@@ -48,20 +48,16 @@ namespace callui { namespace { namespace impl {
 
        constexpr ElmStyle STYLE_BTN_SWAP {"callui/swap"};
        constexpr ElmStyle STYLE_BTN_UNHOLD {"callui/unhold"};
-       constexpr ElmStyle STYLE_BTN_HEADSET {"callui/headset"};
-       constexpr ElmStyle STYLE_BTN_PHONE {"callui/phone"};
        constexpr ElmStyle STYLE_BTN_KEYPAD {"callui/keypad"};
-       constexpr ElmStyle STYLE_BTN_GEAR {"callui/gear"};
-
-       constexpr EdjePart PART_SWL_PANEL_LY_TOP {"swl.top"};
-       constexpr EdjePart PART_SWL_PANEL_LY_LEFT {"swl.left"};
-       constexpr EdjePart PART_SWL_PANEL_LY_RIGHT {"swl.right"};
-       constexpr EdjePart PART_SWL_PANEL_LY_BOTTOM {"swl.bottom"};
 
+       constexpr EdjePart PART_SWL_SLOT1 {"swl.slot.1"};
+       constexpr EdjePart PART_SWL_SLOT2 {"swl.slot.2"};
        constexpr EdjePart PART_TXT_STATUS {"txt.status"};
 
-       constexpr EdjeSignal SIGNAL_STATUS_TXT_BIG {"status_txt_big"};
-       constexpr EdjeSignal SIGNAL_STATUS_TXT_SMALL {"status_txt_small"};
+       constexpr EdjeSignal SIGNAL_ODD {"odd"};
+       constexpr EdjeSignal SIGNAL_EVEN {"even"};
+
+       constexpr EdjeSignalSrc SIGNAL_SRC_MORE_OPTION {"more_option"};
 
 }}}
 
@@ -143,9 +139,6 @@ namespace callui {
                        sendActivate(*m_widget);
                }
 
-               m_sm->removeAudioStateHandler(DELEGATE(
-                               MoreOptionsPresenter::onAudioStateChanged, this));
-
                if (const auto keypad = m_keypad.lock()) {
                        keypad->exitNoTransition();
                }
@@ -165,9 +158,6 @@ namespace callui {
 
                FAIL_RETURN(createButtons(), "createButtons() failed!");
 
-               m_sm->addAudioStateHandler(DELEGATE(
-                               MoreOptionsPresenter::onAudioStateChanged, this));
-
                update();
 
                deactivateBy(m_widget.get());
@@ -177,11 +167,6 @@ namespace callui {
                return RES_OK;
        }
 
-       void MoreOptionsPresenter::onAudioStateChanged(AudioStateType state)
-       {
-               updateLeftSlot();
-       }
-
        Result MoreOptionsPresenter::createWidget(ElmWidget &parent)
        {
                m_widget = Layout::Builder().
@@ -235,56 +220,25 @@ namespace callui {
 
        void MoreOptionsPresenter::updateSlots()
        {
-               updateTopSlot();
-               updateLeftSlot();
-               updateRightSlot();
-               updateBottomSlot();
-       }
+               unsetPanelContent(impl::PART_SWL_SLOT1);
+               unsetPanelContent(impl::PART_SWL_SLOT2);
 
-       void MoreOptionsPresenter::updateTopSlot()
-       {
                auto active = m_cm->getActiveCall();
                auto held = m_cm->getHeldCall();
 
-               unsetPanelContent(impl::PART_SWL_PANEL_LY_TOP);
-
-               if (active) {
-                       if (held) {
-                               setPanelContent(m_btnSwap, impl::PART_SWL_PANEL_LY_TOP);
-                       }
-               } else if (held) {
-                       setPanelContent(m_btnUnhold, impl::PART_SWL_PANEL_LY_TOP);
-               } else {
-                       LOG_RETURN_VOID(RES_FAIL, "Undefined state");
-               }
-       }
-
-       void MoreOptionsPresenter::updateLeftSlot()
-       {
-               unsetPanelContent(impl::PART_SWL_PANEL_LY_LEFT);
+               if (held) {
+                       m_panelLy->emit(impl::SIGNAL_EVEN, impl::SIGNAL_SRC_MORE_OPTION);
 
-               if (m_sm->getAudioState() != AudioStateType::BT) {
-                       setPanelContent(m_btnHeadset, impl::PART_SWL_PANEL_LY_LEFT);
-                       if (!m_sm->isBluetoothSupported()) {
-                               disable(*m_btnHeadset);
+                       if (active) {
+                               setPanelContent(*m_btnSwap, impl::PART_SWL_SLOT1);
+                       } else {
+                               setPanelContent(*m_btnUnhold, impl::PART_SWL_SLOT1);
                        }
+                       setPanelContent(*m_btnKeypad, impl::PART_SWL_SLOT2);
                } else {
-                       setPanelContent(m_btnGear, impl::PART_SWL_PANEL_LY_LEFT);
-               }
-       }
+                       m_panelLy->emit(impl::SIGNAL_ODD, impl::SIGNAL_SRC_MORE_OPTION);
 
-       void MoreOptionsPresenter::updateRightSlot()
-       {
-               if (!m_panelLy->getContent(impl::PART_SWL_PANEL_LY_RIGHT)) {
-                       setPanelContent(m_btnPhone, impl::PART_SWL_PANEL_LY_RIGHT);
-                       disable(*m_btnPhone);
-               }
-       }
-
-       void MoreOptionsPresenter::updateBottomSlot()
-       {
-               if (!m_panelLy->getContent(impl::PART_SWL_PANEL_LY_BOTTOM)) {
-                       setPanelContent(m_btnKeypad, impl::PART_SWL_PANEL_LY_BOTTOM);
+                       setPanelContent(*m_btnKeypad, impl::PART_SWL_SLOT1);
                }
        }
 
@@ -306,22 +260,6 @@ namespace callui {
                        LOG_RETURN(RES_FAIL, "Create Unhold button failed!");
                }
 
-               // Headset
-               m_btnHeadset = createButton(impl::STYLE_BTN_HEADSET, STR_MORE_HEADSET,
-                               WEAK_DELEGATE(MoreOptionsPresenter::onHeadsetBtnClick,
-                                               asWeak(*this)));
-               if (!m_btnHeadset) {
-                       LOG_RETURN(RES_FAIL, "Create Headset button failed!");
-               }
-
-               // Phone
-               m_btnPhone = createButton(impl::STYLE_BTN_PHONE, STR_MORE_PHONE,
-                               WEAK_DELEGATE(MoreOptionsPresenter::onPhoneBtnClick,
-                                               asWeak(*this)));
-               if (!m_btnPhone) {
-                       LOG_RETURN(RES_FAIL, "Create Phone button failed!");
-               }
-
                // Keypad
                m_btnKeypad = createButton(impl::STYLE_BTN_KEYPAD, STR_MORE_KEYPAD,
                                WEAK_DELEGATE(MoreOptionsPresenter::onKeypadBtnClick,
@@ -330,14 +268,6 @@ namespace callui {
                        LOG_RETURN(RES_FAIL, "Create Keypad button failed!");
                }
 
-               // Gear
-               m_btnGear = createButton(impl::STYLE_BTN_GEAR, STR_MORE_GEAR,
-                               WEAK_DELEGATE(MoreOptionsPresenter::onGearBtnClick,
-                                               asWeak(*this)));
-               if (!m_btnGear) {
-                       LOG_RETURN(RES_FAIL, "Create Gear button failed!");
-               }
-
                return RES_OK;
        }
 
@@ -359,24 +289,6 @@ namespace callui {
                FAIL_RETURN_VOID(held->unhold(), "unhold() failed");
        }
 
-       void MoreOptionsPresenter::onHeadsetBtnClick(Widget &sender, void *eventInfo)
-       {
-               auto res = m_sm->setBluetoothState(true);
-
-               if (res == RES_NOT_CONNECTED) {
-                       FAIL_RETURN_VOID(launchBluetoothSettings(),
-                                       "launchBluetoothSettings() failed");
-               } else {
-                       FAIL_RETURN_VOID(res,
-                                       "setBluetoothState() failed");
-               }
-       }
-
-       void MoreOptionsPresenter::onPhoneBtnClick(Widget &sender, void *eventInfo)
-       {
-               ELOG("Not implemented");
-       }
-
        void MoreOptionsPresenter::onKeypadBtnClick(Widget &sender, void *eventInfo)
        {
                KeypadPage::Builder builder;
@@ -397,11 +309,6 @@ namespace callui {
                page.exit();
        }
 
-       void MoreOptionsPresenter::onGearBtnClick(Widget &sender, void *eventInfo)
-       {
-               FAIL_RETURN_VOID(m_sm->setBluetoothState(false),"setBluetoothState() failed");
-       }
-
        StyledWidgetSRef MoreOptionsPresenter::createButton(
                        const ElmStyle &style,
                        const TString &txt,
@@ -473,11 +380,9 @@ namespace callui {
 
                if (held && !active) {
                        m_panelLy->setText(STR_ON_HOLD, impl::PART_TXT_STATUS);
-                       m_panelLy->emit(impl::SIGNAL_STATUS_TXT_BIG);
                } else if (active) {
                        if (active->isDialingMode()) {
                                m_panelLy->setText(STR_DIALING_CALL, impl::PART_TXT_STATUS);
-                               m_panelLy->emit(impl::SIGNAL_STATUS_TXT_BIG);
                                return;
                        }
                        auto info = active->getInfo();
@@ -487,7 +392,6 @@ namespace callui {
                        m_info = info;
                        m_duration = info->getDuration();
                        setCallDuration(m_duration, *m_panelLy, impl::PART_TXT_STATUS);
-                       updateStatusFontSize();
 
                        FAIL_RETURN_VOID(startCallDurationTimer(), "startTimer() failed!");
 
@@ -496,15 +400,6 @@ namespace callui {
                }
        }
 
-       void MoreOptionsPresenter::updateStatusFontSize()
-       {
-               if (m_duration.tm_hour > 0) {
-                       m_panelLy->emit(impl::SIGNAL_STATUS_TXT_SMALL);
-               } else {
-                       m_panelLy->emit(impl::SIGNAL_STATUS_TXT_BIG);
-               }
-       }
-
        Eina_Bool MoreOptionsPresenter::onCallDurationTimerCb()
        {
                const auto info = m_info.lock();
@@ -519,7 +414,6 @@ namespace callui {
                                tmp,
                                *m_panelLy,
                                impl::PART_TXT_STATUS);
-               updateStatusFontSize();
 
                return ECORE_CALLBACK_RENEW;
        }
@@ -547,28 +441,6 @@ namespace callui {
                }
        }
 
-       Result MoreOptionsPresenter::launchBluetoothSettings()
-       {
-               AutoAppCtrl appCtrl;
-
-               FAIL_RETURN(util::getNz(app_control_create, appCtrl),
-                               "app_control_create() failed!");
-
-               FAIL_RETURN(util::call(app_control_set_app_id,
-                               appCtrl, "org.tizen.bluetooth"),
-                               "app_control_set_app_id() failed!");
-
-               FAIL_RETURN(util::call(app_control_add_extra_data,
-                               appCtrl, "launch-type", "call"),
-                               "app_control_add_extra_data() failed!");
-
-               FAIL_RETURN(util::call(app_control_send_launch_request,
-                               appCtrl, nullptr, nullptr),
-                               "app_control_send_launch_request() failed!");
-
-               return RES_OK;
-       }
-
        void MoreOptionsPresenter::unsetPanelContent(const EdjePart &part)
        {
                auto *eo = m_panelLy->unsetContent(part);
@@ -577,9 +449,9 @@ namespace callui {
                }
        }
 
-       void MoreOptionsPresenter::setPanelContent(StyledWidgetSRef &widget, const EdjePart &part)
+       void MoreOptionsPresenter::setPanelContent(StyledWidget &widget, const EdjePart &part)
        {
-               m_panelLy->setContent(*widget, part);
-               show(*widget);
+               m_panelLy->setContent(widget, part);
+               show(widget);
        }
 }