TizenRefApp-8462 [Call UI] Implement Indicator 91/127991/3
authorIgor Olshevskyi <i.olshevskyi@samsung.com>
Wed, 3 May 2017 14:29:44 +0000 (17:29 +0300)
committerIgor Olshevskyi <i.olshevskyi@samsung.com>
Mon, 15 May 2017 05:43:58 +0000 (08:43 +0300)
Change-Id: Ia34626174f6913890d243930e71463bed903d983

147 files changed:
.cproject
edc/color_classes.edc
edc/images/Call_button_bg_accept_reject.png [new file with mode: 0644]
edc/images/Incoming/w_call_alarm_message_cue.png [new file with mode: 0644]
edc/images/Incoming/w_call_alert_l.#.png [new file with mode: 0644]
edc/images/Incoming/w_call_alert_r.#.png [new file with mode: 0644]
edc/images/Incoming/w_incoming_direction_cue_l.png [new file with mode: 0644]
edc/images/Incoming/w_incoming_direction_cue_r.png [new file with mode: 0644]
edc/images/Incoming/w_incoming_icon_message.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/roaming_strength_00.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/roaming_strength_01.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/roaming_strength_02.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/roaming_strength_03.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/roaming_strength_04.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/signal_strength_00.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/signal_strength_01.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/signal_strength_02.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/signal_strength_03.png [new file with mode: 0644]
edc/images/Indicator_icon/4level/signal_strength_04.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_00.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_05.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_10.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_100.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_15.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_20.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_25.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_30.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_35.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_40.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_45.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_50.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_55.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_60.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_65.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_70.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_75.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_80.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_85.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_90.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_95.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_bg.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_charging.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_not_charging.png [new file with mode: 0644]
edc/images/Indicator_icon/Battery/battery_unknown.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/1x_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/1x_connected_dim.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/2g_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/4g_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/edge_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/gprs_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/hsdpa_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/hspa_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/in_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/inout_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/lte_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/lte_connected_dim.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/no_inout_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/out_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/stat_sys_data_connected_lte.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/umts_connected.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/umts_connected_dim.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/wifi_connected_00.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/wifi_connected_01.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/wifi_connected_02.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/wifi_connected_03.png [new file with mode: 0644]
edc/images/Indicator_icon/Connection/wifi_connected_04.png [new file with mode: 0644]
edc/images/Indicator_icon/Wifi/wifi_signal_0_hideinout.png [new file with mode: 0644]
edc/images/Indicator_icon/Wifi/wifi_signal_1_hideinout.png [new file with mode: 0644]
edc/images/Indicator_icon/Wifi/wifi_signal_2_hideinout.png [new file with mode: 0644]
edc/images/Indicator_icon/Wifi/wifi_signal_3_hideinout.png [new file with mode: 0644]
edc/images/Indicator_icon/Wifi/wifi_signal_4_hideinout.png [new file with mode: 0644]
edc/images/Indicator_icon/b_ic_flight.png [new file with mode: 0644]
edc/images/Indicator_icon/b_ic_indicator_01.png [new file with mode: 0644]
edc/images/Indicator_icon/b_ic_indicator_02.png [new file with mode: 0644]
edc/images/Indicator_icon/b_ic_phone.png [new file with mode: 0644]
edc/images/Indicator_icon/b_ic_voice.png [new file with mode: 0644]
edc/images/Indicator_icon/b_ic_voice_mute.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_1.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_2.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_3.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_call.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_heart.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_home.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_mail.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_office.png [new file with mode: 0644]
edc/images/Indicator_icon/b_sim_ic_web.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_forwarded_call.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_gear_sim_call.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_hd_voice_call.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_mobile_sim_01.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_mobile_sim_02.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_mobile_sim_call.png [new file with mode: 0644]
edc/images/Indicator_icon/indi_voice_control.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_icon_phone.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_icon_wc1.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_st_call.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_st_phone.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_st_phone2.png [new file with mode: 0644]
edc/images/autocall_forwarding_list_st_wc1.png [new file with mode: 0644]
edc/images/autocall_forwarding_moresetting_01.png [new file with mode: 0644]
edc/images/autocall_forwarding_moresetting_02.png [new file with mode: 0644]
edc/images/call_ic_no_item.png [new file with mode: 0644]
edc/images/call_volume_control_cover_bg.png [new file with mode: 0644]
edc/images/w_call_button_press_circle.png [new file with mode: 0644]
edc/images/w_call_dot.png [new file with mode: 0644]
edc/images/w_call_numeric_btn_cancel.png [new file with mode: 0644]
edc/images/w_call_numeric_btn_check.png [new file with mode: 0644]
edc/images/w_call_opt_volume.png [new file with mode: 0644]
edc/images/w_call_option_icon_device.png [new file with mode: 0644]
edc/images/w_call_option_icon_headset.png [new file with mode: 0644]
edc/images/w_call_option_icon_keypad.png [new file with mode: 0644]
edc/images/w_call_option_icon_mute.png [new file with mode: 0644]
edc/images/w_call_option_icon_volume_hold.png [new file with mode: 0644]
edc/images/w_call_option_icon_volume_swap.png [new file with mode: 0644]
edc/images/w_call_option_icon_volume_tophone.png [new file with mode: 0644]
edc/images/w_call_option_icon_volume_towatch.png [new file with mode: 0644]
edc/images/w_call_option_icon_volume_transferto.png [new file with mode: 0644]
edc/images/w_call_option_icon_volume_unhold.png [new file with mode: 0644]
edc/images/w_call_toast_show_on_divice_icon.png [new file with mode: 0644]
edc/images/w_during_circle_bg_f.png [new file with mode: 0644]
edc/images/w_emergency_icon.png [new file with mode: 0644]
edc/images/w_incoming_icon_call.png [new file with mode: 0644]
edc/images/w_incoming_icon_dismiss.png [new file with mode: 0644]
edc/images/w_incoming_icon_end_phone.png [new file with mode: 0644]
edc/images/w_incoming_icon_phone.png [new file with mode: 0644]
edc/images/w_more_circle_bg.png [new file with mode: 0644]
edc/images/w_outgoing_icon_mute.png [new file with mode: 0644]
edc/images/w_outgoing_icon_volume.png [new file with mode: 0644]
edc/indicator.edc [new file with mode: 0644]
edc/layouts.edc
inc/model/ICallInfo.h
inc/model/IIndicatorStateListener.h
inc/model/IndicatorState.h
inc/presenters/Indicator.h [new file with mode: 0644]
inc/presenters/MainPage.h
inc/presenters/types.h
res/edje/theme.edc
src/model/BatteryStateSource.h
src/model/Call.cpp
src/model/Call.h
src/model/CallInfo.cpp
src/model/CallInfo.h
src/model/SimSlotStateSource.cpp
src/model/SimSlotStateSource.h
src/presenters/AcceptRejectPresenter.cpp
src/presenters/Indicator.cpp [new file with mode: 0644]
src/presenters/MainPage.cpp

index c3ce0872704bd4b94799751a53e0c95b9865f372..e2edb597ad16b677081ec51c68097b3ac6d20c7f 100644 (file)
--- a/.cproject
+++ b/.cproject
                                                        <tool id="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib.1347531198" name="Archive Generator" superClass="org.tizen.nativecore.tool.sbi.gnu.archiver.mergelib"/>
                                                        <tool id="org.tizen.nativecore.tool.sbi.po.compiler.1000732861" name="PO Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.po.compiler"/>
                                                        <tool id="org.tizen.nativecore.tool.sbi.edc.compiler.692187818" name="EDC Resource Compiler" superClass="org.tizen.nativecore.tool.sbi.edc.compiler">
-                                                               <option id="sbi.gnu.edc.compiler.option.misc.id.434887912" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
+                                                               <option command="-id " id="sbi.gnu.edc.compiler.option.misc.id.434887912" name="Image Path (-id)" superClass="sbi.gnu.edc.compiler.option.misc.id" valueType="stringList">
                                                                        <listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}}/edc/images&quot;"/>
                                                                </option>
                                                        </tool>
index 66b3fb22c4226d8805af1a976cd6860f1c412a57..10b781f5ee61d36611c429b5a304d5ac46bfa9e0 100644 (file)
@@ -15,6 +15,8 @@
  */
 
 color_classes {
+
+       // Incoming call circles
        color_class { name: "AO0115";
                color: 222 11 0 255;
        }
@@ -39,4 +41,17 @@ color_classes {
        color_class { name: "AO01132";
                color: 97 237 50 77;
        }
+
+       // Indicator Icons
+       color_class { name: "AO0111";
+               color: 255 255 255 255;
+       }
+
+       // Indicator battery
+       color_class { name: "AO0251";
+               color: 0 0 0 255;
+       }
+       color_class { name: "AO0254";
+               color: 255 0 0 255;
+       }
 }
diff --git a/edc/images/Call_button_bg_accept_reject.png b/edc/images/Call_button_bg_accept_reject.png
new file mode 100644 (file)
index 0000000..0a2072d
Binary files /dev/null and b/edc/images/Call_button_bg_accept_reject.png differ
diff --git a/edc/images/Incoming/w_call_alarm_message_cue.png b/edc/images/Incoming/w_call_alarm_message_cue.png
new file mode 100644 (file)
index 0000000..c41dbe5
Binary files /dev/null and b/edc/images/Incoming/w_call_alarm_message_cue.png differ
diff --git a/edc/images/Incoming/w_call_alert_l.#.png b/edc/images/Incoming/w_call_alert_l.#.png
new file mode 100644 (file)
index 0000000..fe8dd93
Binary files /dev/null and b/edc/images/Incoming/w_call_alert_l.#.png differ
diff --git a/edc/images/Incoming/w_call_alert_r.#.png b/edc/images/Incoming/w_call_alert_r.#.png
new file mode 100644 (file)
index 0000000..f95fd72
Binary files /dev/null and b/edc/images/Incoming/w_call_alert_r.#.png differ
diff --git a/edc/images/Incoming/w_incoming_direction_cue_l.png b/edc/images/Incoming/w_incoming_direction_cue_l.png
new file mode 100644 (file)
index 0000000..d29e679
Binary files /dev/null and b/edc/images/Incoming/w_incoming_direction_cue_l.png differ
diff --git a/edc/images/Incoming/w_incoming_direction_cue_r.png b/edc/images/Incoming/w_incoming_direction_cue_r.png
new file mode 100644 (file)
index 0000000..48a84fd
Binary files /dev/null and b/edc/images/Incoming/w_incoming_direction_cue_r.png differ
diff --git a/edc/images/Incoming/w_incoming_icon_message.png b/edc/images/Incoming/w_incoming_icon_message.png
new file mode 100644 (file)
index 0000000..769c9bc
Binary files /dev/null and b/edc/images/Incoming/w_incoming_icon_message.png differ
diff --git a/edc/images/Indicator_icon/4level/roaming_strength_00.png b/edc/images/Indicator_icon/4level/roaming_strength_00.png
new file mode 100644 (file)
index 0000000..052a0b2
Binary files /dev/null and b/edc/images/Indicator_icon/4level/roaming_strength_00.png differ
diff --git a/edc/images/Indicator_icon/4level/roaming_strength_01.png b/edc/images/Indicator_icon/4level/roaming_strength_01.png
new file mode 100644 (file)
index 0000000..fb621b9
Binary files /dev/null and b/edc/images/Indicator_icon/4level/roaming_strength_01.png differ
diff --git a/edc/images/Indicator_icon/4level/roaming_strength_02.png b/edc/images/Indicator_icon/4level/roaming_strength_02.png
new file mode 100644 (file)
index 0000000..ef0aa32
Binary files /dev/null and b/edc/images/Indicator_icon/4level/roaming_strength_02.png differ
diff --git a/edc/images/Indicator_icon/4level/roaming_strength_03.png b/edc/images/Indicator_icon/4level/roaming_strength_03.png
new file mode 100644 (file)
index 0000000..fdc3da1
Binary files /dev/null and b/edc/images/Indicator_icon/4level/roaming_strength_03.png differ
diff --git a/edc/images/Indicator_icon/4level/roaming_strength_04.png b/edc/images/Indicator_icon/4level/roaming_strength_04.png
new file mode 100644 (file)
index 0000000..d591eb3
Binary files /dev/null and b/edc/images/Indicator_icon/4level/roaming_strength_04.png differ
diff --git a/edc/images/Indicator_icon/4level/signal_strength_00.png b/edc/images/Indicator_icon/4level/signal_strength_00.png
new file mode 100644 (file)
index 0000000..ea36483
Binary files /dev/null and b/edc/images/Indicator_icon/4level/signal_strength_00.png differ
diff --git a/edc/images/Indicator_icon/4level/signal_strength_01.png b/edc/images/Indicator_icon/4level/signal_strength_01.png
new file mode 100644 (file)
index 0000000..06d47b9
Binary files /dev/null and b/edc/images/Indicator_icon/4level/signal_strength_01.png differ
diff --git a/edc/images/Indicator_icon/4level/signal_strength_02.png b/edc/images/Indicator_icon/4level/signal_strength_02.png
new file mode 100644 (file)
index 0000000..a518eed
Binary files /dev/null and b/edc/images/Indicator_icon/4level/signal_strength_02.png differ
diff --git a/edc/images/Indicator_icon/4level/signal_strength_03.png b/edc/images/Indicator_icon/4level/signal_strength_03.png
new file mode 100644 (file)
index 0000000..ae0314a
Binary files /dev/null and b/edc/images/Indicator_icon/4level/signal_strength_03.png differ
diff --git a/edc/images/Indicator_icon/4level/signal_strength_04.png b/edc/images/Indicator_icon/4level/signal_strength_04.png
new file mode 100644 (file)
index 0000000..b567539
Binary files /dev/null and b/edc/images/Indicator_icon/4level/signal_strength_04.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_00.png b/edc/images/Indicator_icon/Battery/battery_00.png
new file mode 100644 (file)
index 0000000..28682e4
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_00.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_05.png b/edc/images/Indicator_icon/Battery/battery_05.png
new file mode 100644 (file)
index 0000000..809668a
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_05.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_10.png b/edc/images/Indicator_icon/Battery/battery_10.png
new file mode 100644 (file)
index 0000000..96f54f6
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_10.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_100.png b/edc/images/Indicator_icon/Battery/battery_100.png
new file mode 100644 (file)
index 0000000..f0e1862
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_100.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_15.png b/edc/images/Indicator_icon/Battery/battery_15.png
new file mode 100644 (file)
index 0000000..3255b58
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_15.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_20.png b/edc/images/Indicator_icon/Battery/battery_20.png
new file mode 100644 (file)
index 0000000..f4405a8
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_20.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_25.png b/edc/images/Indicator_icon/Battery/battery_25.png
new file mode 100644 (file)
index 0000000..654b73d
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_25.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_30.png b/edc/images/Indicator_icon/Battery/battery_30.png
new file mode 100644 (file)
index 0000000..27eb050
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_30.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_35.png b/edc/images/Indicator_icon/Battery/battery_35.png
new file mode 100644 (file)
index 0000000..455386e
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_35.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_40.png b/edc/images/Indicator_icon/Battery/battery_40.png
new file mode 100644 (file)
index 0000000..fe8a44b
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_40.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_45.png b/edc/images/Indicator_icon/Battery/battery_45.png
new file mode 100644 (file)
index 0000000..79da16a
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_45.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_50.png b/edc/images/Indicator_icon/Battery/battery_50.png
new file mode 100644 (file)
index 0000000..9c9d390
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_50.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_55.png b/edc/images/Indicator_icon/Battery/battery_55.png
new file mode 100644 (file)
index 0000000..2d22e8b
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_55.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_60.png b/edc/images/Indicator_icon/Battery/battery_60.png
new file mode 100644 (file)
index 0000000..7a74f39
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_60.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_65.png b/edc/images/Indicator_icon/Battery/battery_65.png
new file mode 100644 (file)
index 0000000..db1724d
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_65.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_70.png b/edc/images/Indicator_icon/Battery/battery_70.png
new file mode 100644 (file)
index 0000000..6bd3e70
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_70.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_75.png b/edc/images/Indicator_icon/Battery/battery_75.png
new file mode 100644 (file)
index 0000000..106fbdb
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_75.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_80.png b/edc/images/Indicator_icon/Battery/battery_80.png
new file mode 100644 (file)
index 0000000..6d58590
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_80.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_85.png b/edc/images/Indicator_icon/Battery/battery_85.png
new file mode 100644 (file)
index 0000000..bb74f30
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_85.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_90.png b/edc/images/Indicator_icon/Battery/battery_90.png
new file mode 100644 (file)
index 0000000..044f16c
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_90.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_95.png b/edc/images/Indicator_icon/Battery/battery_95.png
new file mode 100644 (file)
index 0000000..476bf00
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_95.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_bg.png b/edc/images/Indicator_icon/Battery/battery_bg.png
new file mode 100644 (file)
index 0000000..f5d478c
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_bg.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_charging.png b/edc/images/Indicator_icon/Battery/battery_charging.png
new file mode 100644 (file)
index 0000000..d45b1e9
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_charging.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_not_charging.png b/edc/images/Indicator_icon/Battery/battery_not_charging.png
new file mode 100644 (file)
index 0000000..36d4e22
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_not_charging.png differ
diff --git a/edc/images/Indicator_icon/Battery/battery_unknown.png b/edc/images/Indicator_icon/Battery/battery_unknown.png
new file mode 100644 (file)
index 0000000..282e66c
Binary files /dev/null and b/edc/images/Indicator_icon/Battery/battery_unknown.png differ
diff --git a/edc/images/Indicator_icon/Connection/1x_connected.png b/edc/images/Indicator_icon/Connection/1x_connected.png
new file mode 100644 (file)
index 0000000..bfa6238
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/1x_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/1x_connected_dim.png b/edc/images/Indicator_icon/Connection/1x_connected_dim.png
new file mode 100644 (file)
index 0000000..e895358
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/1x_connected_dim.png differ
diff --git a/edc/images/Indicator_icon/Connection/2g_connected.png b/edc/images/Indicator_icon/Connection/2g_connected.png
new file mode 100644 (file)
index 0000000..2d6ff07
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/2g_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/4g_connected.png b/edc/images/Indicator_icon/Connection/4g_connected.png
new file mode 100644 (file)
index 0000000..d1a53ae
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/4g_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/edge_connected.png b/edc/images/Indicator_icon/Connection/edge_connected.png
new file mode 100644 (file)
index 0000000..b3cb535
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/edge_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/gprs_connected.png b/edc/images/Indicator_icon/Connection/gprs_connected.png
new file mode 100644 (file)
index 0000000..d7fb366
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/gprs_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/hsdpa_connected.png b/edc/images/Indicator_icon/Connection/hsdpa_connected.png
new file mode 100644 (file)
index 0000000..2b0d67c
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/hsdpa_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/hspa_connected.png b/edc/images/Indicator_icon/Connection/hspa_connected.png
new file mode 100644 (file)
index 0000000..1f23571
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/hspa_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/in_connected.png b/edc/images/Indicator_icon/Connection/in_connected.png
new file mode 100644 (file)
index 0000000..3de4f14
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/in_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/inout_connected.png b/edc/images/Indicator_icon/Connection/inout_connected.png
new file mode 100644 (file)
index 0000000..198eeb6
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/inout_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/lte_connected.png b/edc/images/Indicator_icon/Connection/lte_connected.png
new file mode 100644 (file)
index 0000000..c8fe3e4
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/lte_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/lte_connected_dim.png b/edc/images/Indicator_icon/Connection/lte_connected_dim.png
new file mode 100644 (file)
index 0000000..634c75e
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/lte_connected_dim.png differ
diff --git a/edc/images/Indicator_icon/Connection/no_inout_connected.png b/edc/images/Indicator_icon/Connection/no_inout_connected.png
new file mode 100644 (file)
index 0000000..39c2626
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/no_inout_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/out_connected.png b/edc/images/Indicator_icon/Connection/out_connected.png
new file mode 100644 (file)
index 0000000..79f00c5
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/out_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/stat_sys_data_connected_lte.png b/edc/images/Indicator_icon/Connection/stat_sys_data_connected_lte.png
new file mode 100644 (file)
index 0000000..19bdb82
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/stat_sys_data_connected_lte.png differ
diff --git a/edc/images/Indicator_icon/Connection/umts_connected.png b/edc/images/Indicator_icon/Connection/umts_connected.png
new file mode 100644 (file)
index 0000000..9db8114
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/umts_connected.png differ
diff --git a/edc/images/Indicator_icon/Connection/umts_connected_dim.png b/edc/images/Indicator_icon/Connection/umts_connected_dim.png
new file mode 100644 (file)
index 0000000..a61012c
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/umts_connected_dim.png differ
diff --git a/edc/images/Indicator_icon/Connection/wifi_connected_00.png b/edc/images/Indicator_icon/Connection/wifi_connected_00.png
new file mode 100644 (file)
index 0000000..4d16ba5
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/wifi_connected_00.png differ
diff --git a/edc/images/Indicator_icon/Connection/wifi_connected_01.png b/edc/images/Indicator_icon/Connection/wifi_connected_01.png
new file mode 100644 (file)
index 0000000..4b334d4
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/wifi_connected_01.png differ
diff --git a/edc/images/Indicator_icon/Connection/wifi_connected_02.png b/edc/images/Indicator_icon/Connection/wifi_connected_02.png
new file mode 100644 (file)
index 0000000..965cf95
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/wifi_connected_02.png differ
diff --git a/edc/images/Indicator_icon/Connection/wifi_connected_03.png b/edc/images/Indicator_icon/Connection/wifi_connected_03.png
new file mode 100644 (file)
index 0000000..95c8a89
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/wifi_connected_03.png differ
diff --git a/edc/images/Indicator_icon/Connection/wifi_connected_04.png b/edc/images/Indicator_icon/Connection/wifi_connected_04.png
new file mode 100644 (file)
index 0000000..ab9270f
Binary files /dev/null and b/edc/images/Indicator_icon/Connection/wifi_connected_04.png differ
diff --git a/edc/images/Indicator_icon/Wifi/wifi_signal_0_hideinout.png b/edc/images/Indicator_icon/Wifi/wifi_signal_0_hideinout.png
new file mode 100644 (file)
index 0000000..7232a43
Binary files /dev/null and b/edc/images/Indicator_icon/Wifi/wifi_signal_0_hideinout.png differ
diff --git a/edc/images/Indicator_icon/Wifi/wifi_signal_1_hideinout.png b/edc/images/Indicator_icon/Wifi/wifi_signal_1_hideinout.png
new file mode 100644 (file)
index 0000000..2d49319
Binary files /dev/null and b/edc/images/Indicator_icon/Wifi/wifi_signal_1_hideinout.png differ
diff --git a/edc/images/Indicator_icon/Wifi/wifi_signal_2_hideinout.png b/edc/images/Indicator_icon/Wifi/wifi_signal_2_hideinout.png
new file mode 100644 (file)
index 0000000..49bf295
Binary files /dev/null and b/edc/images/Indicator_icon/Wifi/wifi_signal_2_hideinout.png differ
diff --git a/edc/images/Indicator_icon/Wifi/wifi_signal_3_hideinout.png b/edc/images/Indicator_icon/Wifi/wifi_signal_3_hideinout.png
new file mode 100644 (file)
index 0000000..5c57307
Binary files /dev/null and b/edc/images/Indicator_icon/Wifi/wifi_signal_3_hideinout.png differ
diff --git a/edc/images/Indicator_icon/Wifi/wifi_signal_4_hideinout.png b/edc/images/Indicator_icon/Wifi/wifi_signal_4_hideinout.png
new file mode 100644 (file)
index 0000000..09a5477
Binary files /dev/null and b/edc/images/Indicator_icon/Wifi/wifi_signal_4_hideinout.png differ
diff --git a/edc/images/Indicator_icon/b_ic_flight.png b/edc/images/Indicator_icon/b_ic_flight.png
new file mode 100644 (file)
index 0000000..77b814c
Binary files /dev/null and b/edc/images/Indicator_icon/b_ic_flight.png differ
diff --git a/edc/images/Indicator_icon/b_ic_indicator_01.png b/edc/images/Indicator_icon/b_ic_indicator_01.png
new file mode 100644 (file)
index 0000000..0dca702
Binary files /dev/null and b/edc/images/Indicator_icon/b_ic_indicator_01.png differ
diff --git a/edc/images/Indicator_icon/b_ic_indicator_02.png b/edc/images/Indicator_icon/b_ic_indicator_02.png
new file mode 100644 (file)
index 0000000..c6e9b8f
Binary files /dev/null and b/edc/images/Indicator_icon/b_ic_indicator_02.png differ
diff --git a/edc/images/Indicator_icon/b_ic_phone.png b/edc/images/Indicator_icon/b_ic_phone.png
new file mode 100644 (file)
index 0000000..181acc0
Binary files /dev/null and b/edc/images/Indicator_icon/b_ic_phone.png differ
diff --git a/edc/images/Indicator_icon/b_ic_voice.png b/edc/images/Indicator_icon/b_ic_voice.png
new file mode 100644 (file)
index 0000000..8edc2cf
Binary files /dev/null and b/edc/images/Indicator_icon/b_ic_voice.png differ
diff --git a/edc/images/Indicator_icon/b_ic_voice_mute.png b/edc/images/Indicator_icon/b_ic_voice_mute.png
new file mode 100644 (file)
index 0000000..ba7d31b
Binary files /dev/null and b/edc/images/Indicator_icon/b_ic_voice_mute.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_1.png b/edc/images/Indicator_icon/b_sim_ic_1.png
new file mode 100644 (file)
index 0000000..966759f
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_1.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_2.png b/edc/images/Indicator_icon/b_sim_ic_2.png
new file mode 100644 (file)
index 0000000..fc8a2c4
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_2.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_3.png b/edc/images/Indicator_icon/b_sim_ic_3.png
new file mode 100644 (file)
index 0000000..c05f977
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_3.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_call.png b/edc/images/Indicator_icon/b_sim_ic_call.png
new file mode 100644 (file)
index 0000000..bf9a7c3
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_call.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_heart.png b/edc/images/Indicator_icon/b_sim_ic_heart.png
new file mode 100644 (file)
index 0000000..aecf786
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_heart.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_home.png b/edc/images/Indicator_icon/b_sim_ic_home.png
new file mode 100644 (file)
index 0000000..36d113e
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_home.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_mail.png b/edc/images/Indicator_icon/b_sim_ic_mail.png
new file mode 100644 (file)
index 0000000..48a1a92
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_mail.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_office.png b/edc/images/Indicator_icon/b_sim_ic_office.png
new file mode 100644 (file)
index 0000000..621944d
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_office.png differ
diff --git a/edc/images/Indicator_icon/b_sim_ic_web.png b/edc/images/Indicator_icon/b_sim_ic_web.png
new file mode 100644 (file)
index 0000000..07e838e
Binary files /dev/null and b/edc/images/Indicator_icon/b_sim_ic_web.png differ
diff --git a/edc/images/Indicator_icon/indi_forwarded_call.png b/edc/images/Indicator_icon/indi_forwarded_call.png
new file mode 100644 (file)
index 0000000..1951b26
Binary files /dev/null and b/edc/images/Indicator_icon/indi_forwarded_call.png differ
diff --git a/edc/images/Indicator_icon/indi_gear_sim_call.png b/edc/images/Indicator_icon/indi_gear_sim_call.png
new file mode 100644 (file)
index 0000000..98d92a2
Binary files /dev/null and b/edc/images/Indicator_icon/indi_gear_sim_call.png differ
diff --git a/edc/images/Indicator_icon/indi_hd_voice_call.png b/edc/images/Indicator_icon/indi_hd_voice_call.png
new file mode 100644 (file)
index 0000000..e9fea90
Binary files /dev/null and b/edc/images/Indicator_icon/indi_hd_voice_call.png differ
diff --git a/edc/images/Indicator_icon/indi_mobile_sim_01.png b/edc/images/Indicator_icon/indi_mobile_sim_01.png
new file mode 100644 (file)
index 0000000..a078fc0
Binary files /dev/null and b/edc/images/Indicator_icon/indi_mobile_sim_01.png differ
diff --git a/edc/images/Indicator_icon/indi_mobile_sim_02.png b/edc/images/Indicator_icon/indi_mobile_sim_02.png
new file mode 100644 (file)
index 0000000..e237b8c
Binary files /dev/null and b/edc/images/Indicator_icon/indi_mobile_sim_02.png differ
diff --git a/edc/images/Indicator_icon/indi_mobile_sim_call.png b/edc/images/Indicator_icon/indi_mobile_sim_call.png
new file mode 100644 (file)
index 0000000..37d6b3d
Binary files /dev/null and b/edc/images/Indicator_icon/indi_mobile_sim_call.png differ
diff --git a/edc/images/Indicator_icon/indi_voice_control.png b/edc/images/Indicator_icon/indi_voice_control.png
new file mode 100644 (file)
index 0000000..f4631d0
Binary files /dev/null and b/edc/images/Indicator_icon/indi_voice_control.png differ
diff --git a/edc/images/autocall_forwarding_list_icon_phone.png b/edc/images/autocall_forwarding_list_icon_phone.png
new file mode 100644 (file)
index 0000000..471a370
Binary files /dev/null and b/edc/images/autocall_forwarding_list_icon_phone.png differ
diff --git a/edc/images/autocall_forwarding_list_icon_wc1.png b/edc/images/autocall_forwarding_list_icon_wc1.png
new file mode 100644 (file)
index 0000000..e383402
Binary files /dev/null and b/edc/images/autocall_forwarding_list_icon_wc1.png differ
diff --git a/edc/images/autocall_forwarding_list_st_call.png b/edc/images/autocall_forwarding_list_st_call.png
new file mode 100644 (file)
index 0000000..de4cae0
Binary files /dev/null and b/edc/images/autocall_forwarding_list_st_call.png differ
diff --git a/edc/images/autocall_forwarding_list_st_phone.png b/edc/images/autocall_forwarding_list_st_phone.png
new file mode 100644 (file)
index 0000000..1a67f77
Binary files /dev/null and b/edc/images/autocall_forwarding_list_st_phone.png differ
diff --git a/edc/images/autocall_forwarding_list_st_phone2.png b/edc/images/autocall_forwarding_list_st_phone2.png
new file mode 100644 (file)
index 0000000..d00fc9b
Binary files /dev/null and b/edc/images/autocall_forwarding_list_st_phone2.png differ
diff --git a/edc/images/autocall_forwarding_list_st_wc1.png b/edc/images/autocall_forwarding_list_st_wc1.png
new file mode 100644 (file)
index 0000000..2259dd1
Binary files /dev/null and b/edc/images/autocall_forwarding_list_st_wc1.png differ
diff --git a/edc/images/autocall_forwarding_moresetting_01.png b/edc/images/autocall_forwarding_moresetting_01.png
new file mode 100644 (file)
index 0000000..b6cd3e5
Binary files /dev/null and b/edc/images/autocall_forwarding_moresetting_01.png differ
diff --git a/edc/images/autocall_forwarding_moresetting_02.png b/edc/images/autocall_forwarding_moresetting_02.png
new file mode 100644 (file)
index 0000000..8b309dd
Binary files /dev/null and b/edc/images/autocall_forwarding_moresetting_02.png differ
diff --git a/edc/images/call_ic_no_item.png b/edc/images/call_ic_no_item.png
new file mode 100644 (file)
index 0000000..f985792
Binary files /dev/null and b/edc/images/call_ic_no_item.png differ
diff --git a/edc/images/call_volume_control_cover_bg.png b/edc/images/call_volume_control_cover_bg.png
new file mode 100644 (file)
index 0000000..49ea3a5
Binary files /dev/null and b/edc/images/call_volume_control_cover_bg.png differ
diff --git a/edc/images/w_call_button_press_circle.png b/edc/images/w_call_button_press_circle.png
new file mode 100644 (file)
index 0000000..aeeb84e
Binary files /dev/null and b/edc/images/w_call_button_press_circle.png differ
diff --git a/edc/images/w_call_dot.png b/edc/images/w_call_dot.png
new file mode 100644 (file)
index 0000000..f862c43
Binary files /dev/null and b/edc/images/w_call_dot.png differ
diff --git a/edc/images/w_call_numeric_btn_cancel.png b/edc/images/w_call_numeric_btn_cancel.png
new file mode 100644 (file)
index 0000000..2a117a2
Binary files /dev/null and b/edc/images/w_call_numeric_btn_cancel.png differ
diff --git a/edc/images/w_call_numeric_btn_check.png b/edc/images/w_call_numeric_btn_check.png
new file mode 100644 (file)
index 0000000..aac529f
Binary files /dev/null and b/edc/images/w_call_numeric_btn_check.png differ
diff --git a/edc/images/w_call_opt_volume.png b/edc/images/w_call_opt_volume.png
new file mode 100644 (file)
index 0000000..4294f7f
Binary files /dev/null and b/edc/images/w_call_opt_volume.png differ
diff --git a/edc/images/w_call_option_icon_device.png b/edc/images/w_call_option_icon_device.png
new file mode 100644 (file)
index 0000000..f2cc80d
Binary files /dev/null and b/edc/images/w_call_option_icon_device.png differ
diff --git a/edc/images/w_call_option_icon_headset.png b/edc/images/w_call_option_icon_headset.png
new file mode 100644 (file)
index 0000000..d43b955
Binary files /dev/null and b/edc/images/w_call_option_icon_headset.png differ
diff --git a/edc/images/w_call_option_icon_keypad.png b/edc/images/w_call_option_icon_keypad.png
new file mode 100644 (file)
index 0000000..99ede33
Binary files /dev/null and b/edc/images/w_call_option_icon_keypad.png differ
diff --git a/edc/images/w_call_option_icon_mute.png b/edc/images/w_call_option_icon_mute.png
new file mode 100644 (file)
index 0000000..3c6e0f8
Binary files /dev/null and b/edc/images/w_call_option_icon_mute.png differ
diff --git a/edc/images/w_call_option_icon_volume_hold.png b/edc/images/w_call_option_icon_volume_hold.png
new file mode 100644 (file)
index 0000000..61e0d94
Binary files /dev/null and b/edc/images/w_call_option_icon_volume_hold.png differ
diff --git a/edc/images/w_call_option_icon_volume_swap.png b/edc/images/w_call_option_icon_volume_swap.png
new file mode 100644 (file)
index 0000000..325c055
Binary files /dev/null and b/edc/images/w_call_option_icon_volume_swap.png differ
diff --git a/edc/images/w_call_option_icon_volume_tophone.png b/edc/images/w_call_option_icon_volume_tophone.png
new file mode 100644 (file)
index 0000000..7b38967
Binary files /dev/null and b/edc/images/w_call_option_icon_volume_tophone.png differ
diff --git a/edc/images/w_call_option_icon_volume_towatch.png b/edc/images/w_call_option_icon_volume_towatch.png
new file mode 100644 (file)
index 0000000..7478ff4
Binary files /dev/null and b/edc/images/w_call_option_icon_volume_towatch.png differ
diff --git a/edc/images/w_call_option_icon_volume_transferto.png b/edc/images/w_call_option_icon_volume_transferto.png
new file mode 100644 (file)
index 0000000..12243e2
Binary files /dev/null and b/edc/images/w_call_option_icon_volume_transferto.png differ
diff --git a/edc/images/w_call_option_icon_volume_unhold.png b/edc/images/w_call_option_icon_volume_unhold.png
new file mode 100644 (file)
index 0000000..d787ad0
Binary files /dev/null and b/edc/images/w_call_option_icon_volume_unhold.png 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
new file mode 100644 (file)
index 0000000..145867b
Binary files /dev/null and b/edc/images/w_call_toast_show_on_divice_icon.png differ
diff --git a/edc/images/w_during_circle_bg_f.png b/edc/images/w_during_circle_bg_f.png
new file mode 100644 (file)
index 0000000..e80611b
Binary files /dev/null and b/edc/images/w_during_circle_bg_f.png differ
diff --git a/edc/images/w_emergency_icon.png b/edc/images/w_emergency_icon.png
new file mode 100644 (file)
index 0000000..cb2e077
Binary files /dev/null and b/edc/images/w_emergency_icon.png differ
diff --git a/edc/images/w_incoming_icon_call.png b/edc/images/w_incoming_icon_call.png
new file mode 100644 (file)
index 0000000..265b3d2
Binary files /dev/null and b/edc/images/w_incoming_icon_call.png differ
diff --git a/edc/images/w_incoming_icon_dismiss.png b/edc/images/w_incoming_icon_dismiss.png
new file mode 100644 (file)
index 0000000..98d54e8
Binary files /dev/null and b/edc/images/w_incoming_icon_dismiss.png differ
diff --git a/edc/images/w_incoming_icon_end_phone.png b/edc/images/w_incoming_icon_end_phone.png
new file mode 100644 (file)
index 0000000..df47ba2
Binary files /dev/null and b/edc/images/w_incoming_icon_end_phone.png differ
diff --git a/edc/images/w_incoming_icon_phone.png b/edc/images/w_incoming_icon_phone.png
new file mode 100644 (file)
index 0000000..94eaf3d
Binary files /dev/null and b/edc/images/w_incoming_icon_phone.png differ
diff --git a/edc/images/w_more_circle_bg.png b/edc/images/w_more_circle_bg.png
new file mode 100644 (file)
index 0000000..ad3c959
Binary files /dev/null and b/edc/images/w_more_circle_bg.png differ
diff --git a/edc/images/w_outgoing_icon_mute.png b/edc/images/w_outgoing_icon_mute.png
new file mode 100644 (file)
index 0000000..aa4cf4f
Binary files /dev/null and b/edc/images/w_outgoing_icon_mute.png differ
diff --git a/edc/images/w_outgoing_icon_volume.png b/edc/images/w_outgoing_icon_volume.png
new file mode 100644 (file)
index 0000000..aadd32a
Binary files /dev/null and b/edc/images/w_outgoing_icon_volume.png differ
diff --git a/edc/indicator.edc b/edc/indicator.edc
new file mode 100644 (file)
index 0000000..140b162
--- /dev/null
@@ -0,0 +1,561 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define CU_INDI_ICONS_DIR "/Indicator_icon"
+
+#define CU_CONN_IMAGE_DIR  CU_INDI_ICONS_DIR"/Connection"
+#define CU_RSSI_IMAGE_DIR  CU_INDI_ICONS_DIR"/4level"
+#define CU_BATT_IMAGE_DIR  CU_INDI_ICONS_DIR"/Battery"
+
+// Connection
+
+#define CU_DESC_CONN_IMAGE(_value) \
+       desc { "state_"_value; \
+               inherit: "default"; \
+               visible: 1; \
+               image.normal: CU_CONN_IMAGE_DIR"/"_value".png"; \
+       } \
+
+#define CU_PROG_CONN_TYPE(_value) \
+       program { \
+               signal: "conn_"_value; \
+               source: "*"; \
+               action: STATE_SET "state_"_value; \
+               target: "img.connection_type"; \
+       } \
+
+#define CU_PROG_PACKET_DIRECTION(_value) \
+       program { \
+               signal: "packet_"_value; \
+               source: "*"; \
+               action: STATE_SET "state_"_value; \
+               target: "img.connection_packet"; \
+       } \
+
+group { "elm/layout/callui/connection";
+       images {
+               image: CU_CONN_IMAGE_DIR"/edge_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/gprs_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/hsdpa_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/hspa_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/lte_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/umts_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/wifi_connected_00.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/wifi_connected_01.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/wifi_connected_02.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/wifi_connected_03.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/wifi_connected_04.png" COMP;
+
+               image: CU_CONN_IMAGE_DIR"/no_inout_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/in_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/out_connected.png" COMP;
+               image: CU_CONN_IMAGE_DIR"/inout_connected.png" COMP;
+       }
+       parts {
+               image { "img.connection_type";
+                       scale;
+                       desc { "default";
+                               min: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               max: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               fixed: 1 1;
+                               image.normal: CU_CONN_IMAGE_DIR"/edge_connected.png";
+                               color_class: "AO0111";
+                               visible: 0;
+                       }
+                       CU_DESC_CONN_IMAGE("edge_connected");
+                       CU_DESC_CONN_IMAGE("gprs_connected");
+                       CU_DESC_CONN_IMAGE("hsdpa_connected");
+                       CU_DESC_CONN_IMAGE("hspa_connected");
+                       CU_DESC_CONN_IMAGE("lte_connected");
+                       CU_DESC_CONN_IMAGE("umts_connected");
+                       CU_DESC_CONN_IMAGE("wifi_connected_00");
+                       CU_DESC_CONN_IMAGE("wifi_connected_01");
+                       CU_DESC_CONN_IMAGE("wifi_connected_02");
+                       CU_DESC_CONN_IMAGE("wifi_connected_03");
+                       CU_DESC_CONN_IMAGE("wifi_connected_04");
+               }
+               image { "img.connection_packet";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               max: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               image.normal: CU_CONN_IMAGE_DIR"/no_inout_connected.png";
+                               color_class: "AO0111";
+                               visible: 0;
+                       }
+                       CU_DESC_CONN_IMAGE("no_inout_connected");
+                       CU_DESC_CONN_IMAGE("in_connected");
+                       CU_DESC_CONN_IMAGE("out_connected");
+                       CU_DESC_CONN_IMAGE("inout_connected");
+               }
+       }
+
+       programs {
+               CU_PROG_CONN_TYPE("edge_connected");
+               CU_PROG_CONN_TYPE("gprs_connected");
+               CU_PROG_CONN_TYPE("hsdpa_connected");
+               CU_PROG_CONN_TYPE("hspa_connected");
+               CU_PROG_CONN_TYPE("lte_connected");
+               CU_PROG_CONN_TYPE("umts_connected");
+               CU_PROG_CONN_TYPE("3g_plus_connected");
+               CU_PROG_CONN_TYPE("wifi_connected_00");
+               CU_PROG_CONN_TYPE("wifi_connected_01");
+               CU_PROG_CONN_TYPE("wifi_connected_02");
+               CU_PROG_CONN_TYPE("wifi_connected_03");
+               CU_PROG_CONN_TYPE("wifi_connected_04");
+               program {
+                       signal: "connection_none";
+                       source: "*";
+                       action: STATE_SET "default";
+                       target: "img.connection_type";
+                       target: "img.connection_packet";
+               }
+               CU_PROG_PACKET_DIRECTION("no_inout_connected");
+               CU_PROG_PACKET_DIRECTION("in_connected");
+               CU_PROG_PACKET_DIRECTION("out_connected");
+               CU_PROG_PACKET_DIRECTION("inout_connected");
+               program {
+                       signal: "packet_none";
+                       source: "*";
+                       action: STATE_SET "default";
+                       target: "img.connection_packet";
+               }
+       }
+}
+
+// RSSI
+
+#define CU_DESC_RSSI_IMAGE(_num) \
+       description { \
+               state: _num; \
+               inherit: "default"; \
+               image.normal: CU_RSSI_IMAGE_DIR"/signal_strength_"_num".png"; \
+       } \
+
+#define CU_DESC_RSSI_ROAMING_IMAGE(_num) \
+       description { \
+               state: "roaming_"_num; \
+               inherit: "default"; \
+               image.normal: CU_RSSI_IMAGE_DIR"/roaming_strength_"_num".png"; \
+       } \
+
+#define CU_PROG_RSSI(_num) \
+       program { \
+               signal: "rssi_"_num; \
+               source: "*"; \
+               action: STATE_SET _num 0.0; \
+               target: "img.rssi"; \
+       } \
+
+#define CU_PROG_RSSI_ROAMING(_num) \
+       program { \
+               signal: "rssi_roaming_"_num; \
+               source: "*"; \
+               action: STATE_SET "roaming_"_num 0.0; \
+               target: "img.rssi"; \
+       } \
+
+group { "elm/layout/callui/rssi";
+       images {
+               image: CU_RSSI_IMAGE_DIR"/signal_strength_00.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/signal_strength_01.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/signal_strength_02.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/signal_strength_03.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/signal_strength_04.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/roaming_strength_00.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/roaming_strength_01.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/roaming_strength_02.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/roaming_strength_03.png" COMP;
+               image: CU_RSSI_IMAGE_DIR"/roaming_strength_04.png" COMP;
+               image: CU_INDI_ICONS_DIR"/b_ic_flight.png" COMP;
+               image: CU_INDI_ICONS_DIR"/b_ic_indicator_02.png" COMP;
+       }
+       parts {
+               image { "img.rssi";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               max: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               image.normal: CU_INDI_ICONS_DIR"/b_ic_indicator_02.png";
+                               color_class: "AO0111";
+                       }
+                       CU_DESC_RSSI_IMAGE(00);
+                       CU_DESC_RSSI_IMAGE(01);
+                       CU_DESC_RSSI_IMAGE(02);
+                       CU_DESC_RSSI_IMAGE(03);
+                       CU_DESC_RSSI_IMAGE(04);
+                       CU_DESC_RSSI_ROAMING_IMAGE(00);
+                       CU_DESC_RSSI_ROAMING_IMAGE(01);
+                       CU_DESC_RSSI_ROAMING_IMAGE(02);
+                       CU_DESC_RSSI_ROAMING_IMAGE(03);
+                       CU_DESC_RSSI_ROAMING_IMAGE(04);
+                       desc { "no_signal";
+                               inherit: "default";
+                       }
+                       desc { "flight_mode";
+                               inherit: "default";
+                               image.normal: CU_INDI_ICONS_DIR"/b_ic_flight.png";
+                       }
+                       desc { "none";
+                               inherit: "default";
+                               visible: 0;
+                       }
+               }
+       }
+       programs {
+               CU_PROG_RSSI(00);
+               CU_PROG_RSSI(01);
+               CU_PROG_RSSI(02);
+               CU_PROG_RSSI(03);
+               CU_PROG_RSSI(04);
+               CU_PROG_RSSI_ROAMING(00);
+               CU_PROG_RSSI_ROAMING(01);
+               CU_PROG_RSSI_ROAMING(02);
+               CU_PROG_RSSI_ROAMING(03);
+               CU_PROG_RSSI_ROAMING(04);
+               program {
+                       signal: "rssi_no_signal";
+                       source: "*";
+                       action: STATE_SET "no_signal" 0.0;
+                       target: "img.rssi";
+               }
+               program {
+                       signal: "rssi_flight_mode";
+                       source: "*";
+                       action: STATE_SET "flight_mode" 0.0;
+                       target: "img.rssi";
+               }
+               program {
+                       signal: "rssi_none";
+                       source: "*";
+                       action: STATE_SET "none" 0.0;
+                       target: "img.rssi";
+               }
+       }
+}
+
+// BATTERY
+
+#define DESCRIPTION_BATTERY(_value) \
+       desc { "batt_lvl_"_value; \
+               inherit: "default"; \
+               image.normal: CU_BATT_IMAGE_DIR"/battery_"_value".png"; \
+       } \
+
+#define PROGRAM_BATTERY(_value) \
+       program { \
+               signal: "batt_lvl_"_value; \
+               source: "*"; \
+               action: STATE_SET "batt_lvl_"_value; \
+               target: "img.battery_level"; \
+       } \
+
+group { "elm/layout/callui/battery";
+       images {
+               image: CU_BATT_IMAGE_DIR"/battery_00.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_05.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_10.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_15.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_20.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_25.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_30.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_35.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_40.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_45.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_50.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_55.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_60.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_65.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_70.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_75.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_80.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_85.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_90.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_95.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_100.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_bg.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_charging.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_not_charging.png" COMP;
+               image: CU_BATT_IMAGE_DIR"/battery_unknown.png" COMP;
+       }
+       parts {
+               image { "img.battery.bg";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_BATT_ICON_W CU_BATT_ICON_H;
+                               max: CU_BATT_ICON_W CU_BATT_ICON_H;
+                               image.normal: CU_BATT_IMAGE_DIR"/battery_bg.png";
+                               color_class: "AO0111";
+                       }
+               }
+               image { "img.battery_level";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_BATT_ICON_W CU_BATT_ICON_H;
+                               max: CU_BATT_ICON_W CU_BATT_ICON_H;
+                               image.normal: CU_BATT_IMAGE_DIR"/battery_50.png";
+                               color_class: "AO0111";
+                       }
+                       desc { "batt_lvl_hide";
+                               inherit: "default";
+                               visible: 0;
+                       }
+                       DESCRIPTION_BATTERY(05);
+                       DESCRIPTION_BATTERY(10);
+                       DESCRIPTION_BATTERY(15);
+                       DESCRIPTION_BATTERY(20);
+                       DESCRIPTION_BATTERY(25);
+                       DESCRIPTION_BATTERY(30);
+                       DESCRIPTION_BATTERY(35);
+                       DESCRIPTION_BATTERY(40);
+                       DESCRIPTION_BATTERY(45);
+                       DESCRIPTION_BATTERY(50);
+                       DESCRIPTION_BATTERY(55);
+                       DESCRIPTION_BATTERY(60);
+                       DESCRIPTION_BATTERY(65);
+                       DESCRIPTION_BATTERY(70);
+                       DESCRIPTION_BATTERY(75);
+                       DESCRIPTION_BATTERY(80);
+                       DESCRIPTION_BATTERY(85);
+                       DESCRIPTION_BATTERY(90);
+                       DESCRIPTION_BATTERY(95);
+                       DESCRIPTION_BATTERY(100);
+               }
+               image { "img.charge";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_BATT_ICON_W CU_BATT_ICON_H;
+                               max: CU_BATT_ICON_W CU_BATT_ICON_H;
+                               image.normal: CU_BATT_IMAGE_DIR"/battery_00.png";
+                               color_class: "AO0111";
+                               visible: 0;
+                       }
+                       desc { "low_battery";
+                               inherit: "default";
+                               visible: 1;
+                       }
+                       desc { "charging";
+                               inherit: "default";
+                               image.normal: CU_BATT_IMAGE_DIR"/battery_charging.png";
+                               color_class: "AO0251";
+                               visible: 1;
+                       }
+                       desc { "charging_problem";
+                               inherit: "default";
+                               image.normal: CU_BATT_IMAGE_DIR"/battery_not_charging.png";
+                               color_class: "AO0254";
+                               visible: 1;
+                       }
+                       desc { "unknown";
+                               inherit: "default";
+                               image.normal: CU_BATT_IMAGE_DIR"/battery_unknown.png";
+                               color_class: "AO0251";
+                               visible: 1;
+                       }
+               }
+       }
+
+       programs {
+               PROGRAM_BATTERY(hide);
+               PROGRAM_BATTERY(05);
+               PROGRAM_BATTERY(10);
+               PROGRAM_BATTERY(15);
+               PROGRAM_BATTERY(20);
+               PROGRAM_BATTERY(25);
+               PROGRAM_BATTERY(30);
+               PROGRAM_BATTERY(35);
+               PROGRAM_BATTERY(40);
+               PROGRAM_BATTERY(45);
+               PROGRAM_BATTERY(50);
+               PROGRAM_BATTERY(55);
+               PROGRAM_BATTERY(60);
+               PROGRAM_BATTERY(65);
+               PROGRAM_BATTERY(70);
+               PROGRAM_BATTERY(75);
+               PROGRAM_BATTERY(80);
+               PROGRAM_BATTERY(85);
+               PROGRAM_BATTERY(90);
+               PROGRAM_BATTERY(95);
+               PROGRAM_BATTERY(100);
+               program {
+                       signal: "batt_state_normal";
+                       source: "*";
+                       action: STATE_SET "default";
+                       target: "img.charge";
+               }
+               program {
+                       signal: "batt_state_low_battery";
+                       source: "*";
+                       action: STATE_SET "low_battery";
+                       target: "img.charge";
+               }
+               program {
+                       signal: "batt_state_charging";
+                       source: "*";
+                       action: STATE_SET "charging" ;
+                       target: "img.charge";
+               }
+               program {
+                       signal: "batt_state_charging_problem";
+                       source: "*";
+                       action: STATE_SET "charging_problem" ;
+                       target: "img.charge";
+               }
+               program {
+                       signal: "batt_state_unknown";
+                       source: "*";
+                       action: STATE_SET "unknown";
+                       target: "img.charge";
+               }
+       }
+}
+
+// SIM
+
+group { "elm/layout/callui/sim";
+       images {
+               image: CU_INDI_ICONS_DIR"/indi_forwarded_call.png" COMP;
+               image: CU_INDI_ICONS_DIR"/indi_gear_sim_call.png" COMP;
+               image: CU_INDI_ICONS_DIR"/indi_mobile_sim_01.png" COMP;
+               image: CU_INDI_ICONS_DIR"/indi_mobile_sim_02.png" COMP;
+               image: CU_INDI_ICONS_DIR"/indi_mobile_sim_call.png" COMP;
+       }
+       parts {
+               image { "img.sim";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               max: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               image.normal: CU_INDI_ICONS_DIR"/indi_gear_sim_call.png";
+                               color_class: "AO0111";
+                               visible: 0;
+                       }
+                       desc { "unknown";
+                               inherit: "default";
+                       }
+                       desc { "gear_sim_call";
+                               inherit: "default";
+                               visible: 1;
+                       }
+                       desc { "forwarded_call";
+                               inherit: "default";
+                               image.normal: CU_INDI_ICONS_DIR"/indi_forwarded_call.png";
+                               visible: 1;
+                       }
+                       desc { "mobile_sim_call";
+                               inherit: "default";
+                               image.normal: CU_INDI_ICONS_DIR"/indi_mobile_sim_call.png";
+                               visible: 1;
+                       }
+                       desc { "mobile_sim_01";
+                               inherit: "default";
+                               image.normal: CU_INDI_ICONS_DIR"/indi_mobile_sim_01.png";
+                               visible: 1;
+                       }
+                       desc { "mobile_sim_02";
+                               inherit: "default";
+                               image.normal: CU_INDI_ICONS_DIR"/indi_mobile_sim_02.png";
+                               visible: 1;
+                       }
+               }
+       }
+       programs {
+               program {
+                       signal: "sim_unknown";
+                       source: "*";
+                       action: STATE_SET "unknown" 0.0;
+                       target: "img.sim";
+               }
+               program {
+                       signal: "sim_gear";
+                       source: "*";
+                       action: STATE_SET "gear_sim_call" 0.0;
+                       target: "img.sim";
+               }
+               program {
+                       signal: "sim_gear_forwarded";
+                       source: "*";
+                       action: STATE_SET "forwarded_call" 0.0;
+                       target: "img.sim";
+               }
+               program {
+                       signal: "sim_mobile";
+                       source: "*";
+                       action: STATE_SET "mobile_sim_call" 0.0;
+                       target: "img.sim";
+               }
+               program {
+                       signal: "sim_mobile_01";
+                       source: "*";
+                       action: STATE_SET "mobile_sim_01" 0.0;
+                       target: "img.sim";
+               }
+               program {
+                       signal: "sim_mobile_02";
+                       source: "*";
+                       action: STATE_SET "mobile_sim_02" 0.0;
+                       target: "img.sim";
+               }
+       }
+}
+
+// HD Voice
+
+group { "elm/layout/callui/hd_voice";
+       images {
+               image: CU_INDI_ICONS_DIR"/indi_hd_voice_call.png" COMP;
+       }
+       parts {
+               image { "img.hd_voice";
+                       scale;
+                       desc { "default";
+                               fixed: 1 1;
+                               min: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               max: CU_INDI_ICON_W CU_INDI_ICON_H;
+                               image.normal: CU_INDI_ICONS_DIR"/indi_hd_voice_call.png";
+                               color_class: "AO0111";
+                               visible: 0;
+                       }
+                       desc { "disabled";
+                               inherit: "default";
+                       }
+                       desc { "enabled";
+                               inherit: "default";
+                               visible: 1;
+                       }
+               }
+       }
+       programs {
+               program {
+                       signal: "hd_voice_show";
+                       source: "*";
+                       action: STATE_SET "enabled" 0.0;
+                       target: "img.hd_voice";
+               }
+               program {
+                       signal: "hd_voice_hide";
+                       source: "*";
+                       action: STATE_SET "disabled" 0.0;
+                       target: "img.hd_voice";
+               }
+       }
+}
\ No newline at end of file
index ad93a145390c59aa908942393af5281ecd3deea5..bc300ca6551cb7ece4e28f5f82f4461abafcb4af 100644 (file)
 
 #define CU_BTN_HIDE_ANIM_TIME  0.2
 
+#define CU_SWL_CONN_COORD_X 104
+#define CU_SWL_CONN_COORD_Y 31
+
+#define CU_SWL_RSSI_COORD_X 135
+#define CU_SWL_RSSI_COORD_Y 20
+
+#define CU_SWL_BATT_COORD_X 169
+#define CU_SWL_BATT_COORD_Y 14
+
+#define CU_SWL_SIM_COORD_X 201
+#define CU_SWL_SIM_COORD_Y 20
+
+#define CU_SWL_HD_CALL_COORD_X 232
+#define CU_SWL_HD_CALL_COORD_Y 31
+
+#define CU_SWL_CONN_REL1 CU_REL_W(CU_SWL_CONN_COORD_X) CU_REL_H(CU_SWL_CONN_COORD_Y)
+#define CU_SWL_CONN_REL2 CU_REL_W((CU_SWL_CONN_COORD_X+CU_INDI_ICON_W)) CU_REL_H((CU_SWL_CONN_COORD_Y+CU_INDI_ICON_H))
+
+#define CU_SWL_RSSI_REL1 CU_REL_W(CU_SWL_RSSI_COORD_X) CU_REL_H(CU_SWL_RSSI_COORD_Y)
+#define CU_SWL_RSSI_REL2 CU_REL_W((CU_SWL_RSSI_COORD_X+CU_INDI_ICON_W)) CU_REL_H((CU_SWL_RSSI_COORD_Y+CU_INDI_ICON_H))
+
+#define CU_SWL_BATTERY_REL1 CU_REL_W(CU_SWL_BATT_COORD_X) CU_REL_H(CU_SWL_BATT_COORD_Y)
+#define CU_SWL_BATTERY_REL2 CU_REL_W((CU_SWL_BATT_COORD_X+CU_BATT_ICON_W)) CU_REL_H((CU_SWL_BATT_COORD_Y+CU_BATT_ICON_H))
+
+#define CU_SWL_SIM_REL1 CU_REL_W(CU_SWL_SIM_COORD_X) CU_REL_H(CU_SWL_SIM_COORD_Y)
+#define CU_SWL_SIM_REL2 CU_REL_W((CU_SWL_SIM_COORD_X+CU_INDI_ICON_W)) CU_REL_H((CU_SWL_SIM_COORD_Y+CU_INDI_ICON_H))
+
+#define CU_SWL_HD_CALL_REL1 CU_REL_W(CU_SWL_HD_CALL_COORD_X) CU_REL_H(CU_SWL_HD_CALL_COORD_Y)
+#define CU_SWL_HD_CALL_REL2 CU_REL_W((CU_SWL_HD_CALL_COORD_X+CU_INDI_ICON_W)) CU_REL_H((CU_SWL_HD_CALL_COORD_Y+CU_INDI_ICON_H))
+
+
 group { "elm/layout/callui/main";
        parts {
+               swallow { "swl.indicator";
+                       scale;
+                       desc { "default";
+                       }
+               }
                swallow { "swl.accept_reject";
                        scale;
                        desc { "default";
@@ -30,7 +66,7 @@ group { "elm/layout/callui/main";
        }
 }
 
-group { "elm/layout/callui/incoming_call";
+group { "elm/layout/callui/accept_reject";
        parts {
                spacer { "spacer.left";
                        scale;
@@ -131,5 +167,49 @@ group { "elm/layout/callui/incoming_call";
                        targets: "spacer.right" "spacer.left";
                }
        }
+}
 
+group { "elm/layout/callui/indicator";
+       parts {
+               spacer { "bg";
+                       scale;
+                       desc { "default";
+                       }
+               }
+               swallow { "swl.connection";
+                       scale;
+                       desc { "default";
+                               rel1 { relative: CU_SWL_CONN_REL1; to: "bg"; }
+                               rel2 { relative: CU_SWL_CONN_REL2; to: "bg"; }
+                       }
+               }
+               swallow { "swl.rssi";
+                       scale;
+                       desc { "default";
+                               rel1 { relative: CU_SWL_RSSI_REL1; to: "bg"; }
+                               rel2 { relative: CU_SWL_RSSI_REL2; to: "bg"; }
+                       }
+               }
+               swallow { "swl.battery";
+                       scale;
+                       desc { "default";
+                               rel1 { relative: CU_SWL_BATTERY_REL1; to: "bg"; }
+                               rel2 { relative: CU_SWL_BATTERY_REL2; to: "bg"; }
+                       }
+               }
+               swallow { "swl.sim";
+                       scale;
+                       desc { "default";
+                               rel1 { relative: CU_SWL_SIM_REL1; to: "bg"; }
+                               rel2 { relative: CU_SWL_SIM_REL2; to: "bg"; }
+                       }
+               }
+               swallow { "swl.hd_voice";
+                       scale;
+                       desc { "default";
+                               rel1 { relative: CU_SWL_HD_CALL_REL1; to: "bg"; }
+                               rel2 { relative: CU_SWL_HD_CALL_REL2; to: "bg"; }
+                       }
+               }
+       }
 }
\ No newline at end of file
index fa9508b2541e37cbaba561411bd800c6842cb880..fbe8de6729e6114ea74d21f8fa9eb0f2141a87f8 100644 (file)
@@ -28,6 +28,7 @@ namespace callui {
                virtual long getStartTime() const = 0;
                virtual bool isEmergency() const = 0;
                virtual bool isHDVoice() const = 0;
+               virtual bool isForwarded() const = 0;
                virtual int getConferenceMemberCount() const = 0;
                virtual const ConfMemberList &getConferenceMemberList() const = 0;
        };
index 39fd64d12f1ccec560822533beea608a2ecda09f..3f88a75c7e3a9b09c6a04b4df007905313ea4840 100644 (file)
@@ -23,7 +23,7 @@ namespace callui {
 
        class IIndicatorStateListener: public ucl::Polymorphic {
        public:
-               virtual void onStateChanged(IndicatorProperty property) const = 0;
+               virtual void onStateChanged(IndicatorProperty property) = 0;
        };
 
 }
index 3b4e851ee75ecdf6280faf02ee48f3a10b21a325..b0a4d5d9759e674591cf816a152e8a58682f40c1 100644 (file)
@@ -32,6 +32,7 @@ namespace callui {
        int getBatteryLevel(IndicatorState state);
        BatteryState getBatteryState(IndicatorState state);
        SimSlot getSimSlotType(IndicatorState state);
+       bool getSimForwardState(IndicatorState state);
        bool getHDVoiceState(IndicatorState state);
 
 }
diff --git a/inc/presenters/Indicator.h b/inc/presenters/Indicator.h
new file mode 100644 (file)
index 0000000..6958df4
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CALLUI_PRESENTERS_INDICATOR_H__
+#define __CALLUI_PRESENTERS_INDICATOR_H__
+
+#include "model/IIndicatorStateListener.h"
+
+#include "ucl/gui/Layout.h"
+#include "ucl/gui/StyledWidget.h"
+
+#include "types.h"
+
+namespace callui {
+
+       class Indicator final :
+                       public IIndicatorStateListener,
+                       public ucl::RefCountAware {
+       public:
+               class Builder {
+               public:
+                       Builder();
+                       ~Builder();
+                       Builder &setIndicatorStateProvider(const IIndicatorStateProviderSRef &provider);
+                       IndicatorSRef build(ucl::ElmWidget &parent) const;
+               private:
+                       IIndicatorStateProviderSRef m_provider;
+               };
+
+       public:
+               virtual ~Indicator();
+
+               ucl::Widget &getWidget();
+
+       private:
+               friend class ucl::RefCountObj<Indicator>;
+               Indicator(ucl::RefCountObjBase &rc,
+                               const IIndicatorStateProviderSRef &provider);
+
+               ucl::Result prepare(ucl::Widget &parent);
+
+               ucl::Result createWidget(ucl::Widget &parent);
+               ucl::Result createConnectionLayout();
+               ucl::Result createRssiLayout();
+               ucl::Result createBatteryLayout();
+               ucl::Result createSimLayout();
+               ucl::Result createHdVoiceLayout();
+
+               void updateConnectionState();
+               void updateRssiState();
+               void updateBatteryState();
+               void updateSimState();
+               void updateHdVoiceState();
+
+               // IIndicatorStateListener
+
+               virtual void onStateChanged(IndicatorProperty property) override final;
+
+       private:
+               ucl::LayoutSRef m_widget;
+               ucl::LayoutSRef m_connLayout;
+               ucl::LayoutSRef m_rssiLayout;
+               ucl::LayoutSRef m_batteryLayout;
+               ucl::LayoutSRef m_simLayout;
+               ucl::LayoutSRef m_hdCallLayout;
+               IIndicatorStateProviderSRef m_provider;
+       };
+
+       ucl::EdjeSignal getConnectionSignal(ConnectionType type);
+}
+
+#endif // __CALLUI_PRESENTERS_INDICATOR_H__
index 27d973e0796e2c9ba66137523c11ea6ece9788c2..0139b7b221b94b273f1bc3682d18cb3db2782d3c 100644 (file)
@@ -64,6 +64,7 @@ namespace callui {
        private:
                ucl::LayoutSRef m_widget;
                ICallSRef m_call;
+               IndicatorSRef m_indicator;
                AcceptRejectPresenterSRef m_acceptReject;
        };
 }
index 65bf1881fa8d9a20547711d7f14c85d10788ff8d..6b7c33cfc5b7e5db9dfcb68999cbcb375c0dc848 100644 (file)
@@ -36,6 +36,8 @@ namespace callui {
        UCL_DECLARE_REF_ALIASES(AcceptRejectPresenter);
        UCL_DECLARE_REF_ALIASES(AcceptDialog);
 
+       UCL_DECLARE_REF_ALIASES(Indicator);
+
        using AcceptDialogHandler = ucl::WeakDelegate<bool(AcceptDialog &, AcceptDialogEvent)>;
 }
 
index 1d768dc9fedcbbf60357acc6d39607e273c062ae..b74f147060e5a500cc6c82ee0453af3bc1d9ef97 100644 (file)
 
 #define TRANSITION_GLIDE(duration) CUBIC_BEZIER (duration) 0.25 0.46 0.45 1.0
 
+#define CU_WIN_W 360
+#define CU_WIN_H 360
+
+#define CU_REL_W(val) (val/CU_WIN_W)
+#define CU_REL_H(val) (val/CU_WIN_H)
+
+#define CU_BATT_ICON_H 32
+#define CU_BATT_ICON_W 22
+
+#define CU_INDI_ICON_H 26
+#define CU_INDI_ICON_W 24
+
 collections {
        base_scale: 1.3;
 
@@ -30,4 +42,6 @@ collections {
        #include "../../edc/color_classes.edc"
        #include "../../edc/layouts.edc"
        #include "../../edc/buttons.edc"
+
+       #include "../../edc/indicator.edc"
 }
index 4ba260eadbe859d87ee0e732a2b601393b137009..7e252aea2de3999065d10298b3170e1a76073ad6 100644 (file)
@@ -34,6 +34,7 @@ namespace callui {
 
                virtual IndicatorState getState() const override final;
                virtual void setStateChangeHandler(StateChangeHandler handler) override final;
+
        private:
                friend class ucl::RefCountObj<BatteryStateSource>;
                BatteryStateSource();
index bfe835ce4d0897496eccb852d47ce1604612fd0f..a54f03aa13854f128b040157ff3e8d0f55a9bc24 100644 (file)
@@ -182,7 +182,7 @@ namespace callui {
                                "setStateSource() failed!");
 
                m_simSlotStSrc = makeShared<SimSlotStateSource>(
-                               m_callManager->getSimSlot());
+                               m_callManager->getSimSlot(), getForwardedCallStatus());
                FAIL_RETURN(m_indicatorStPrv->setStateSource(
                                IndicatorProperty::SIM_SLOT, m_simSlotStSrc),
                                "setStateSource() failed!");
@@ -211,23 +211,40 @@ namespace callui {
                return m_indicatorStPrv;
        }
 
-       bool Call::getHDVoiceStatus() const
+       ICallInfoSCRef Call::getCurrentCallInfo() const
        {
-               ICallInfoSCRef info;
                CallMask calls = m_callManager->getAvailableCalls();
                if (!calls) {
                        DLOG("No available calls");
-                       return false;
+                       return {};
                } else if (calls & CALL_FLAG_INCOMING) {
-                       info = m_callManager->getIncomingCall()->getInfo();
+                       return m_callManager->getIncomingCall()->getInfo();
                } else if (calls & CALL_FLAG_ACTIVE) {
-                       info = m_callManager->getActiveCall()->getInfo();
+                       return m_callManager->getActiveCall()->getInfo();
                } else if (calls & CALL_FLAG_HELD) {
-                       info = m_callManager->getHeldCall()->getInfo();
+                       return m_callManager->getHeldCall()->getInfo();
                } else if (calls & CALL_FLAG_END) {
-                       info = m_callManager->getEndCall()->getInfo();
+                       return m_callManager->getEndCall()->getInfo();
+               }
+               return {};
+       }
+
+       bool Call::getHDVoiceStatus() const
+       {
+               ICallInfoSCRef info = getCurrentCallInfo();
+               if (info) {
+                       return info->isHDVoice();
+               }
+               return false;
+       }
+
+       bool Call::getForwardedCallStatus() const
+       {
+               ICallInfoSCRef info = getCurrentCallInfo();
+               if (info) {
+                       return info->isForwarded();
                }
-               return info->isHDVoice();
+               return false;
        }
 
        void Call::updateHdVoiceStateSource()
@@ -237,7 +254,8 @@ namespace callui {
 
        void Call::updateSimSlotStateSource()
        {
-               m_simSlotStSrc->updateSimSlot(m_callManager->getSimSlot());
+               m_simSlotStSrc->updateSimSlot(m_callManager->getSimSlot(),
+                               getForwardedCallStatus());
        }
 
        void Call::onCallEvent(CallEventType type)
index e4edebb000d3af6623f33621ec68d4ed098e9308..ff5a4061e6613b2d0958927c364825eb17ea1065 100644 (file)
@@ -57,9 +57,12 @@ namespace callui {
                ucl::Result prepare();
 
                ucl::Result initInidcatorStateProvider();
-               bool getHDVoiceStatus() const;
+
                void updateHdVoiceStateSource();
                void updateSimSlotStateSource();
+               ICallInfoSCRef getCurrentCallInfo() const;
+               bool getHDVoiceStatus() const;
+               bool getForwardedCallStatus() const;
 
        private:
                CallManagerSRef m_callManager;
index 333e9337a23cb2a859c4bfc5714ebf368d0738d2..f9ed5ff2e57e6f0aa0197646277bf2a73c11726d 100644 (file)
@@ -35,6 +35,7 @@ namespace callui {
                m_startTime(0),
                m_isEmergency(false),
                m_isHDVoice(false),
+               m_isForwarded(false),
                m_confMemberCount(0)
        {
        }
@@ -165,6 +166,11 @@ namespace callui {
                return m_isHDVoice;
        }
 
+       bool CallInfo::isForwarded() const
+       {
+               return m_isForwarded;
+       }
+
        int CallInfo::getConferenceMemberCount() const
        {
                return m_confMemberCount;
index c2086127a014e7b770b122a8d44bde7727255784..b689f97a0ba159131556aef9651dad56871da917 100644 (file)
@@ -38,6 +38,7 @@ namespace callui {
                virtual long getStartTime() const override final;
                virtual bool isEmergency() const override final;
                virtual bool isHDVoice() const override final;
+               virtual bool isForwarded() const override final;
                virtual int getConferenceMemberCount() const override final;
                virtual const ConfMemberList &getConferenceMemberList() const override final;
 
@@ -55,6 +56,7 @@ namespace callui {
                long m_startTime;
                bool m_isEmergency;
                bool m_isHDVoice;
+               bool m_isForwarded;
                int m_confMemberCount;
                ConfMemberList m_confMemberList;
        };
index 55cb37faf9c1547926b4e58d415e8e768d02ead4..a5fe2dec0bd60bca57e71ffb5dfc57640def2dd7 100644 (file)
@@ -37,23 +37,33 @@ namespace callui {
                }
        }
 
-       SimSlotStateSource::SimSlotStateSource(SimSlot slot)
+       SimSlotStateSource::SimSlotStateSource(SimSlot slot, bool isForwarded)
        {
                m_bits.simSlot = convertEnumValueToInt(slot);
+               m_bits.isForwarded = isForwarded;
        }
 
        SimSlotStateSource::~SimSlotStateSource()
        {
        }
 
-       void SimSlotStateSource::updateSimSlot(SimSlot slot)
+       void SimSlotStateSource::updateSimSlot(SimSlot slot, bool isForwarded)
        {
                int simSlotInt = convertEnumValueToInt(slot);
+               bool needUpdate = false;
+
                if (simSlotInt != m_bits.simSlot) {
                        m_bits.simSlot = simSlotInt;
-                       if (m_handler) {
-                               m_handler();
-                       }
+                       needUpdate = true;
+               }
+
+               if (isForwarded != m_bits.isForwarded) {
+                       m_bits.isForwarded = isForwarded;
+                       needUpdate = true;
+               }
+
+               if (needUpdate && m_handler) {
+                       m_handler();
                }
        }
 
@@ -73,4 +83,9 @@ namespace callui {
                                SimSlotStateSource::Bits(state).simSlot);
        }
 
+       bool getSimForwardState(IndicatorState state)
+       {
+               return SimSlotStateSource::Bits(state).isForwarded;
+       }
+
 }
index 9620f2cb9f4ae3a59dff40ab79e60f6656ca30a6..836c406c31ddffcfe862eca4d7dcc84e5762f183 100644 (file)
@@ -23,9 +23,9 @@ namespace callui {
 
        class SimSlotStateSource final : public IIndicatorStateSource {
        public:
-               SimSlotStateSource(SimSlot slot);
+               SimSlotStateSource(SimSlot slot, bool isForwarded);
                virtual ~SimSlotStateSource();
-               void updateSimSlot(SimSlot slot);
+               void updateSimSlot(SimSlot slot, bool isForwarded);
 
                // IIndicatorStateSource
 
@@ -37,6 +37,7 @@ namespace callui {
                                struct {
                                        uint8_t property : 4;
                                        uint8_t simSlot : 4;
+                                       bool isForwarded: 1;
                                };
                                uint64_t value;
 
index f51c06b3104e5adf63584c0d9d2d73601b618e90..d1a0c901dae21ca428393a6ad163e0fe187411a4 100644 (file)
@@ -26,8 +26,8 @@ namespace callui { namespace { namespace impl {
 
        using namespace ucl;
 
-       constexpr LayoutTheme LAYOUT_INCOMING_CALL_WIDGET
-                       {"layout", "callui", "incoming_call"};
+       constexpr LayoutTheme LAYOUT_ACCEPT_REJECT_WIDGET
+                       {"layout", "callui", "accept_reject"};
 
        constexpr EdjeSignal SIGNAL_ACCEEPT_SHOW {"accept,show"};
        constexpr EdjeSignal SIGNAL_ACCEEPT_HIDE {"accept,hide"};
@@ -143,7 +143,7 @@ namespace callui {
        Result AcceptRejectPresenter::createWidget(Widget &parent)
        {
                m_widget = Layout::Builder().
-                               setTheme(impl::LAYOUT_INCOMING_CALL_WIDGET).
+                               setTheme(impl::LAYOUT_ACCEPT_REJECT_WIDGET).
                                setIsOwner(true).
                                build(parent);
                if (!m_widget) {
diff --git a/src/presenters/Indicator.cpp b/src/presenters/Indicator.cpp
new file mode 100644 (file)
index 0000000..07997bf
--- /dev/null
@@ -0,0 +1,393 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "presenters/Indicator.h"
+
+#include <string>
+
+#include "model/IIndicatorStateProvider.h"
+
+#include "common.h"
+
+namespace callui { namespace { namespace impl {
+       using namespace ucl;
+
+       constexpr int BATTERY_LOW_LIMIT = 5;
+
+       constexpr LayoutTheme LAYOUT_INDICATOR_WIDGET
+                       {"layout", "callui", "indicator"};
+
+       constexpr LayoutTheme LAYOUT_CONNECTION
+                       {"layout", "callui", "connection"};
+
+       constexpr LayoutTheme LAYOUT_RSSI
+                       {"layout", "callui", "rssi"};
+
+       constexpr LayoutTheme LAYOUT_BATTERY
+                       {"layout", "callui", "battery"};
+
+       constexpr LayoutTheme LAYOUT_SIM
+                       {"layout", "callui", "sim"};
+
+       constexpr LayoutTheme LAYOUT_HD_CALL
+                       {"layout", "callui", "hd_voice"};
+
+
+       constexpr EdjePart PART_CONNECTION {"swl.connection"};
+       constexpr EdjePart PART_RSSI {"swl.rssi"};
+       constexpr EdjePart PART_BATTERY {"swl.battery"};
+       constexpr EdjePart PART_SIM {"swl.sim"};
+       constexpr EdjePart PART_HD_VOICE {"swl.hd_voice"};
+
+       constexpr EdjeSignal SIGL_BATT_LVL_HIDE {"batt_lvl_hide"};
+
+       EdjeSignal getConnUpdateSignal(ConnectionType connection)
+       {
+               switch (connection) {
+               case ConnectionType::EDGE_E:       return EdjeSignal{"conn_edge_connected"};
+               case ConnectionType::GPRS_G:       return EdjeSignal{"conn_gprs_connected"};
+               case ConnectionType::SIMPLE_2G:    return EdjeSignal{"conn_2g_connected"};
+               case ConnectionType::HSDPA_H:      return EdjeSignal{"conn_hsdpa_connected"};
+               case ConnectionType::HSPA_H_PLUS:  return EdjeSignal{"conn_hspa_connected"};
+               case ConnectionType::LTE_4G:       return EdjeSignal{"conn_lte_connected"};
+               case ConnectionType::UMTS_3G:      return EdjeSignal{"conn_umts_connected"};
+               case ConnectionType::UMTS_3G_PLUS: return EdjeSignal{"conn_3g_plus_connected"};
+               case ConnectionType::WIFI_00:      return EdjeSignal{"conn_wifi_connected_00"};
+               case ConnectionType::WIFI_01:      return EdjeSignal{"conn_wifi_connected_01"};
+               case ConnectionType::WIFI_02:      return EdjeSignal{"conn_wifi_connected_02"};
+               case ConnectionType::WIFI_03:      return EdjeSignal{"conn_wifi_connected_03"};
+               case ConnectionType::WIFI_04:      return EdjeSignal{"conn_wifi_connected_04"};
+               case ConnectionType::NO_SIGNAL:    return EdjeSignal{"conn_no_signal"};
+               default:                           return EdjeSignal{"conn_none"};
+               }
+       }
+
+       EdjeSignal getPacketUpdateSignal(PacketDirection direction)
+       {
+               switch (direction) {
+               case PacketDirection::NO_INPUT:    return EdjeSignal{"packet_no_inout_connected"};
+               case PacketDirection::IN:          return EdjeSignal{"packet_in_connected"};
+               case PacketDirection::OUT:         return EdjeSignal{"packet_out_connected"};
+               case PacketDirection::INOUT:       return EdjeSignal{"packet_inout_connected"};
+               default:                           return EdjeSignal{"packet_none"};
+               }
+       }
+
+       EdjeSignal getRssiUpdateSignal(RssiState state, bool isRoaming)
+       {
+               switch (state) {
+               case RssiState::LEVEL_0:      return EdjeSignal{ isRoaming ? "rssi_roaming_00" : "rssi_00"};
+               case RssiState::LEVEL_1:      return EdjeSignal{ isRoaming ? "rssi_roaming_01" : "rssi_01"};
+               case RssiState::LEVEL_2:      return EdjeSignal{ isRoaming ? "rssi_roaming_02" : "rssi_02"};
+               case RssiState::LEVEL_3:      return EdjeSignal{ isRoaming ? "rssi_roaming_03" : "rssi_03"};
+               case RssiState::LEVEL_4:      return EdjeSignal{ isRoaming ? "rssi_roaming_04" : "rssi_04"};
+               case RssiState::NO_SIGNAL:    return EdjeSignal{"rssi_no_signal"};
+               case RssiState::FLIGHT_MODE:  return EdjeSignal{"rssi_flight_mode"};
+               default:                      return EdjeSignal{"rssi_none"};
+               }
+       }
+
+       EdjeSignal getBatteryStateUpdateSignal(BatteryState state, int battLvl)
+       {
+               switch (state) {
+               case BatteryState::CHARGING:          return EdjeSignal{"batt_state_charging"};
+               case BatteryState::CHARGING_PROBLEM:  return EdjeSignal{"batt_state_charging_problem"};
+               case BatteryState::UNKNOWN:           return EdjeSignal{"batt_state_unknown"};
+               default:
+                       if (battLvl > BATTERY_LOW_LIMIT)
+                               return EdjeSignal{"batt_state_normal"};
+                       else
+                               return EdjeSignal{"batt_state_low_battery"};
+               }
+       }
+
+       EdjeSignal getBatteryLevelUpdateSignal(int level, bool isLevelUnknown)
+       {
+               if (isLevelUnknown) {
+                        return impl::SIGL_BATT_LVL_HIDE;
+               }
+
+               auto battLvl = level;
+               if (battLvl <= BATTERY_LOW_LIMIT) {
+                       battLvl /= BATTERY_LOW_LIMIT;
+                       battLvl *= BATTERY_LOW_LIMIT;
+               } else {
+                       battLvl += BATTERY_LOW_LIMIT - 1;
+                       battLvl /= BATTERY_LOW_LIMIT;
+                       battLvl *= BATTERY_LOW_LIMIT;
+               }
+
+               if (battLvl <= BATTERY_LOW_LIMIT - 1) {
+                       return impl::SIGL_BATT_LVL_HIDE;
+               }
+               return EdjeSignal{std::string("batt_lvl_").
+                       append(std::to_string(battLvl)).
+                       c_str()};
+
+       }
+
+       EdjeSignal getSimSlotUpdateSignal(SimSlot slot, bool isForwarded)
+       {
+               switch (slot) {
+               case SimSlot::GEAR:
+                       if (isForwarded) {
+                               return EdjeSignal{"sim_gear_forwarded"};
+                       } else {
+                               return EdjeSignal{"sim_gear"};
+                       }
+               case SimSlot::MOBILE_DEFAULT: return EdjeSignal{"sim_mobile"};
+               case SimSlot::MOBILE_FIRST:   return EdjeSignal{"sim_mobile_01"};
+               case SimSlot::MOBILE_SECOND:  return EdjeSignal{"sim_mobile_02"};
+               default:                      return EdjeSignal{"sim_unknown"};
+               }
+       }
+
+}}}
+
+namespace callui {
+
+       using namespace ucl;
+
+       Indicator::Builder::Builder()
+       {
+       }
+
+       Indicator::Builder::~Builder()
+       {
+       }
+
+       Indicator::Builder &Indicator::Builder::setIndicatorStateProvider(
+                       const IIndicatorStateProviderSRef &provider)
+       {
+               m_provider = provider;
+               return *this;
+       }
+
+       IndicatorSRef Indicator::Builder::build(ucl::ElmWidget &parent) const
+       {
+               if (!m_provider) {
+                       LOG_RETURN_VALUE(RES_FAIL, {}, "Not all params are set");
+               }
+
+               auto result = makeShared<Indicator>(m_provider);
+               FAIL_RETURN_VALUE(result->prepare(parent), {},
+                               "result->prepare() failed!");
+               return result;
+       }
+
+       Indicator::Indicator(ucl::RefCountObjBase &rc,
+                       const IIndicatorStateProviderSRef &provider):
+                                       RefCountAware(&rc),
+                                       m_provider(provider)
+       {
+       }
+
+       Indicator::~Indicator()
+       {
+       }
+
+       Result Indicator::prepare(ucl::Widget &parent)
+       {
+               FAIL_RETURN(createWidget(parent),
+                               "createWidget() failed!");
+
+               FAIL_RETURN(createConnectionLayout(),
+                               "createConnectionLayout() failed!");
+
+               FAIL_RETURN(createRssiLayout(),
+                               "createRssiLayout() failed!");
+
+               FAIL_RETURN(createBatteryLayout(),
+                               "createBatteryLayout() failed!");
+
+               FAIL_RETURN(createSimLayout(),
+                               "createSimLayout() failed!");
+
+               FAIL_RETURN(createHdVoiceLayout(),
+                               "createHdCallLayout() failed!");
+
+               m_provider->setListener(asWeak(*this));
+
+               return RES_OK;
+       }
+
+       Result Indicator::createWidget(ucl::Widget &parent)
+       {
+               m_widget = Layout::Builder().
+                               setTheme(impl::LAYOUT_INDICATOR_WIDGET).
+                               setIsOwner(true).
+                               build(parent);
+               if (!m_widget) {
+                       LOG_RETURN(RES_FAIL, "Layout::build() failed!");
+               }
+
+               return RES_OK;
+       }
+
+       Result Indicator::createConnectionLayout()
+       {
+               m_connLayout = Layout::Builder().
+                               setTheme(impl::LAYOUT_CONNECTION).
+                               build(*m_widget);
+               if (!m_connLayout) {
+                       LOG_RETURN(RES_FAIL, "Layout::build() failed!");
+               }
+               m_widget->setContent(*m_connLayout, impl::PART_CONNECTION);
+
+               updateConnectionState();
+
+               return RES_OK;
+       }
+
+       Result Indicator::createRssiLayout()
+       {
+               m_rssiLayout = Layout::Builder().
+                               setTheme(impl::LAYOUT_RSSI).
+                               build(*m_widget);
+               if (!m_rssiLayout) {
+                       LOG_RETURN(RES_FAIL, "Layout::build() failed!");
+               }
+               m_widget->setContent(*m_rssiLayout, impl::PART_RSSI);
+
+               updateRssiState();
+
+               return RES_OK;
+       }
+
+       Result Indicator::createBatteryLayout()
+       {
+               m_batteryLayout = Layout::Builder().
+                               setTheme(impl::LAYOUT_BATTERY).
+                               build(*m_widget);
+               if (!m_batteryLayout) {
+                       LOG_RETURN(RES_FAIL, "Layout::build() failed!");
+               }
+               m_widget->setContent(*m_batteryLayout, impl::PART_BATTERY);
+
+               updateBatteryState();
+
+               return RES_OK;
+       }
+
+       Result Indicator::createSimLayout()
+       {
+               m_simLayout = Layout::Builder().
+                               setTheme(impl::LAYOUT_SIM).
+                               build(*m_widget);
+               if (!m_simLayout) {
+                       LOG_RETURN(RES_FAIL, "Layout::build() failed!");
+               }
+               m_widget->setContent(*m_simLayout, impl::PART_SIM);
+
+               updateSimState();
+
+               return RES_OK;
+       }
+
+       Result Indicator::createHdVoiceLayout()
+       {
+               m_hdCallLayout = Layout::Builder().
+                               setTheme(impl::LAYOUT_HD_CALL).
+                               build(*m_widget);
+               if (!m_hdCallLayout) {
+                       LOG_RETURN(RES_FAIL, "Layout::build() failed!");
+               }
+               m_widget->setContent(*m_hdCallLayout, impl::PART_HD_VOICE);
+
+               updateHdVoiceState();
+
+               return RES_OK;
+       }
+
+       void Indicator::updateConnectionState()
+       {
+               auto state = m_provider->getState(IndicatorProperty::NW_CONNECTION);
+
+               m_connLayout->emit(impl::getConnUpdateSignal(
+                               getConnectionState(state)));
+
+               m_connLayout->emit(impl::getPacketUpdateSignal(
+                               getPacketDirection(state)));
+       }
+
+       void Indicator::updateRssiState()
+       {
+               auto state = m_provider->getState(IndicatorProperty::RSSI);
+
+               m_rssiLayout->emit(impl::getRssiUpdateSignal(
+                               getRssiState(state),
+                               getRoamingState(state)));
+       }
+
+       void Indicator::updateBatteryState()
+       {
+               auto state = m_provider->getState(IndicatorProperty::BATTERY);
+               auto battState = getBatteryState(state);
+               auto battLvl = getBatteryLevel(state);
+
+               m_batteryLayout->emit(
+                               impl::getBatteryStateUpdateSignal(battState, battLvl));
+               m_batteryLayout->emit(
+                               impl::getBatteryLevelUpdateSignal(battLvl,
+                                               (battState == BatteryState::UNKNOWN)));
+       }
+
+       void Indicator::updateSimState()
+       {
+               auto state = m_provider->getState(IndicatorProperty::SIM_SLOT);
+
+               m_simLayout->emit(impl::getSimSlotUpdateSignal(
+                               getSimSlotType(state),
+                               getSimForwardState(state)));
+       }
+
+       void Indicator::updateHdVoiceState()
+       {
+               auto state = m_provider->getState(IndicatorProperty::HD_VOICE);
+               m_hdCallLayout->emit(EdjeSignal{
+                       (getHDVoiceState(state) ? "hd_voice_show" : "hd_voice_hide")});
+       }
+
+       Widget &Indicator::getWidget()
+       {
+               return *m_widget;
+       }
+
+       void Indicator::onStateChanged(IndicatorProperty property)
+       {
+               switch (property) {
+               case IndicatorProperty::NW_CONNECTION:
+                       updateConnectionState();
+                       break;
+               case IndicatorProperty::RSSI:
+                       updateRssiState();
+                       break;
+               case IndicatorProperty::BATTERY:
+                       updateBatteryState();
+                       break;
+               case IndicatorProperty::SIM_SLOT:
+                       updateSimState();
+                       break;
+               case IndicatorProperty::HD_VOICE:
+                       updateHdVoiceState();
+                       break;
+               default:
+                       ELOG("Unhandled state");
+                       return;
+               }
+       }
+
+}
index 520e35b3f5403fb7d7de51cf4b8a848c2236258b..d73755e5f90d64ae849f609c068741e8fc3644f7 100644 (file)
@@ -25,7 +25,9 @@
 #include "model/IActiveCall.h"
 #include "model/IHeldCall.h"
 #include "model/IEndCall.h"
+#include "model/IIndicatorStateProvider.h"
 
+#include "presenters/Indicator.h"
 #include "presenters/AcceptRejectPresenter.h"
 
 #include "common.h"
@@ -37,6 +39,7 @@ namespace callui { namespace { namespace impl {
        constexpr LayoutTheme LAYOUT_MAIN_WIDGET
                        {"layout", "callui", "main"};
 
+       constexpr EdjePart PART_SWL_INDICATOR {"swl.indicator"};
        constexpr EdjePart PART_SWL_ACCEPT_REJECT {"swl.accept_reject"};
 }}}
 
@@ -118,6 +121,14 @@ namespace callui {
                        LOG_RETURN(RES_FAIL, "Layout::build() failed!");
                }
 
+               m_indicator = Indicator::Builder().
+                               setIndicatorStateProvider(m_call->getIndicatorStateProvider()).
+                               build(*m_widget);
+               if (!m_indicator) {
+                       LOG_RETURN(RES_FAIL, "Indicator::build() failed!");
+               }
+               m_widget->setContent(m_indicator->getWidget().getEo(), impl::PART_SWL_INDICATOR);
+
                return Page::prepare([this]() {
                        return getNaviframe().
                                        push(*m_widget);