diff --git a/res/drawable-xhdpi/avatar_shadow.png b/res/drawable-xhdpi/avatar_shadow.png deleted file mode 100644 index 7a8aac483..000000000 Binary files a/res/drawable-xhdpi/avatar_shadow.png and /dev/null differ diff --git a/res/drawable-xhdpi/avatar_shadow_left.png b/res/drawable-xhdpi/avatar_shadow_left.png deleted file mode 100644 index a8733f7a0..000000000 Binary files a/res/drawable-xhdpi/avatar_shadow_left.png and /dev/null differ diff --git a/res/drawable-xhdpi/avatar_shadow_right.png b/res/drawable-xhdpi/avatar_shadow_right.png deleted file mode 100644 index 96c8327bf..000000000 Binary files a/res/drawable-xhdpi/avatar_shadow_right.png and /dev/null differ diff --git a/res/drawable-xhdpi/back_default.png b/res/drawable-xhdpi/back_default.png deleted file mode 100644 index d7088080a..000000000 Binary files a/res/drawable-xhdpi/back_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/back_disabled.png b/res/drawable-xhdpi/back_disabled.png deleted file mode 100644 index d6e641fa5..000000000 Binary files a/res/drawable-xhdpi/back_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/back_over.png b/res/drawable-xhdpi/back_over.png deleted file mode 100644 index d06321994..000000000 Binary files a/res/drawable-xhdpi/back_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/button_alert_background_default.9.png b/res/drawable-xhdpi/button_alert_background_default.9.png deleted file mode 100644 index b8857340d..000000000 Binary files a/res/drawable-xhdpi/button_alert_background_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/button_alert_background_over.9.png b/res/drawable-xhdpi/button_alert_background_over.9.png deleted file mode 100644 index f42b202ff..000000000 Binary files a/res/drawable-xhdpi/button_alert_background_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/button_background_default.9.png b/res/drawable-xhdpi/button_background_default.9.png deleted file mode 100644 index c19f88e0b..000000000 Binary files a/res/drawable-xhdpi/button_background_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/button_background_over.9.png b/res/drawable-xhdpi/button_background_over.9.png deleted file mode 100644 index 4c66f4a93..000000000 Binary files a/res/drawable-xhdpi/button_background_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_answer_default.png b/res/drawable-xhdpi/call_answer_default.png deleted file mode 100644 index 56cd9d677..000000000 Binary files a/res/drawable-xhdpi/call_answer_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_answer_over.png b/res/drawable-xhdpi/call_answer_over.png deleted file mode 100644 index ea860d42c..000000000 Binary files a/res/drawable-xhdpi/call_answer_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_default.png b/res/drawable-xhdpi/call_default.png deleted file mode 100644 index fc2792247..000000000 Binary files a/res/drawable-xhdpi/call_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_disabled.png b/res/drawable-xhdpi/call_disabled.png deleted file mode 100644 index 5600f1945..000000000 Binary files a/res/drawable-xhdpi/call_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_over.png b/res/drawable-xhdpi/call_over.png deleted file mode 100644 index 9cbf18c60..000000000 Binary files a/res/drawable-xhdpi/call_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_refused_icon.png b/res/drawable-xhdpi/call_refused_icon.png deleted file mode 100644 index 084515cfe..000000000 Binary files a/res/drawable-xhdpi/call_refused_icon.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_refused_icon_over.png b/res/drawable-xhdpi/call_refused_icon_over.png deleted file mode 100644 index c821dc13b..000000000 Binary files a/res/drawable-xhdpi/call_refused_icon_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_state_delete_default.png b/res/drawable-xhdpi/call_state_delete_default.png deleted file mode 100644 index 8c1843de8..000000000 Binary files a/res/drawable-xhdpi/call_state_delete_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_state_delete_over.png b/res/drawable-xhdpi/call_state_delete_over.png deleted file mode 100644 index bc01f8f5d..000000000 Binary files a/res/drawable-xhdpi/call_state_delete_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_state_outgoing_default.png b/res/drawable-xhdpi/call_state_outgoing_default.png deleted file mode 100644 index ca1f8f99b..000000000 Binary files a/res/drawable-xhdpi/call_state_outgoing_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/call_state_ringing_default.png b/res/drawable-xhdpi/call_state_ringing_default.png deleted file mode 100644 index f7314e148..000000000 Binary files a/res/drawable-xhdpi/call_state_ringing_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/cell_background.png b/res/drawable-xhdpi/cell_background.png deleted file mode 100644 index 5ca0934fb..000000000 Binary files a/res/drawable-xhdpi/cell_background.png and /dev/null differ diff --git a/res/drawable-xhdpi/cell_call.png b/res/drawable-xhdpi/cell_call.png deleted file mode 100644 index f4fd83b8f..000000000 Binary files a/res/drawable-xhdpi/cell_call.png and /dev/null differ diff --git a/res/drawable-xhdpi/cell_call_first.png b/res/drawable-xhdpi/cell_call_first.png deleted file mode 100644 index 17b55ffef..000000000 Binary files a/res/drawable-xhdpi/cell_call_first.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_back_default.9.png b/res/drawable-xhdpi/chat_back_default.9.png deleted file mode 100644 index 0979d7605..000000000 Binary files a/res/drawable-xhdpi/chat_back_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_back_over.9.png b/res/drawable-xhdpi/chat_back_over.9.png deleted file mode 100644 index 841fb620d..000000000 Binary files a/res/drawable-xhdpi/chat_back_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_background.png b/res/drawable-xhdpi/chat_background.png deleted file mode 100644 index 8a28fcd3b..000000000 Binary files a/res/drawable-xhdpi/chat_background.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_bubble_incoming.9.png b/res/drawable-xhdpi/chat_bubble_incoming.9.png deleted file mode 100644 index 68ef2b302..000000000 Binary files a/res/drawable-xhdpi/chat_bubble_incoming.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_bubble_outgoing.9.png b/res/drawable-xhdpi/chat_bubble_outgoing.9.png deleted file mode 100644 index 1aa640f8c..000000000 Binary files a/res/drawable-xhdpi/chat_bubble_outgoing.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_default.png b/res/drawable-xhdpi/chat_default.png deleted file mode 100644 index bcd5e9621..000000000 Binary files a/res/drawable-xhdpi/chat_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_edit_default.9.png b/res/drawable-xhdpi/chat_edit_default.9.png deleted file mode 100644 index 9a248d7f0..000000000 Binary files a/res/drawable-xhdpi/chat_edit_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_edit_over.9.png b/res/drawable-xhdpi/chat_edit_over.9.png deleted file mode 100644 index 46f206543..000000000 Binary files a/res/drawable-xhdpi/chat_edit_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_fast_address_background.9.png b/res/drawable-xhdpi/chat_fast_address_background.9.png deleted file mode 100644 index 93e5257f5..000000000 Binary files a/res/drawable-xhdpi/chat_fast_address_background.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_field_background.9.png b/res/drawable-xhdpi/chat_field_background.9.png deleted file mode 100644 index 5c406644c..000000000 Binary files a/res/drawable-xhdpi/chat_field_background.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_icon_over.png b/res/drawable-xhdpi/chat_icon_over.png deleted file mode 100644 index 6644f4f98..000000000 Binary files a/res/drawable-xhdpi/chat_icon_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_new_default.9.png b/res/drawable-xhdpi/chat_new_default.9.png deleted file mode 100644 index 5d082362d..000000000 Binary files a/res/drawable-xhdpi/chat_new_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_new_over.9.png b/res/drawable-xhdpi/chat_new_over.9.png deleted file mode 100644 index 3dedc532b..000000000 Binary files a/res/drawable-xhdpi/chat_new_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_ok_default.9.png b/res/drawable-xhdpi/chat_ok_default.9.png deleted file mode 100644 index 3d5c1bd66..000000000 Binary files a/res/drawable-xhdpi/chat_ok_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_ok_over.9.png b/res/drawable-xhdpi/chat_ok_over.9.png deleted file mode 100644 index 173a68908..000000000 Binary files a/res/drawable-xhdpi/chat_ok_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_over.png b/res/drawable-xhdpi/chat_over.png deleted file mode 100644 index 08bbb3345..000000000 Binary files a/res/drawable-xhdpi/chat_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_selected.png b/res/drawable-xhdpi/chat_selected.png deleted file mode 100644 index 9b1eed184..000000000 Binary files a/res/drawable-xhdpi/chat_selected.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_send_disabled.png b/res/drawable-xhdpi/chat_send_disabled.png deleted file mode 100644 index 75b831602..000000000 Binary files a/res/drawable-xhdpi/chat_send_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_stop_upload_default.png b/res/drawable-xhdpi/chat_stop_upload_default.png deleted file mode 100644 index b5e87a2e1..000000000 Binary files a/res/drawable-xhdpi/chat_stop_upload_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/chat_stop_upload_over.png b/res/drawable-xhdpi/chat_stop_upload_over.png deleted file mode 100644 index 5d2abd3f8..000000000 Binary files a/res/drawable-xhdpi/chat_stop_upload_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/conference_default.png b/res/drawable-xhdpi/conference_default.png deleted file mode 100644 index ca03a9940..000000000 Binary files a/res/drawable-xhdpi/conference_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/conference_over.png b/res/drawable-xhdpi/conference_over.png deleted file mode 100644 index 6446f9dea..000000000 Binary files a/res/drawable-xhdpi/conference_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_add_default.9.png b/res/drawable-xhdpi/contact_add_default.9.png deleted file mode 100644 index 11144e8f8..000000000 Binary files a/res/drawable-xhdpi/contact_add_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_add_over.9.png b/res/drawable-xhdpi/contact_add_over.9.png deleted file mode 100644 index ac5c3f018..000000000 Binary files a/res/drawable-xhdpi/contact_add_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_cancel_default.9.png b/res/drawable-xhdpi/contact_cancel_default.9.png deleted file mode 100644 index 16d416922..000000000 Binary files a/res/drawable-xhdpi/contact_cancel_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_cancel_over.9.png b/res/drawable-xhdpi/contact_cancel_over.9.png deleted file mode 100644 index 6f4b52aba..000000000 Binary files a/res/drawable-xhdpi/contact_cancel_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_delete_default.9.png b/res/drawable-xhdpi/contact_delete_default.9.png deleted file mode 100644 index 993639f69..000000000 Binary files a/res/drawable-xhdpi/contact_delete_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_delete_over.9.png b/res/drawable-xhdpi/contact_delete_over.9.png deleted file mode 100644 index bf0fdcd75..000000000 Binary files a/res/drawable-xhdpi/contact_delete_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_edit_default.9.png b/res/drawable-xhdpi/contact_edit_default.9.png deleted file mode 100644 index 41e20f67a..000000000 Binary files a/res/drawable-xhdpi/contact_edit_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_edit_over.9.png b/res/drawable-xhdpi/contact_edit_over.9.png deleted file mode 100644 index de5862e7e..000000000 Binary files a/res/drawable-xhdpi/contact_edit_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_ok_default.9.png b/res/drawable-xhdpi/contact_ok_default.9.png deleted file mode 100644 index 3d5c1bd66..000000000 Binary files a/res/drawable-xhdpi/contact_ok_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_ok_disabled.9.png b/res/drawable-xhdpi/contact_ok_disabled.9.png deleted file mode 100644 index c2b480881..000000000 Binary files a/res/drawable-xhdpi/contact_ok_disabled.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contact_ok_over.9.png b/res/drawable-xhdpi/contact_ok_over.9.png deleted file mode 100644 index 173a68908..000000000 Binary files a/res/drawable-xhdpi/contact_ok_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contacts_add_default.9.png b/res/drawable-xhdpi/contacts_add_default.9.png deleted file mode 100644 index e2cb849eb..000000000 Binary files a/res/drawable-xhdpi/contacts_add_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contacts_add_over.9.png b/res/drawable-xhdpi/contacts_add_over.9.png deleted file mode 100644 index c9ac5132c..000000000 Binary files a/res/drawable-xhdpi/contacts_add_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/contacts_default.png b/res/drawable-xhdpi/contacts_default.png deleted file mode 100644 index a6d96b10d..000000000 Binary files a/res/drawable-xhdpi/contacts_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/contacts_over.png b/res/drawable-xhdpi/contacts_over.png deleted file mode 100644 index e6a8994ff..000000000 Binary files a/res/drawable-xhdpi/contacts_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/contacts_selected.png b/res/drawable-xhdpi/contacts_selected.png deleted file mode 100644 index a304e6edb..000000000 Binary files a/res/drawable-xhdpi/contacts_selected.png and /dev/null differ diff --git a/res/drawable-xhdpi/delete_default.png b/res/drawable-xhdpi/delete_default.png deleted file mode 100644 index 8c1843de8..000000000 Binary files a/res/drawable-xhdpi/delete_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/delete_over.png b/res/drawable-xhdpi/delete_over.png deleted file mode 100644 index bc01f8f5d..000000000 Binary files a/res/drawable-xhdpi/delete_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_address_background.png b/res/drawable-xhdpi/dialer_address_background.png deleted file mode 100644 index 0751263e1..000000000 Binary files a/res/drawable-xhdpi/dialer_address_background.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_alt_back_default.png b/res/drawable-xhdpi/dialer_alt_back_default.png deleted file mode 100644 index bacd50f44..000000000 Binary files a/res/drawable-xhdpi/dialer_alt_back_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_alt_back_over.png b/res/drawable-xhdpi/dialer_alt_back_over.png deleted file mode 100644 index 3e3a6dfd2..000000000 Binary files a/res/drawable-xhdpi/dialer_alt_back_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_alt_default.png b/res/drawable-xhdpi/dialer_alt_default.png deleted file mode 100644 index 43d512c04..000000000 Binary files a/res/drawable-xhdpi/dialer_alt_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_alt_disabled.png b/res/drawable-xhdpi/dialer_alt_disabled.png deleted file mode 100644 index d85d7fa76..000000000 Binary files a/res/drawable-xhdpi/dialer_alt_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_alt_over.png b/res/drawable-xhdpi/dialer_alt_over.png deleted file mode 100644 index 28567955d..000000000 Binary files a/res/drawable-xhdpi/dialer_alt_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_default.png b/res/drawable-xhdpi/dialer_default.png deleted file mode 100644 index 6d1957b1a..000000000 Binary files a/res/drawable-xhdpi/dialer_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_over.png b/res/drawable-xhdpi/dialer_over.png deleted file mode 100644 index 13b5f34ab..000000000 Binary files a/res/drawable-xhdpi/dialer_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/dialer_selected.png b/res/drawable-xhdpi/dialer_selected.png deleted file mode 100644 index 47b0c03b6..000000000 Binary files a/res/drawable-xhdpi/dialer_selected.png and /dev/null differ diff --git a/res/drawable-xhdpi/friend_add.png b/res/drawable-xhdpi/friend_add.png deleted file mode 100644 index 4310ce0d3..000000000 Binary files a/res/drawable-xhdpi/friend_add.png and /dev/null differ diff --git a/res/drawable-xhdpi/friend_remove.png b/res/drawable-xhdpi/friend_remove.png deleted file mode 100644 index a1643de5d..000000000 Binary files a/res/drawable-xhdpi/friend_remove.png and /dev/null differ diff --git a/res/drawable-xhdpi/hangup_default.png b/res/drawable-xhdpi/hangup_default.png deleted file mode 100644 index c84ea15b2..000000000 Binary files a/res/drawable-xhdpi/hangup_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/hangup_over.png b/res/drawable-xhdpi/hangup_over.png deleted file mode 100644 index 2c95c5c1a..000000000 Binary files a/res/drawable-xhdpi/hangup_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_default.png b/res/drawable-xhdpi/history_default.png deleted file mode 100644 index 0442b1472..000000000 Binary files a/res/drawable-xhdpi/history_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_delete_default.9.png b/res/drawable-xhdpi/history_delete_default.9.png deleted file mode 100644 index 993639f69..000000000 Binary files a/res/drawable-xhdpi/history_delete_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_delete_over.9.png b/res/drawable-xhdpi/history_delete_over.9.png deleted file mode 100644 index bf0fdcd75..000000000 Binary files a/res/drawable-xhdpi/history_delete_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_edit_default.9.png b/res/drawable-xhdpi/history_edit_default.9.png deleted file mode 100644 index fe278fb4a..000000000 Binary files a/res/drawable-xhdpi/history_edit_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_edit_over.9.png b/res/drawable-xhdpi/history_edit_over.9.png deleted file mode 100644 index 2211f8c5b..000000000 Binary files a/res/drawable-xhdpi/history_edit_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_ok_default.9.png b/res/drawable-xhdpi/history_ok_default.9.png deleted file mode 100644 index 841d047f2..000000000 Binary files a/res/drawable-xhdpi/history_ok_default.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_ok_over.9.png b/res/drawable-xhdpi/history_ok_over.9.png deleted file mode 100644 index 7db24a575..000000000 Binary files a/res/drawable-xhdpi/history_ok_over.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_over.png b/res/drawable-xhdpi/history_over.png deleted file mode 100644 index f2f973f84..000000000 Binary files a/res/drawable-xhdpi/history_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/history_selected.png b/res/drawable-xhdpi/history_selected.png deleted file mode 100644 index dd14c83dc..000000000 Binary files a/res/drawable-xhdpi/history_selected.png and /dev/null differ diff --git a/res/drawable-xhdpi/list_add_default.png b/res/drawable-xhdpi/list_add_default.png deleted file mode 100644 index a87ba0390..000000000 Binary files a/res/drawable-xhdpi/list_add_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/list_add_over.png b/res/drawable-xhdpi/list_add_over.png deleted file mode 100644 index 9bacc9d12..000000000 Binary files a/res/drawable-xhdpi/list_add_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/list_delete_default.png b/res/drawable-xhdpi/list_delete_default.png deleted file mode 100644 index ef1ae410e..000000000 Binary files a/res/drawable-xhdpi/list_delete_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/list_delete_over.png b/res/drawable-xhdpi/list_delete_over.png deleted file mode 100644 index ec9522b3b..000000000 Binary files a/res/drawable-xhdpi/list_delete_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/mark.png b/res/drawable-xhdpi/mark.png deleted file mode 100644 index 1d6bf7550..000000000 Binary files a/res/drawable-xhdpi/mark.png and /dev/null differ diff --git a/res/drawable-xhdpi/micro_off_default.png b/res/drawable-xhdpi/micro_off_default.png deleted file mode 100644 index a877f654c..000000000 Binary files a/res/drawable-xhdpi/micro_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/micro_off_disabled.png b/res/drawable-xhdpi/micro_off_disabled.png deleted file mode 100644 index 4baf0de70..000000000 Binary files a/res/drawable-xhdpi/micro_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/micro_off_over.png b/res/drawable-xhdpi/micro_off_over.png deleted file mode 100644 index 8663a11ef..000000000 Binary files a/res/drawable-xhdpi/micro_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/micro_on_default.png b/res/drawable-xhdpi/micro_on_default.png deleted file mode 100644 index 8c73609fe..000000000 Binary files a/res/drawable-xhdpi/micro_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/micro_on_disabled.png b/res/drawable-xhdpi/micro_on_disabled.png deleted file mode 100644 index 35fb4bfeb..000000000 Binary files a/res/drawable-xhdpi/micro_on_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/micro_on_over.png b/res/drawable-xhdpi/micro_on_over.png deleted file mode 100644 index 96f645d52..000000000 Binary files a/res/drawable-xhdpi/micro_on_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/ok_default.png b/res/drawable-xhdpi/ok_default.png deleted file mode 100644 index 7fb188033..000000000 Binary files a/res/drawable-xhdpi/ok_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/ok_over.png b/res/drawable-xhdpi/ok_over.png deleted file mode 100644 index 51411d7db..000000000 Binary files a/res/drawable-xhdpi/ok_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_add_default.png b/res/drawable-xhdpi/options_add_default.png deleted file mode 100644 index 06e0fd2c0..000000000 Binary files a/res/drawable-xhdpi/options_add_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_add_default_alt.png b/res/drawable-xhdpi/options_add_default_alt.png deleted file mode 100644 index 8fd635c9c..000000000 Binary files a/res/drawable-xhdpi/options_add_default_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_add_disabled.png b/res/drawable-xhdpi/options_add_disabled.png deleted file mode 100644 index 613b91a2b..000000000 Binary files a/res/drawable-xhdpi/options_add_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_add_disabled_alt.png b/res/drawable-xhdpi/options_add_disabled_alt.png deleted file mode 100644 index 554e277bc..000000000 Binary files a/res/drawable-xhdpi/options_add_disabled_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_add_over.png b/res/drawable-xhdpi/options_add_over.png deleted file mode 100644 index d7b50ebd5..000000000 Binary files a/res/drawable-xhdpi/options_add_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_add_over_alt.png b/res/drawable-xhdpi/options_add_over_alt.png deleted file mode 100644 index 878f04cd4..000000000 Binary files a/res/drawable-xhdpi/options_add_over_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_default_alt.png b/res/drawable-xhdpi/options_default_alt.png deleted file mode 100644 index 766cc5458..000000000 Binary files a/res/drawable-xhdpi/options_default_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_disabled.png b/res/drawable-xhdpi/options_disabled.png deleted file mode 100644 index 307775b8b..000000000 Binary files a/res/drawable-xhdpi/options_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_disabled_alt.png b/res/drawable-xhdpi/options_disabled_alt.png deleted file mode 100644 index bee08216c..000000000 Binary files a/res/drawable-xhdpi/options_disabled_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_over.png b/res/drawable-xhdpi/options_over.png deleted file mode 100644 index bbad96627..000000000 Binary files a/res/drawable-xhdpi/options_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_over_alt.png b/res/drawable-xhdpi/options_over_alt.png deleted file mode 100644 index e229a55b2..000000000 Binary files a/res/drawable-xhdpi/options_over_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_selected_alt.png b/res/drawable-xhdpi/options_selected_alt.png deleted file mode 100644 index b737d7e74..000000000 Binary files a/res/drawable-xhdpi/options_selected_alt.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_transfer_default.png b/res/drawable-xhdpi/options_transfer_default.png deleted file mode 100644 index 9310c63ea..000000000 Binary files a/res/drawable-xhdpi/options_transfer_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_transfer_disabled.png b/res/drawable-xhdpi/options_transfer_disabled.png deleted file mode 100644 index c40943bf1..000000000 Binary files a/res/drawable-xhdpi/options_transfer_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/options_transfer_over.png b/res/drawable-xhdpi/options_transfer_over.png deleted file mode 100644 index 4101ba4b5..000000000 Binary files a/res/drawable-xhdpi/options_transfer_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_default.png b/res/drawable-xhdpi/pause_default.png deleted file mode 100644 index 0ca4db8c1..000000000 Binary files a/res/drawable-xhdpi/pause_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_off_default.png b/res/drawable-xhdpi/pause_off_default.png deleted file mode 100644 index c6bf04de7..000000000 Binary files a/res/drawable-xhdpi/pause_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_off_disabled.png b/res/drawable-xhdpi/pause_off_disabled.png deleted file mode 100644 index f6fc66b3c..000000000 Binary files a/res/drawable-xhdpi/pause_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_off_over.png b/res/drawable-xhdpi/pause_off_over.png deleted file mode 100644 index 7289286c2..000000000 Binary files a/res/drawable-xhdpi/pause_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_on_default.png b/res/drawable-xhdpi/pause_on_default.png deleted file mode 100644 index f6c266768..000000000 Binary files a/res/drawable-xhdpi/pause_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_on_over.png b/res/drawable-xhdpi/pause_on_over.png deleted file mode 100644 index 8268d1f8a..000000000 Binary files a/res/drawable-xhdpi/pause_on_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/pause_over.png b/res/drawable-xhdpi/pause_over.png deleted file mode 100644 index a2a15e52b..000000000 Binary files a/res/drawable-xhdpi/pause_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/play_default.png b/res/drawable-xhdpi/play_default.png deleted file mode 100644 index cf455e337..000000000 Binary files a/res/drawable-xhdpi/play_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/play_over.png b/res/drawable-xhdpi/play_over.png deleted file mode 100644 index 42d81a845..000000000 Binary files a/res/drawable-xhdpi/play_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/resizable_cancel_button.9.png b/res/drawable-xhdpi/resizable_cancel_button.9.png index 8196d14a3..8923cf47a 100644 Binary files a/res/drawable-xhdpi/resizable_cancel_button.9.png and b/res/drawable-xhdpi/resizable_cancel_button.9.png differ diff --git a/res/drawable-xhdpi/resizable_chat_bubble_incoming.9.png b/res/drawable-xhdpi/resizable_chat_bubble_incoming.9.png index f6f045046..bea2e407d 100644 Binary files a/res/drawable-xhdpi/resizable_chat_bubble_incoming.9.png and b/res/drawable-xhdpi/resizable_chat_bubble_incoming.9.png differ diff --git a/res/drawable-xhdpi/resizable_chat_bubble_outgoing.9.png b/res/drawable-xhdpi/resizable_chat_bubble_outgoing.9.png index 346a8caac..7269579cf 100644 Binary files a/res/drawable-xhdpi/resizable_chat_bubble_outgoing.9.png and b/res/drawable-xhdpi/resizable_chat_bubble_outgoing.9.png differ diff --git a/res/drawable-xhdpi/routes_bluetooth_off_default.png b/res/drawable-xhdpi/routes_bluetooth_off_default.png deleted file mode 100644 index fa4c9417e..000000000 Binary files a/res/drawable-xhdpi/routes_bluetooth_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_bluetooth_off_disabled.png b/res/drawable-xhdpi/routes_bluetooth_off_disabled.png deleted file mode 100644 index 67dedd040..000000000 Binary files a/res/drawable-xhdpi/routes_bluetooth_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_bluetooth_off_over.png b/res/drawable-xhdpi/routes_bluetooth_off_over.png deleted file mode 100644 index a4c2eec95..000000000 Binary files a/res/drawable-xhdpi/routes_bluetooth_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_bluetooth_on_default.png b/res/drawable-xhdpi/routes_bluetooth_on_default.png deleted file mode 100644 index 346db2f9e..000000000 Binary files a/res/drawable-xhdpi/routes_bluetooth_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_bluetooth_on_disabled.png b/res/drawable-xhdpi/routes_bluetooth_on_disabled.png deleted file mode 100644 index d230b127d..000000000 Binary files a/res/drawable-xhdpi/routes_bluetooth_on_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_bluetooth_on_over.png b/res/drawable-xhdpi/routes_bluetooth_on_over.png deleted file mode 100644 index 68a2ec19a..000000000 Binary files a/res/drawable-xhdpi/routes_bluetooth_on_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_default.png b/res/drawable-xhdpi/routes_default.png deleted file mode 100644 index a0502e293..000000000 Binary files a/res/drawable-xhdpi/routes_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_disabled.png b/res/drawable-xhdpi/routes_disabled.png deleted file mode 100644 index aa54e1ab5..000000000 Binary files a/res/drawable-xhdpi/routes_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_over.png b/res/drawable-xhdpi/routes_over.png deleted file mode 100644 index c6e555a46..000000000 Binary files a/res/drawable-xhdpi/routes_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_phone_off_default.png b/res/drawable-xhdpi/routes_phone_off_default.png deleted file mode 100644 index dccec9086..000000000 Binary files a/res/drawable-xhdpi/routes_phone_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_phone_off_disabled.png b/res/drawable-xhdpi/routes_phone_off_disabled.png deleted file mode 100644 index 9aafeeca9..000000000 Binary files a/res/drawable-xhdpi/routes_phone_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_phone_off_over.png b/res/drawable-xhdpi/routes_phone_off_over.png deleted file mode 100644 index 72b5021f2..000000000 Binary files a/res/drawable-xhdpi/routes_phone_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_phone_on_default.png b/res/drawable-xhdpi/routes_phone_on_default.png deleted file mode 100644 index c82423761..000000000 Binary files a/res/drawable-xhdpi/routes_phone_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_phone_on_disabled.png b/res/drawable-xhdpi/routes_phone_on_disabled.png deleted file mode 100644 index a4787ecee..000000000 Binary files a/res/drawable-xhdpi/routes_phone_on_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_phone_on_over.png b/res/drawable-xhdpi/routes_phone_on_over.png deleted file mode 100644 index c7e5ff1c8..000000000 Binary files a/res/drawable-xhdpi/routes_phone_on_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_selected.png b/res/drawable-xhdpi/routes_selected.png deleted file mode 100644 index 88196d339..000000000 Binary files a/res/drawable-xhdpi/routes_selected.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_speaker_off_default.png b/res/drawable-xhdpi/routes_speaker_off_default.png deleted file mode 100644 index f641aca07..000000000 Binary files a/res/drawable-xhdpi/routes_speaker_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_speaker_off_disabled.png b/res/drawable-xhdpi/routes_speaker_off_disabled.png deleted file mode 100644 index 3565c0fe2..000000000 Binary files a/res/drawable-xhdpi/routes_speaker_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_speaker_off_over.png b/res/drawable-xhdpi/routes_speaker_off_over.png deleted file mode 100644 index a3bd8ee47..000000000 Binary files a/res/drawable-xhdpi/routes_speaker_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_speaker_on_default.png b/res/drawable-xhdpi/routes_speaker_on_default.png deleted file mode 100644 index 194e34896..000000000 Binary files a/res/drawable-xhdpi/routes_speaker_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_speaker_on_disabled.png b/res/drawable-xhdpi/routes_speaker_on_disabled.png deleted file mode 100644 index 402b7de14..000000000 Binary files a/res/drawable-xhdpi/routes_speaker_on_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/routes_speaker_on_over.png b/res/drawable-xhdpi/routes_speaker_on_over.png deleted file mode 100644 index e32ad0941..000000000 Binary files a/res/drawable-xhdpi/routes_speaker_on_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/settings_default.png b/res/drawable-xhdpi/settings_default.png deleted file mode 100644 index 97b0ba031..000000000 Binary files a/res/drawable-xhdpi/settings_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/settings_over.png b/res/drawable-xhdpi/settings_over.png deleted file mode 100644 index 0cabe2002..000000000 Binary files a/res/drawable-xhdpi/settings_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/settings_selected.png b/res/drawable-xhdpi/settings_selected.png deleted file mode 100644 index 790153366..000000000 Binary files a/res/drawable-xhdpi/settings_selected.png and /dev/null differ diff --git a/res/drawable-xhdpi/slider_left.9.png b/res/drawable-xhdpi/slider_left.9.png deleted file mode 100644 index 2bdb7ae6e..000000000 Binary files a/res/drawable-xhdpi/slider_left.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/slider_right.9.png b/res/drawable-xhdpi/slider_right.9.png deleted file mode 100644 index d0a8f1670..000000000 Binary files a/res/drawable-xhdpi/slider_right.9.png and /dev/null differ diff --git a/res/drawable-xhdpi/speaker_off_default.png b/res/drawable-xhdpi/speaker_off_default.png deleted file mode 100644 index 43f95c20f..000000000 Binary files a/res/drawable-xhdpi/speaker_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/speaker_off_disabled.png b/res/drawable-xhdpi/speaker_off_disabled.png deleted file mode 100644 index 440af308e..000000000 Binary files a/res/drawable-xhdpi/speaker_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/speaker_off_over.png b/res/drawable-xhdpi/speaker_off_over.png deleted file mode 100644 index 0b42163d2..000000000 Binary files a/res/drawable-xhdpi/speaker_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/speaker_on_default.png b/res/drawable-xhdpi/speaker_on_default.png deleted file mode 100644 index ffc9d1763..000000000 Binary files a/res/drawable-xhdpi/speaker_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/speaker_on_disabled.png b/res/drawable-xhdpi/speaker_on_disabled.png deleted file mode 100644 index 1869a1327..000000000 Binary files a/res/drawable-xhdpi/speaker_on_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/speaker_on_over.png b/res/drawable-xhdpi/speaker_on_over.png deleted file mode 100644 index adc72500d..000000000 Binary files a/res/drawable-xhdpi/speaker_on_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/toolsbar_background.png b/res/drawable-xhdpi/toolsbar_background.png deleted file mode 100644 index 814c07993..000000000 Binary files a/res/drawable-xhdpi/toolsbar_background.png and /dev/null differ diff --git a/res/drawable-xhdpi/transfer_call_default.png b/res/drawable-xhdpi/transfer_call_default.png deleted file mode 100644 index b67e4509e..000000000 Binary files a/res/drawable-xhdpi/transfer_call_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/transfer_call_disabled.png b/res/drawable-xhdpi/transfer_call_disabled.png deleted file mode 100644 index 0307f6bf8..000000000 Binary files a/res/drawable-xhdpi/transfer_call_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/transfer_call_over.png b/res/drawable-xhdpi/transfer_call_over.png deleted file mode 100644 index 9f3e9ac36..000000000 Binary files a/res/drawable-xhdpi/transfer_call_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/unknown_small.png b/res/drawable-xhdpi/unknown_small.png deleted file mode 100644 index 143da1512..000000000 Binary files a/res/drawable-xhdpi/unknown_small.png and /dev/null differ diff --git a/res/drawable-xhdpi/video_off_default.png b/res/drawable-xhdpi/video_off_default.png deleted file mode 100644 index 088412bd7..000000000 Binary files a/res/drawable-xhdpi/video_off_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/video_off_disabled.png b/res/drawable-xhdpi/video_off_disabled.png deleted file mode 100644 index cccfe8d25..000000000 Binary files a/res/drawable-xhdpi/video_off_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/video_off_over.png b/res/drawable-xhdpi/video_off_over.png deleted file mode 100644 index b4bb25bda..000000000 Binary files a/res/drawable-xhdpi/video_off_over.png and /dev/null differ diff --git a/res/drawable-xhdpi/video_on_default.png b/res/drawable-xhdpi/video_on_default.png deleted file mode 100644 index 5c852ac03..000000000 Binary files a/res/drawable-xhdpi/video_on_default.png and /dev/null differ diff --git a/res/drawable-xhdpi/video_on_disabled.png b/res/drawable-xhdpi/video_on_disabled.png deleted file mode 100644 index bdfcbe8f6..000000000 Binary files a/res/drawable-xhdpi/video_on_disabled.png and /dev/null differ diff --git a/res/drawable-xhdpi/video_on_over.png b/res/drawable-xhdpi/video_on_over.png deleted file mode 100644 index 13dd3546e..000000000 Binary files a/res/drawable-xhdpi/video_on_over.png and /dev/null differ diff --git a/res/drawable/chat_send_message.xml b/res/drawable/chat_send_message.xml index 3336f7499..2a8bb6a57 100644 --- a/res/drawable/chat_send_message.xml +++ b/res/drawable/chat_send_message.xml @@ -3,7 +3,7 @@ + android:drawable="@drawable/chat_send_default" /> diff --git a/res/drawable/contacts_all.xml b/res/drawable/contacts_all.xml index 05ec72821..2e9d33e73 100644 --- a/res/drawable/contacts_all.xml +++ b/res/drawable/contacts_all.xml @@ -1,7 +1,7 @@ + android:drawable="@drawable/contacts_all_default" /> diff --git a/res/drawable/contacts_sip.xml b/res/drawable/contacts_sip.xml index b20a08b18..089d67756 100644 --- a/res/drawable/contacts_sip.xml +++ b/res/drawable/contacts_sip.xml @@ -1,7 +1,7 @@ + android:drawable="@drawable/contacts_sip_default" /> + android:drawable="@drawable/contacts_sip_selected" /> \ No newline at end of file diff --git a/res/drawable/footer_button.xml b/res/drawable/footer_button.xml index 6eb3fdfd3..5c70ab6a6 100644 --- a/res/drawable/footer_button.xml +++ b/res/drawable/footer_button.xml @@ -4,6 +4,7 @@ android:drawable="@color/footer_select" /> + diff --git a/res/drawable/history_all.xml b/res/drawable/history_all.xml index a4c887d87..2a20b0e07 100644 --- a/res/drawable/history_all.xml +++ b/res/drawable/history_all.xml @@ -1,7 +1,7 @@ + android:drawable="@drawable/history_all_default"/> diff --git a/res/drawable/list_delete.xml b/res/drawable/list_delete.xml index e8c034ea1..d453abfd5 100644 --- a/res/drawable/list_delete.xml +++ b/res/drawable/list_delete.xml @@ -1,7 +1,7 @@ + android:drawable="@drawable/delete_field_over" /> + android:drawable="@drawable/delete_field_default" /> diff --git a/res/drawable/list_detail.xml b/res/drawable/list_detail.xml index 90a37d7ef..e088af629 100644 --- a/res/drawable/list_detail.xml +++ b/res/drawable/list_detail.xml @@ -1,7 +1,7 @@ + android:drawable="@drawable/list_details_default" /> diff --git a/res/drawable/list_selector.xml b/res/drawable/list_selector.xml index 7ae5b7b7a..f17421a43 100644 --- a/res/drawable/list_selector.xml +++ b/res/drawable/list_selector.xml @@ -2,7 +2,7 @@ + android:drawable="@color/colorJ" /> + android:drawable="@color/colorH" /> \ No newline at end of file diff --git a/res/drawable/pause.xml b/res/drawable/pause.xml index ef208947c..db65212ca 100644 --- a/res/drawable/pause.xml +++ b/res/drawable/pause.xml @@ -1,8 +1,8 @@ + android:drawable="@drawable/pause_small_over_selected" /> + android:drawable="@drawable/pause_small_default" /> diff --git a/res/drawable/toolbar_button.xml b/res/drawable/toolbar_button.xml index bda78c65b..b10f6f259 100644 --- a/res/drawable/toolbar_button.xml +++ b/res/drawable/toolbar_button.xml @@ -1,9 +1,9 @@ + android:drawable="@color/colorE" /> + android:drawable="@color/colorF" /> + android:drawable="@color/colorF" /> \ No newline at end of file diff --git a/res/layout-land/incall.xml b/res/layout-land/incall.xml index ad33b6530..569d6502c 100644 --- a/res/layout-land/incall.xml +++ b/res/layout-land/incall.xml @@ -156,7 +156,6 @@ + android:background="@color/colorD"> diff --git a/res/layout/about.xml b/res/layout/about.xml index d0b492e13..72681fbc8 100644 --- a/res/layout/about.xml +++ b/res/layout/about.xml @@ -3,7 +3,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" - android:background="@drawable/background" + android:background="@color/background" android:gravity="center"> @@ -12,7 +12,7 @@ android:contentDescription="@string/content_description_welcome" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/logo_linphone_57x57" /> + android:src="@drawable/logo" /> diff --git a/res/layout/active_call_image_row.xml b/res/layout/active_call_image_row.xml index 2cf7b11f6..969f74fdd 100644 --- a/res/layout/active_call_image_row.xml +++ b/res/layout/active_call_image_row.xml @@ -1,6 +1,5 @@ - - + android:src="@drawable/avatar" /> \ No newline at end of file diff --git a/res/layout/audio.xml b/res/layout/audio.xml index 3da05cb4a..3e2421967 100644 --- a/res/layout/audio.xml +++ b/res/layout/audio.xml @@ -3,6 +3,6 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:paddingTop="40dp" - android:background="@drawable/background"> + android:background="@color/background"> \ No newline at end of file diff --git a/res/layout/chat.xml b/res/layout/chat.xml index 33cf7b76b..dcab9e76b 100644 --- a/res/layout/chat.xml +++ b/res/layout/chat.xml @@ -1,74 +1,102 @@ + android:background="@color/background" > - + - - + + + + + + + + + + + + + + + + + - - - - - - - - - + android:background="@color/colorD"> + android:paddingLeft="10dp" + android:layout_alignTop="@+id/message" + android:layout_alignParentRight="true" + android:layout_alignParentEnd="true"/> @@ -133,7 +160,7 @@ - + android:layout_below="@+id/relativeLayout"/> + \ No newline at end of file diff --git a/res/layout/chatlist.xml b/res/layout/chatlist.xml index 5532560f0..421858e0a 100644 --- a/res/layout/chatlist.xml +++ b/res/layout/chatlist.xml @@ -2,56 +2,75 @@ - - - - - - - - - - + + + + + + + + + + + + + + + android:background="@color/footer_select"> - - - - + + + + + + + + - - - - - - - - - - - - + android:adjustViewBounds="true"/> + + + + + + + + + + + + + + + + + + - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/res/layout/contact_cell.xml b/res/layout/contact_cell.xml index b1838102f..745b5f067 100644 --- a/res/layout/contact_cell.xml +++ b/res/layout/contact_cell.xml @@ -10,10 +10,12 @@ @@ -32,7 +34,7 @@ android:adjustViewBounds="true" android:layout_marginLeft="10dp" android:scaleType="centerInside" - android:src="@drawable/unknown_small" /> + android:src="@drawable/avatar" /> + + + + + + - - - - + android:gravity="center" /> + + + + + + + + + + + + + + + + + + android:src="@drawable/contact_add" /> + + \ No newline at end of file diff --git a/res/layout/contact_edit_row.xml b/res/layout/contact_edit_row.xml index 4086209f4..57953a6f5 100644 --- a/res/layout/contact_edit_row.xml +++ b/res/layout/contact_edit_row.xml @@ -5,23 +5,23 @@ android:layout_margin="2dp" android:gravity="center_vertical" android:padding="10dp"> - - - - - - \ No newline at end of file + + + + \ No newline at end of file diff --git a/res/layout/contacts_list.xml b/res/layout/contacts_list.xml index 63c2db697..879914e8b 100644 --- a/res/layout/contacts_list.xml +++ b/res/layout/contacts_list.xml @@ -2,74 +2,121 @@ - - - - - - - - - - - - + android:layout_height="60dp" + android:layout_gravity="bottom" + android:background="@color/colorF"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + @@ -104,7 +110,14 @@ android:id="@+id/controls" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingTop="20dp"/> + android:paddingTop="20dp"> + + + + + diff --git a/res/layout/history.xml b/res/layout/history.xml index e3c4fc386..87ecef9d9 100644 --- a/res/layout/history.xml +++ b/res/layout/history.xml @@ -2,93 +2,110 @@ - + android:layout_height="60dp" + android:layout_gravity="bottom" + android:background="@color/colorF"> - + + + + + + + + + + + + + + + + + android:visibility="gone"/> - - - - - + android:adjustViewBounds="true"/> - + android:adjustViewBounds="true"/> - + - diff --git a/res/layout/history_cell.xml b/res/layout/history_cell.xml index e537d693f..da963104b 100644 --- a/res/layout/history_cell.xml +++ b/res/layout/history_cell.xml @@ -1,49 +1,88 @@ - - - - - - - - - + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@drawable/list_selector" + android:gravity="center_vertical" + android:orientation="vertical" > + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/layout/history_detail.xml b/res/layout/history_detail.xml index d8366b4fc..1c2436581 100644 --- a/res/layout/history_detail.xml +++ b/res/layout/history_detail.xml @@ -1,10 +1,42 @@ + + + + + + + + + + - - + android:orientation="vertical"> + + + + + + + + + - - - - - - - + + - - - - - - - - - - - + android:paddingTop="20dp" + android:gravity="center" + android:orientation="horizontal"> + android:paddingLeft="10dp" + android:paddingRight="10dp"> - - - + - + android:paddingLeft="10dp" + android:paddingRight="10dp"> + - - - + + - - - - - - - - - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/layout/incall.xml b/res/layout/incall.xml index a8a9a870f..32aed4578 100644 --- a/res/layout/incall.xml +++ b/res/layout/incall.xml @@ -3,7 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:id="@+id/topLayout" android:layout_width="match_parent" - android:layout_height="match_parent" xmlns:app="http://schemas.android.com/apk/res/org.linphone"> + android:layout_height="match_parent"> - - - - + + - - - - - - + android:orientation="vertical" + android:layout_above="@id/menu"> + + - - - - - - + + + + - + + - + + - + + + + + + + + diff --git a/res/layout/incoming_header.xml b/res/layout/incoming_header.xml index c3075e73c..4ab02face 100644 --- a/res/layout/incoming_header.xml +++ b/res/layout/incoming_header.xml @@ -5,7 +5,7 @@ android:layout_height="75dp" android:orientation="horizontal" android:gravity="center_vertical" - android:background="@drawable/cell_call_first"> + android:background="@color/colorE"> diff --git a/res/values/color.xml b/res/values/color.xml index 6330b7984..fa60d4d10 100644 --- a/res/values/color.xml +++ b/res/values/color.xml @@ -8,8 +8,20 @@ #444444 #ff5e00 #96c11f + + + #ff5e00 + #000000 + #444444 #808080 - #e1e1e1 + #c4c4c4 + #e1e1e1 + #f3f3f3 + #ffffff + #ff0000 + #ffa645 + #3eb5c0 + #96c11f diff --git a/res/values/custom.xml b/res/values/custom.xml index 516f0f4a6..a4a8974d6 100644 --- a/res/values/custom.xml +++ b/res/values/custom.xml @@ -1,7 +1,7 @@ d MMM - EEEE MMM d HH:mm + yyyy/MM/dd - HH:mm HH:mm d MMM HH:mm linphone-mms-%s.jpg diff --git a/res/values/non_localizable_custom.xml b/res/values/non_localizable_custom.xml index 18ac3ec9c..90a339b37 100644 --- a/res/values/non_localizable_custom.xml +++ b/res/values/non_localizable_custom.xml @@ -13,7 +13,6 @@ https://www.linphone.org/wizard.php - true false false true diff --git a/res/values/strings.xml b/res/values/strings.xml index 8d871e6a6..6ba456e4c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -9,6 +9,65 @@ 1/2 2/2 + + Account + Settings + Wizard + About + Exit + + + + + Edit button + Valid button + + Add to contacts + New contact + Call + Backspace + About page + Chat + Dial back + Contact picture + Send message + Detail + Delete button + Add button + New discussion + + + Search + All contacts + Linphone contacts + Call direction + All calls + Missed calls + Switch video + Toggle speaker + Toggle micro + Add call + Pause + Hang up + Numpad + Settings button + Dialer + History button + Chat button + Contacts button + + Call quality + Encryption + Switch camera + Welcome to the account setup assistant + Cancel + Cancel button + Next button + Back button + Ok + Message status + Conference + Disable Tunnel @@ -22,12 +81,7 @@ always auto - - name - about - lala - exit - + Audio call ongoing Paused call ongoing Video capturing call ongoing @@ -259,52 +313,7 @@ ICE connectivity: Video size: - Add to contacts - New contact - Call - Backspace - About page - Chat - Dial back - Contact picture - Send message - Detail - Delete button - Add button - New discussion - Edit button - Validate button - Search - All contacts - Linphone contacts - Call direction - All calls - Missed calls - Switch video - Toggle speaker - Toggle micro - Add call - Pause - Hang up - Numpad - Settings button - Dialer - History button - Chat button - Contacts button - - Call quality - Encryption - Switch camera - Welcome to the account setup assistant - Cancel - Cancel button - Next button - Back button - Ok - Message status - Conference - + Apply password domain diff --git a/src/org/linphone/ChatFragment.java b/src/org/linphone/ChatFragment.java index 24c599ea3..1968276e0 100644 --- a/src/org/linphone/ChatFragment.java +++ b/src/org/linphone/ChatFragment.java @@ -42,7 +42,6 @@ import org.linphone.core.LinphoneCoreException; import org.linphone.core.LinphoneCoreFactory; import org.linphone.core.LinphoneCoreListenerBase; import org.linphone.mediastream.Log; -import org.linphone.ui.AvatarWithShadow; import org.linphone.ui.BubbleChat; import android.media.ExifInterface; @@ -100,10 +99,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC private String displayName; private String pictureUri; private EditText message; - private ImageView cancelUpload; + private ImageView cancelUpload, edit, selectAll, deselectAll, startCall, delete; private LinearLayout topBar; - private TextView sendImage, sendMessage, contactName, remoteComposing, back; - private AvatarWithShadow contactPicture; + private TextView sendImage, sendMessage, contactName, remoteComposing; + private ImageView back; private RelativeLayout uploadLayout, textLayout; private ListView messagesList; @@ -138,8 +137,8 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC pictureUri = getArguments().getString("PictureUri"); //Initialize UI - contactName = (TextView) view.findViewById(R.id.contactName); - contactPicture = (AvatarWithShadow) view.findViewById(R.id.contactPicture); + contactName = (TextView) view.findViewById(R.id.contact_name); + //contactPicture = (ImageView) view.findViewById(R.id.contactPicture); messagesList = (ListView) view.findViewById(R.id.chatMessageList); textLayout = (RelativeLayout) view.findViewById(R.id.messageLayout); progressBar = (ProgressBar) view.findViewById(R.id.progressbar); @@ -154,6 +153,22 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC uploadLayout = (RelativeLayout) view.findViewById(R.id.uploadLayout); uploadLayout.setVisibility(View.GONE); + edit = (ImageView) view.findViewById(R.id.edit); + edit.setOnClickListener(this); + + startCall = (ImageView) view.findViewById(R.id.start_call); + startCall.setOnClickListener(this); + + selectAll = (ImageView) view.findViewById(R.id.select_all); + selectAll.setOnClickListener(this); + + deselectAll = (ImageView) view.findViewById(R.id.deselect_all); + deselectAll.setOnClickListener(this); + + delete = (ImageView) view.findViewById(R.id.delete); + delete.setOnClickListener(this); + + displayChatHeader(displayName, pictureUri); //Manage multiline @@ -175,7 +190,7 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC sendImage.setEnabled(false); } - back = (TextView) view.findViewById(R.id.back); + back = (ImageView) view.findViewById(R.id.back); if (back != null) { back.setOnClickListener(new View.OnClickListener() { @Override @@ -283,13 +298,13 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC if (isOrientationLandscape && topBar != null) { topBar.setVisibility(View.GONE); } - contactPicture.setVisibility(View.GONE); + //contactPicture.setVisibility(View.GONE); //scrollToEnd(); } public void hideKeyboardVisibleMode() { boolean isOrientationLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE; - contactPicture.setVisibility(View.VISIBLE); + //contactPicture.setVisibility(View.VISIBLE); if (isOrientationLandscape && topBar != null) { topBar.setVisibility(View.VISIBLE); } @@ -351,10 +366,10 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC lAddress = LinphoneCoreFactory.instance().createLinphoneAddress(sipUri); Contact contact = ContactsManager.getInstance().findContactWithAddress(getActivity().getContentResolver(), lAddress); if (contact != null) { - LinphoneUtils.setImagePictureFromUri(getActivity(), contactPicture.getView(), contact.getPhotoUri(), contact.getThumbnailUri(), R.drawable.unknown_small); + //LinphoneUtils.setImagePictureFromUri(getActivity(), contactPicture.getView(), contact.getPhotoUri(), contact.getThumbnailUri(), R.drawable.unknown_small); } else { - contactPicture.setImageResource(R.drawable.unknown_small); + //contactPicture.setImageResource(R.drawable.unknown_small); } } catch (LinphoneCoreException e) { e.printStackTrace(); @@ -491,7 +506,36 @@ public class ChatFragment extends Fragment implements OnClickListener, LinphoneC @Override public void onClick(View v) { - sendTextMessage(); + int id = v.getId(); + + if(id == R.id.sendMessage){ + sendTextMessage(); + } else if (id == R.id.delete) { + edit.setVisibility(View.VISIBLE); + selectAll.setVisibility(View.GONE); + deselectAll.setVisibility(View.GONE); + startCall.setVisibility(View.VISIBLE); + delete.setVisibility(View.GONE);; + } + else if (id == R.id.select_all) { + deselectAll.setVisibility(View.VISIBLE); + selectAll.setVisibility(View.GONE); + //TODO select all chatrooms + } + else if (id == R.id.deselect_all) { + deselectAll.setVisibility(View.GONE); + selectAll.setVisibility(View.VISIBLE); + //TODO deselect all chatrooms + } + else if (id == R.id.edit) { + startCall.setVisibility(View.INVISIBLE); + edit.setVisibility(View.GONE); + selectAll.setVisibility(View.VISIBLE); + delete.setVisibility(View.VISIBLE); + } + else if (id == R.id.new_discussion) { + //TODO call sipUri + } } private void sendTextMessage() { diff --git a/src/org/linphone/ChatListFragment.java b/src/org/linphone/ChatListFragment.java index 98ae12f92..c1caecb24 100644 --- a/src/org/linphone/ChatListFragment.java +++ b/src/org/linphone/ChatListFragment.java @@ -53,6 +53,7 @@ import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ImageView; import android.widget.ListView; +import android.widget.RelativeLayout; import android.widget.TextView; /** @@ -62,7 +63,8 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte private LayoutInflater mInflater; private List mConversations, mDrafts; private ListView chatList; - private TextView edit, ok, newDiscussion, noChatHistory; + private TextView noChatHistory; + private ImageView edit, selectAll, deselectAll, delete, newDiscussion; private ImageView clearFastChat; private EditText fastNewChat; private boolean isEditMode = false; @@ -80,14 +82,20 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte noChatHistory = (TextView) view.findViewById(R.id.noChatHistory); - edit = (TextView) view.findViewById(R.id.edit); + edit = (ImageView) view.findViewById(R.id.edit); edit.setOnClickListener(this); - newDiscussion = (TextView) view.findViewById(R.id.newDiscussion); + newDiscussion = (ImageView) view.findViewById(R.id.new_discussion); newDiscussion.setOnClickListener(this); - ok = (TextView) view.findViewById(R.id.ok); - ok.setOnClickListener(this); + selectAll = (ImageView) view.findViewById(R.id.select_all); + selectAll.setOnClickListener(this); + + deselectAll = (ImageView) view.findViewById(R.id.deselect_all); + deselectAll.setOnClickListener(this); + + delete = (ImageView) view.findViewById(R.id.delete); + delete.setOnClickListener(this); clearFastChat = (ImageView) view.findViewById(R.id.clearFastChatField); clearFastChat.setOnClickListener(this); @@ -207,19 +215,32 @@ public class ChatListFragment extends Fragment implements OnClickListener, OnIte if (id == R.id.clearFastChatField) { fastNewChat.setText(""); } - else if (id == R.id.ok) { + else if (id == R.id.delete) { edit.setVisibility(View.VISIBLE); - ok.setVisibility(View.GONE); + selectAll.setVisibility(View.GONE); + deselectAll.setVisibility(View.GONE); + delete.setVisibility(View.GONE); isEditMode = false; hideAndDisplayMessageIfNoChat(); } + else if (id == R.id.select_all) { + deselectAll.setVisibility(View.VISIBLE); + selectAll.setVisibility(View.GONE); + //TODO select all chatrooms + } + else if (id == R.id.deselect_all) { + deselectAll.setVisibility(View.GONE); + selectAll.setVisibility(View.VISIBLE); + //TODO deselect all chatrooms + } else if (id == R.id.edit) { edit.setVisibility(View.GONE); - ok.setVisibility(View.VISIBLE); + selectAll.setVisibility(View.VISIBLE); + delete.setVisibility(View.VISIBLE); isEditMode = true; hideAndDisplayMessageIfNoChat(); } - else if (id == R.id.newDiscussion) { + else if (id == R.id.new_discussion) { String sipUri = fastNewChat.getText().toString(); if (sipUri.equals("")) { LinphoneActivity.instance().displayContacts(true); diff --git a/src/org/linphone/ContactFragment.java b/src/org/linphone/ContactFragment.java index 1a2739612..08626a200 100644 --- a/src/org/linphone/ContactFragment.java +++ b/src/org/linphone/ContactFragment.java @@ -24,7 +24,6 @@ import org.linphone.compatibility.Compatibility; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneProxyConfig; import org.linphone.mediastream.Log; -import org.linphone.ui.AvatarWithShadow; import android.annotation.SuppressLint; import android.app.AlertDialog; @@ -47,7 +46,7 @@ import android.widget.TextView; */ public class ContactFragment extends Fragment implements OnClickListener { private Contact contact; - private TextView editContact, deleteContact; + private ImageView editContact, deleteContact, back; private LayoutInflater inflater; private View view; private boolean displayChatAddressOnly = false; @@ -95,11 +94,19 @@ public class ContactFragment extends Fragment implements OnClickListener { displayChatAddressOnly = getArguments().getBoolean("ChatAddressOnly"); } - editContact = (TextView) view.findViewById(R.id.editContact); + editContact = (ImageView) view.findViewById(R.id.editContact); editContact.setOnClickListener(this); - deleteContact = (TextView) view.findViewById(R.id.deleteContact); + deleteContact = (ImageView) view.findViewById(R.id.deleteContact); deleteContact.setOnClickListener(this); + + ImageView back = (ImageView) view.findViewById(R.id.back); + back.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + getFragmentManager().popBackStackImmediate(); + } + }); return view; } @@ -112,12 +119,12 @@ public class ContactFragment extends Fragment implements OnClickListener { @SuppressLint("InflateParams") private void displayContact(LayoutInflater inflater, View view) { - AvatarWithShadow contactPicture = (AvatarWithShadow) view.findViewById(R.id.contactPicture); + ImageView contactPicture = (ImageView) view.findViewById(R.id.contactPicture); if (contact.getPhotoUri() != null) { - InputStream input = Compatibility.getContactPictureInputStream(LinphoneActivity.instance().getContentResolver(), contact.getID()); - contactPicture.setImageBitmap(BitmapFactory.decodeStream(input)); + //InputStream input = Compatibility.getContactPictureInputStream(LinphoneActivity.instance().getContentResolver(), contact.getID()); + //contactPicture.setImageBitmap(BitmapFactory.decodeStream(input)); } else { - contactPicture.setImageResource(R.drawable.unknown_small); + //contactPicture.setImageResource(R.drawable.unknown_small); } TextView contactName = (TextView) view.findViewById(R.id.contactName); @@ -169,7 +176,7 @@ public class ContactFragment extends Fragment implements OnClickListener { boolean isAlreadyAFriend = LinphoneManager.getLc().findFriendByAddress(finalNumberOrAddress) != null; if (!isAlreadyAFriend) { - friend.setImageResource(R.drawable.friend_add); + friend.setImageResource(R.drawable.contact_add); friend.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -179,7 +186,7 @@ public class ContactFragment extends Fragment implements OnClickListener { } }); } else { - friend.setImageResource(R.drawable.friend_remove); + friend.setImageResource(R.drawable.delete); friend.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { diff --git a/src/org/linphone/ContactsFragment.java b/src/org/linphone/ContactsFragment.java index 874b90869..c0f6cbedc 100644 --- a/src/org/linphone/ContactsFragment.java +++ b/src/org/linphone/ContactsFragment.java @@ -22,7 +22,6 @@ import java.util.List; import org.linphone.compatibility.Compatibility; import org.linphone.core.LinphoneFriend; import org.linphone.core.PresenceActivityType; -import org.linphone.mediastream.Log; import android.annotation.SuppressLint; import android.database.Cursor; @@ -44,6 +43,7 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; +import android.widget.RelativeLayout; import android.widget.SectionIndexer; import android.widget.TextView; @@ -54,8 +54,10 @@ import android.widget.TextView; public class ContactsFragment extends Fragment implements OnClickListener, OnItemClickListener { private LayoutInflater mInflater; private ListView contactsList; - private TextView allContacts, linphoneContacts, newContact, noSipContact, noContact; + private TextView noSipContact, noContact; + private ImageView allContacts, linphoneContacts, newContact; private boolean onlyDisplayLinphoneContacts; + private RelativeLayout allContactsSelected, linphoneContactsSelected; private int lastKnownPosition; private AlphabetIndexer indexer; private boolean editOnClick = false, editConsumed = false, onlyDisplayChatAddress = false; @@ -93,13 +95,19 @@ public class ContactsFragment extends Fragment implements OnClickListener, OnIte contactsList = (ListView) view.findViewById(R.id.contactsList); contactsList.setOnItemClickListener(this); - allContacts = (TextView) view.findViewById(R.id.allContacts); + allContacts = (ImageView) view.findViewById(R.id.all_contacts); allContacts.setOnClickListener(this); - linphoneContacts = (TextView) view.findViewById(R.id.linphoneContacts); + linphoneContacts = (ImageView) view.findViewById(R.id.linphone_contacts); linphoneContacts.setOnClickListener(this); + + allContactsSelected = (RelativeLayout) view.findViewById(R.id.all_contacts_select); + allContactsSelected.setOnClickListener(this); + + linphoneContactsSelected = (RelativeLayout) view.findViewById(R.id.linphone_contacts_select); + linphoneContactsSelected.setOnClickListener(this); - newContact = (TextView) view.findViewById(R.id.newContact); + newContact = (ImageView) view.findViewById(R.id.newContact); newContact.setOnClickListener(this); newContact.setEnabled(LinphoneManager.getLc().getCallsNb() == 0); @@ -136,15 +144,23 @@ public class ContactsFragment extends Fragment implements OnClickListener, OnIte public void onClick(View v) { int id = v.getId(); - if (id == R.id.allContacts) { + if (id == R.id.all_contacts) { onlyDisplayLinphoneContacts = false; + allContactsSelected.setVisibility(View.VISIBLE); + allContacts.setEnabled(false); + linphoneContacts.setEnabled(true); + linphoneContactsSelected.setVisibility(View.INVISIBLE); if (searchField.getText().toString().length() > 0) { searchContacts(); } else { changeContactsAdapter(); } } - else if (id == R.id.linphoneContacts) { + else if (id == R.id.linphone_contacts) { + allContactsSelected.setVisibility(View.INVISIBLE); + linphoneContactsSelected.setVisibility(View.VISIBLE); + linphoneContacts.setEnabled(false); + allContacts.setEnabled(true); onlyDisplayLinphoneContacts = true; if (searchField.getText().toString().length() > 0) { searchContacts(); diff --git a/src/org/linphone/DialerFragment.java b/src/org/linphone/DialerFragment.java index e5c325669..29894203a 100644 --- a/src/org/linphone/DialerFragment.java +++ b/src/org/linphone/DialerFragment.java @@ -65,7 +65,7 @@ public class DialerFragment extends Fragment { mCall.setAddressWidget(mAddress); if (LinphoneActivity.isInstanciated() && LinphoneManager.getLc().getCallsNb() > 0) { if (isCallTransferOngoing) { - mCall.setImageResource(R.drawable.transfer_call); + mCall.setImageResource(R.drawable.call_transfer); } else { mCall.setImageResource(R.drawable.add_call); } @@ -159,7 +159,7 @@ public class DialerFragment extends Fragment { if (lc.getCallsNb() > 0) { if (isCallTransferOngoing) { - mCall.setImageResource(R.drawable.transfer_call); + mCall.setImageResource(R.drawable.call_transfer); mCall.setExternalClickListener(transferListener); } else { mCall.setImageResource(R.drawable.add_call); diff --git a/src/org/linphone/EditContactFragment.java b/src/org/linphone/EditContactFragment.java index 9f66c2878..f6ecf07e7 100644 --- a/src/org/linphone/EditContactFragment.java +++ b/src/org/linphone/EditContactFragment.java @@ -6,7 +6,6 @@ import java.util.List; import org.linphone.compatibility.Compatibility; import org.linphone.core.LinphoneProxyConfig; import org.linphone.mediastream.Version; -import org.linphone.ui.AvatarWithShadow; import android.annotation.SuppressLint; import android.content.ContentProviderOperation; import android.content.Context; @@ -30,7 +29,7 @@ import android.widget.TextView; public class EditContactFragment extends Fragment { private View view; - private TextView ok; + private ImageView back, edit, ok; private EditText firstName, lastName; private LayoutInflater inflater; @@ -66,16 +65,16 @@ public class EditContactFragment extends Fragment { contactsManager = ContactsManager.getInstance(); view = inflater.inflate(R.layout.edit_contact, container, false); - - TextView cancel = (TextView) view.findViewById(R.id.cancel); - cancel.setOnClickListener(new OnClickListener() { + + ImageView back = (ImageView) view.findViewById(R.id.back); + back.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { getFragmentManager().popBackStackImmediate(); } }); - ok = (TextView) view.findViewById(R.id.ok); + ok = (ImageView) view.findViewById(R.id.ok); ok.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { @@ -180,12 +179,12 @@ public class EditContactFragment extends Fragment { } } - AvatarWithShadow contactPicture = (AvatarWithShadow) view.findViewById(R.id.contactPicture); + ImageView contactPicture = (ImageView) view.findViewById(R.id.contactPicture); if (contact != null && contact.getPhotoUri() != null) { - InputStream input = Compatibility.getContactPictureInputStream(getActivity().getContentResolver(), contact.getID()); - contactPicture.setImageBitmap(BitmapFactory.decodeStream(input)); + //InputStream input = Compatibility.getContactPictureInputStream(getActivity().getContentResolver(), contact.getID()); + //contactPicture.setImageBitmap(BitmapFactory.decodeStream(input)); } else { - contactPicture.setImageResource(R.drawable.unknown_small); + //contactPicture.setImageResource(R.drawable.unknown_small); } initNumbersFields((TableLayout) view.findViewById(R.id.controls), contact); diff --git a/src/org/linphone/HistoryDetailFragment.java b/src/org/linphone/HistoryDetailFragment.java index e09b054fa..b8d71d941 100644 --- a/src/org/linphone/HistoryDetailFragment.java +++ b/src/org/linphone/HistoryDetailFragment.java @@ -23,7 +23,6 @@ import java.util.Calendar; import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCoreException; import org.linphone.core.LinphoneCoreFactory; -import org.linphone.ui.AvatarWithShadow; import android.annotation.SuppressLint; import android.net.Uri; @@ -42,7 +41,7 @@ import android.widget.TextView; public class HistoryDetailFragment extends Fragment implements OnClickListener { private ImageView dialBack, chat, addToContacts; private View view; - private AvatarWithShadow contactPicture; + private ImageView contactPicture; private TextView contactName, contactAddress, callDirection, time, date; private String sipUri, displayName, pictureUri; @@ -66,10 +65,10 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { if (getResources().getBoolean(R.bool.disable_chat)) view.findViewById(R.id.chatRow).setVisibility(View.GONE); - addToContacts = (ImageView) view.findViewById(R.id.addToContacts); + addToContacts = (ImageView) view.findViewById(R.id.add_contact); addToContacts.setOnClickListener(this); - contactPicture = (AvatarWithShadow) view.findViewById(R.id.contactPicture); + contactPicture = (ImageView) view.findViewById(R.id.contactPicture); contactName = (TextView) view.findViewById(R.id.contactName); if (displayName == null && getResources().getBoolean(R.bool.only_display_username_if_unknown) && LinphoneUtils.isSipAddress(sipUri)) { @@ -114,10 +113,10 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { lAddress = LinphoneCoreFactory.instance().createLinphoneAddress(sipUri); Contact contact = ContactsManager.getInstance().findContactWithAddress(getActivity().getContentResolver(), lAddress); if (contact != null) { - LinphoneUtils.setImagePictureFromUri(view.getContext(), contactPicture.getView(),contact.getPhotoUri(), contact.getThumbnailUri(), R.drawable.unknown_small); - view.findViewById(R.id.addContactRow).setVisibility(View.GONE); + //LinphoneUtils.setImagePictureFromUri(view.getContext(), contactPicture.getView(),contact.getPhotoUri(), contact.getThumbnailUri(), R.drawable.unknown_small); + view.findViewById(R.id.add_contact).setVisibility(View.GONE); } else { - LinphoneUtils.setImagePictureFromUri(view.getContext(), contactPicture.getView(),null, null ,R.drawable.unknown_small); + //LinphoneUtils.setImagePictureFromUri(view.getContext(), contactPicture.getView(),null, null ,R.drawable.unknown_small); } } catch (LinphoneCoreException e) { e.printStackTrace(); @@ -157,7 +156,7 @@ public class HistoryDetailFragment extends Fragment implements OnClickListener { LinphoneActivity.instance().setAddresGoToDialerAndCall(sipUri, displayName, pictureUri == null ? null : Uri.parse(pictureUri)); } else if (id == R.id.chat) { LinphoneActivity.instance().displayChat(sipUri); - } else if (id == R.id.addToContacts) { + } else if (id == R.id.add_contact) { String uriToAdd = sipUri; if (getResources().getBoolean(R.bool.never_display_sip_addresses)) { uriToAdd = LinphoneUtils.getUsernameFromAddress(sipUri); diff --git a/src/org/linphone/HistoryFragment.java b/src/org/linphone/HistoryFragment.java index 9fb979cba..7b6aad0fc 100644 --- a/src/org/linphone/HistoryFragment.java +++ b/src/org/linphone/HistoryFragment.java @@ -17,8 +17,10 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; import java.util.List; import org.linphone.core.CallDirection; @@ -26,75 +28,99 @@ import org.linphone.core.LinphoneAddress; import org.linphone.core.LinphoneCallLog; import org.linphone.core.LinphoneCallLog.CallStatus; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.app.Fragment; -import android.util.SparseArray; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.LayoutInflater; +import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.animation.Animation; import android.view.animation.Animation.AnimationListener; import android.view.animation.AnimationUtils; -import android.widget.BaseExpandableListAdapter; -import android.widget.ExpandableListView; -import android.widget.ExpandableListView.OnChildClickListener; -import android.widget.ExpandableListView.OnGroupClickListener; +import android.widget.AdapterView; +import android.widget.AdapterView.AdapterContextMenuInfo; +import android.widget.AdapterView.OnItemClickListener; +import android.widget.BaseAdapter; import android.widget.ImageView; +import android.widget.ListView; +import android.widget.RelativeLayout; import android.widget.TextView; /** * @author Sylvain Berfini */ -public class HistoryFragment extends Fragment implements OnClickListener, OnChildClickListener, OnGroupClickListener { - private ExpandableListView historyList; +public class HistoryFragment extends Fragment implements OnClickListener, OnItemClickListener { + private ListView historyList; private LayoutInflater mInflater; - private TextView allCalls, missedCalls, edit, ok, deleteAll, noCallHistory, noMissedCallHistory; + private TextView noCallHistory, noMissedCallHistory; + private ImageView missedCalls, allCalls, edit, ok, deleteAll; + private RelativeLayout allCallsSelected, missedCallsSelected; private boolean onlyDisplayMissedCalls, isEditMode; - private SparseArray> mLogs; - + private List mLogs; + @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { mInflater = inflater; - View view = inflater.inflate(R.layout.history, container, false); - - noCallHistory = (TextView) view.findViewById(R.id.noCallHistory); - noMissedCallHistory = (TextView) view.findViewById(R.id.noMissedCallHistory); - - historyList = (ExpandableListView) view.findViewById(R.id.historyList); - historyList.setOnChildClickListener(this); - historyList.setOnGroupClickListener(this); - - deleteAll = (TextView) view.findViewById(R.id.deleteAll); - deleteAll.setOnClickListener(this); - deleteAll.setVisibility(View.INVISIBLE); - - allCalls = (TextView) view.findViewById(R.id.allCalls); - allCalls.setOnClickListener(this); - - missedCalls = (TextView) view.findViewById(R.id.missedCalls); - missedCalls.setOnClickListener(this); - - allCalls.setEnabled(false); - onlyDisplayMissedCalls = false; - - edit = (TextView) view.findViewById(R.id.edit); - edit.setOnClickListener(this); - - ok = (TextView) view.findViewById(R.id.ok); - ok.setOnClickListener(this); - + View view = inflater.inflate(R.layout.history, container, false); + + noCallHistory = (TextView) view.findViewById(R.id.noCallHistory); + noMissedCallHistory = (TextView) view.findViewById(R.id.noMissedCallHistory); + + historyList = (ListView) view.findViewById(R.id.historyList); + historyList.setOnItemClickListener(this); + registerForContextMenu(historyList); + + deleteAll = (ImageView) view.findViewById(R.id.deleteAll); + deleteAll.setOnClickListener(this); + deleteAll.setVisibility(View.INVISIBLE); + + allCalls = (ImageView) view.findViewById(R.id.all_calls); + allCalls.setOnClickListener(this); + + allCallsSelected = (RelativeLayout) view.findViewById(R.id.all_calls_select); + allCallsSelected.setOnClickListener(this); + + missedCalls = (ImageView) view.findViewById(R.id.missed_calls); + missedCalls.setOnClickListener(this); + + missedCallsSelected = (RelativeLayout) view.findViewById(R.id.missed_calls_select); + missedCallsSelected.setOnClickListener(this); + + allCalls.setEnabled(false); + onlyDisplayMissedCalls = false; + + edit = (ImageView) view.findViewById(R.id.edit); + edit.setOnClickListener(this); + + ok = (ImageView) view.findViewById(R.id.ok); + ok.setOnClickListener(this); + return view; - } - + } + + private void removeNotMissedCallsFromLogs() { + if (onlyDisplayMissedCalls) { + List missedCalls = new ArrayList(); + for (LinphoneCallLog log : mLogs) { + if (log.getStatus() == CallStatus.Missed) { + missedCalls.add(log); + } + } + mLogs = missedCalls; + } + } + private boolean hideHistoryListAndDisplayMessageIfEmpty() { - if (mLogs.size() == 0) { + removeNotMissedCallsFromLogs(); + if (mLogs.isEmpty()) { if (onlyDisplayMissedCalls) { noMissedCallHistory.setVisibility(View.VISIBLE); } else { @@ -109,88 +135,23 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil return false; } } - + @Override public void onResume() { super.onResume(); - + if (LinphoneActivity.isInstanciated()) { LinphoneActivity.instance().selectMenu(FragmentsAvailable.HISTORY); - + if (getResources().getBoolean(R.bool.show_statusbar_only_on_dialer)) { LinphoneActivity.instance().hideStatusBar(); } } - - initLogsLists(Arrays.asList(LinphoneManager.getLc().getCallLogs())); + + mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); if (!hideHistoryListAndDisplayMessageIfEmpty()) { - historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext())); + historyList.setAdapter(new CallHistoryAdapter(getActivity())); } - expandAllGroups(); - } - - private void initLogsLists(List logs) { - mLogs = new SparseArray>(); - String[] keys = new String[logs.size()]; - for (LinphoneCallLog log : logs) { - String groupBy = getCorrespondentDisplayName(log); - int key = -1; - for (int k = 0; k < keys.length; k++) { - if (keys[k] == null || keys[k].equals(groupBy)) { - key = k; - keys[k] = groupBy; - break; - } - } - - List group = mLogs.get(key, new ArrayList()); - group.add(log); - if (group.size() == 1) { - mLogs.append(key, group); - } - } - } - - private void initMissedLogsLists(List logs) { - List missedLogs = new ArrayList(); - for (LinphoneCallLog log : logs) { - if (log.getDirection() == CallDirection.Incoming && log.getStatus() == CallStatus.Missed) { - missedLogs.add(log); - } - } - initLogsLists(missedLogs); - } - - private void expandAllGroups() { - for (int groupToExpand = 0; groupToExpand < historyList.getExpandableListAdapter().getGroupCount(); groupToExpand++) { - if (!historyList.isGroupExpanded(groupToExpand)) { - historyList.expandGroup(groupToExpand); - } - } - } - - private String getCorrespondentDisplayName(LinphoneCallLog log) { - String displayName; - LinphoneAddress address; - if (log.getDirection() == CallDirection.Incoming) { - address = log.getFrom(); - } else { - address = log.getTo(); - } - - Contact contact = ContactsManager.getInstance().findContactWithAddress(getActivity().getContentResolver(), address); - String sipUri = address.asStringUriOnly(); - if (contact == null) { - if (getResources().getBoolean(R.bool.only_display_username_if_unknown) && LinphoneUtils.isSipAddress(sipUri)) { - displayName = address.getUserName(); - } else { - displayName = sipUri; - } - } else { - displayName = contact.getName(); - } - - return displayName; } @Override @@ -199,30 +160,44 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil menu.add(0, v.getId(), 0, getString(R.string.delete)); } + @Override + public boolean onContextItemSelected(MenuItem item) { + AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); + LinphoneCallLog log = mLogs.get(info.position); + LinphoneManager.getLc().removeCallLog(log); + mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); + if (!hideHistoryListAndDisplayMessageIfEmpty()) { + historyList.setAdapter(new CallHistoryAdapter(getActivity())); + } + return true; + } + @Override public void onClick(View v) { int id = v.getId(); - - if (id == R.id.allCalls) { + + if (id == R.id.all_calls) { allCalls.setEnabled(false); + allCallsSelected.setVisibility(View.VISIBLE); + missedCallsSelected.setVisibility(View.INVISIBLE); missedCalls.setEnabled(true); onlyDisplayMissedCalls = false; - - initLogsLists(Arrays.asList(LinphoneManager.getLc().getCallLogs())); - } - else if (id == R.id.missedCalls) { + + mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); + } + else if (id == R.id.missed_calls) { allCalls.setEnabled(true); + allCallsSelected.setVisibility(View.INVISIBLE); + missedCallsSelected.setVisibility(View.VISIBLE); missedCalls.setEnabled(false); onlyDisplayMissedCalls = true; - - initMissedLogsLists(Arrays.asList(LinphoneManager.getLc().getCallLogs())); - } + } else if (id == R.id.ok) { edit.setVisibility(View.VISIBLE); ok.setVisibility(View.GONE); hideDeleteAllButton(); isEditMode = false; - } + } else if (id == R.id.edit) { edit.setVisibility(View.GONE); ok.setVisibility(View.VISIBLE); @@ -231,58 +206,42 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil } else if (id == R.id.deleteAll) { LinphoneManager.getLc().clearCallLogs(); - initLogsLists(new ArrayList()); + mLogs = new ArrayList(); } - + if (!hideHistoryListAndDisplayMessageIfEmpty()) { historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext())); } - expandAllGroups(); - } - - @Override - public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { - if (isEditMode) { - for (LinphoneCallLog log : mLogs.get(groupPosition)) { - LinphoneManager.getLc().removeCallLog(log); - } - - initLogsLists(Arrays.asList(LinphoneManager.getLc().getCallLogs())); - if (!hideHistoryListAndDisplayMessageIfEmpty()) { - historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext())); - } - expandAllGroups(); - } - return false; } @Override - public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { - LinphoneCallLog log = mLogs.get(groupPosition).get(childPosition); + public void onItemClick(AdapterView adapter, View view, int position, long id) { if (isEditMode) { + LinphoneCallLog log = mLogs.get(position); LinphoneManager.getLc().removeCallLog(log); - initLogsLists(Arrays.asList(LinphoneManager.getLc().getCallLogs())); + mLogs = Arrays.asList(LinphoneManager.getLc().getCallLogs()); if (!hideHistoryListAndDisplayMessageIfEmpty()) { historyList.setAdapter(new CallHistoryAdapter(getActivity().getApplicationContext())); } - expandAllGroups(); } else { - LinphoneAddress address; - if (log.getDirection() == CallDirection.Incoming) { - address = log.getFrom(); - } else { - address = log.getTo(); + if (LinphoneActivity.isInstanciated()) { + LinphoneCallLog log = mLogs.get(position); + LinphoneAddress address; + if (log.getDirection() == CallDirection.Incoming) { + address = log.getFrom(); + } else { + address = log.getTo(); + } + LinphoneActivity.instance().setAddresGoToDialerAndCall(address.asStringUriOnly(), address.getDisplayName(), null); } - LinphoneActivity.instance().setAddresGoToDialerAndCall(address.asStringUriOnly(), address.getDisplayName(), null); } - return false; } - + private void hideDeleteAllButton() { if (deleteAll == null || deleteAll.getVisibility() != View.VISIBLE) { return; } - + if (LinphoneActivity.instance().isAnimationDisabled()) { deleteAll.setVisibility(View.INVISIBLE); } else { @@ -290,14 +249,14 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil animation.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { - + } - + @Override public void onAnimationRepeat(Animation animation) { - + } - + @Override public void onAnimationEnd(Animation animation) { deleteAll.setVisibility(View.INVISIBLE); @@ -307,12 +266,12 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil deleteAll.startAnimation(animation); } } - + private void showDeleteAllButton() { if (deleteAll == null || deleteAll.getVisibility() == View.VISIBLE) { return; } - + if (LinphoneActivity.instance().isAnimationDisabled()) { deleteAll.setVisibility(View.VISIBLE); } else { @@ -320,14 +279,14 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil animation.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { - + } - + @Override public void onAnimationRepeat(Animation animation) { - + } - + @Override public void onAnimationEnd(Animation animation) { deleteAll.setVisibility(View.VISIBLE); @@ -337,48 +296,103 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil deleteAll.startAnimation(animation); } } - - class CallHistoryAdapter extends BaseExpandableListAdapter { + + class CallHistoryAdapter extends BaseAdapter { private Bitmap missedCall, outgoingCall, incomingCall; - + CallHistoryAdapter(Context aContext) { missedCall = BitmapFactory.decodeResource(getResources(), R.drawable.call_status_missed); - + if (!onlyDisplayMissedCalls) { outgoingCall = BitmapFactory.decodeResource(getResources(), R.drawable.call_status_outgoing); incomingCall = BitmapFactory.decodeResource(getResources(), R.drawable.call_status_incoming); } } - - @Override - public Object getChild(int groupPosition, int childPosition) { - return mLogs.get(groupPosition).get(childPosition); + public int getCount() { + return mLogs.size(); } - - @Override - public long getChildId(int groupPosition, int childPosition) { - return childPosition; + + public Object getItem(int position) { + return mLogs.get(position); } - - @Override - public View getChildView(int groupPosition, int childPosition, - boolean isLastChild, View convertView, ViewGroup parent) { + + public long getItemId(int position) { + return position; + } + + @SuppressLint("SimpleDateFormat") + private String timestampToHumanDate(Calendar cal) { + SimpleDateFormat dateFormat; + if (isToday(cal)) { + return getString(R.string.today); + } else if (isYesterday(cal)) { + return getString(R.string.yesterday); + } else { + dateFormat = new SimpleDateFormat(getResources().getString(R.string.history_date_format)); + } + + return dateFormat.format(cal.getTime()); + } + + private boolean isSameDay(Calendar cal1, Calendar cal2) { + if (cal1 == null || cal2 == null) { + return false; + } + + return (cal1.get(Calendar.ERA) == cal2.get(Calendar.ERA) && + cal1.get(Calendar.YEAR) == cal2.get(Calendar.YEAR) && + cal1.get(Calendar.DAY_OF_YEAR) == cal2.get(Calendar.DAY_OF_YEAR)); + } + + private boolean isToday(Calendar cal) { + return isSameDay(cal, Calendar.getInstance()); + } + + private boolean isYesterday(Calendar cal) { + Calendar yesterday = Calendar.getInstance(); + yesterday.roll(Calendar.DAY_OF_MONTH, -1); + return isSameDay(cal, yesterday); + } + + public View getView(int position, View convertView, ViewGroup parent) { View view = null; if (convertView != null) { view = convertView; } else { view = mInflater.inflate(R.layout.history_cell, parent,false); } - - final LinphoneCallLog log = (LinphoneCallLog) getChild(groupPosition, childPosition); + + final LinphoneCallLog log = mLogs.get(position); + long timestamp = log.getTimestamp(); final LinphoneAddress address; - - TextView dateAndTime = (TextView) view.findViewById(R.id.dateAndTime); + + TextView contact = (TextView) view.findViewById(R.id.sipUri); + contact.setSelected(true); // For automated horizontal scrolling of long texts + ImageView detail = (ImageView) view.findViewById(R.id.detail); ImageView delete = (ImageView) view.findViewById(R.id.delete); ImageView callDirection = (ImageView) view.findViewById(R.id.icon); - - + + TextView separator = (TextView) view.findViewById(R.id.separator); + Calendar logTime = Calendar.getInstance(); + logTime.setTimeInMillis(timestamp); + separator.setText(timestampToHumanDate(logTime)); + + if (position > 0) { + LinphoneCallLog previousLog = mLogs.get(position-1); + long previousTimestamp = previousLog.getTimestamp(); + Calendar previousLogTime = Calendar.getInstance(); + previousLogTime.setTimeInMillis(previousTimestamp); + + if (isSameDay(previousLogTime, logTime)) { + separator.setVisibility(View.GONE); + } else { + separator.setVisibility(View.VISIBLE); + } + } else { + separator.setVisibility(View.VISIBLE); + } + if (log.getDirection() == CallDirection.Incoming) { address = log.getFrom(); if (log.getStatus() == CallStatus.Missed) { @@ -391,10 +405,28 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil callDirection.setImageBitmap(outgoingCall); } - String sipUri = address.asStringUriOnly(); - dateAndTime.setText(log.getStartDate() + " " + log.getCallDuration()); + Contact c = ContactsManager.getInstance().findContactWithAddress(getActivity().getContentResolver(), address); + String displayName = null; + final String sipUri = address.asStringUriOnly(); + if(c != null){ + displayName = c.getName(); + } + + if (displayName == null) { + if (getResources().getBoolean(R.bool.only_display_username_if_unknown) && LinphoneUtils.isSipAddress(sipUri)) { + contact.setText(address.getUserName()); + } else { + contact.setText(sipUri); + } + } else { + if (getResources().getBoolean(R.bool.only_display_username_if_unknown) && LinphoneUtils.isSipAddress(address.getDisplayName())) { + contact.setText(displayName); + } else { + contact.setText(sipUri); + } + } view.setTag(sipUri); - + if (isEditMode) { delete.setVisibility(View.VISIBLE); detail.setVisibility(View.GONE); @@ -405,7 +437,7 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil @Override public void onClick(View v) { if (LinphoneActivity.isInstanciated()) { - LinphoneActivity.instance().displayHistoryDetail(address.asStringUriOnly(), log); + LinphoneActivity.instance().displayHistoryDetail(sipUri, log); } } }); @@ -413,71 +445,5 @@ public class HistoryFragment extends Fragment implements OnClickListener, OnChil return view; } - - @Override - public int getChildrenCount(int groupPosition) { - return mLogs.get(groupPosition).size(); - } - - @Override - public Object getGroup(int groupPosition) { - return mLogs.get(groupPosition); - } - - @Override - public int getGroupCount() { - return mLogs.size(); - } - - @Override - public long getGroupId(int groupPosition) { - return groupPosition; - } - - @Override - public View getGroupView(int groupPosition, boolean isExpanded, - View convertView, ViewGroup parent) { - View view = null; - if (convertView != null) { - view = convertView; - } else { - view = mInflater.inflate(R.layout.history_group, parent,false); - } - - LinphoneCallLog log = (LinphoneCallLog) getChild(groupPosition, 0); - LinphoneAddress address; - - TextView contact = (TextView) view.findViewById(R.id.sipUri); - ImageView delete = (ImageView) view.findViewById(R.id.delete); - - if (log.getDirection() == CallDirection.Incoming) { - address = log.getFrom(); - } else { - address = log.getTo(); - } - - String displayName = getCorrespondentDisplayName(log); - String sipUri = address.asStringUriOnly(); - contact.setText(displayName + " (" + getChildrenCount(groupPosition) + ")"); - view.setTag(sipUri); - - if (isEditMode) { - delete.setVisibility(View.VISIBLE); - } else { - delete.setVisibility(View.GONE); - } - - return view; - } - - @Override - public boolean hasStableIds() { - return false; - } - - @Override - public boolean isChildSelectable(int groupPosition, int childPosition) { - return true; - } } -} +} \ No newline at end of file diff --git a/src/org/linphone/InCallActivity.java b/src/org/linphone/InCallActivity.java index 3eba28e61..e160c88ec 100644 --- a/src/org/linphone/InCallActivity.java +++ b/src/org/linphone/InCallActivity.java @@ -32,7 +32,6 @@ import org.linphone.core.LinphonePlayer; import org.linphone.mediastream.Log; import org.linphone.mediastream.Version; import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration; -import org.linphone.ui.AvatarWithShadow; import org.linphone.ui.Numpad; import android.app.Activity; @@ -405,19 +404,19 @@ public class InCallActivity extends Activity implements OnClickListener { try { if (isSpeakerEnabled) { speaker.setBackgroundResource(R.drawable.speaker_on); - routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on); + /*routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on); routeReceiver.setBackgroundResource(R.drawable.route_receiver_off); - routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off); + routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off);*/ } else { speaker.setBackgroundResource(R.drawable.speaker_off); - routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off); + /*routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off); if (BluetoothManager.getInstance().isUsingBluetoothAudioRoute()) { routeReceiver.setBackgroundResource(R.drawable.route_receiver_off); routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_on); } else { routeReceiver.setBackgroundResource(R.drawable.route_receiver_on); routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off); - } + }*/ } } catch (NullPointerException npe) { Log.e("Bluetooth: Audio routes menu disabled on tablets for now (4)"); @@ -518,26 +517,26 @@ public class InCallActivity extends Activity implements OnClickListener { else if (id == R.id.routeBluetooth) { if (BluetoothManager.getInstance().routeAudioToBluetooth()) { isSpeakerEnabled = false; - routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_on); + /*routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_on); routeReceiver.setBackgroundResource(R.drawable.route_receiver_off); - routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off); + routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);*/ } hideOrDisplayAudioRoutes(); } else if (id == R.id.routeReceiver) { LinphoneManager.getInstance().routeAudioToReceiver(); isSpeakerEnabled = false; - routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off); + /*routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off); routeReceiver.setBackgroundResource(R.drawable.route_receiver_on); - routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off); + routeSpeaker.setBackgroundResource(R.drawable.route_speaker_off);*/ hideOrDisplayAudioRoutes(); } else if (id == R.id.routeSpeaker) { LinphoneManager.getInstance().routeAudioToSpeaker(); isSpeakerEnabled = true; - routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off); + /*routeBluetooth.setBackgroundResource(R.drawable.route_bluetooth_off); routeReceiver.setBackgroundResource(R.drawable.route_receiver_off); - routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on); + routeSpeaker.setBackgroundResource(R.drawable.route_speaker_on);*/ hideOrDisplayAudioRoutes(); } @@ -1287,7 +1286,7 @@ public class InCallActivity extends Activity implements OnClickListener { ImageView conferenceState = (ImageView) conferenceHeader.findViewById(R.id.conferenceStatus); conferenceState.setOnClickListener(this); if (LinphoneManager.getLc().isInConference()) { - conferenceState.setImageResource(R.drawable.play); + conferenceState.setImageResource(R.drawable.pause); } else { conferenceState.setImageResource(R.drawable.pause); } @@ -1366,15 +1365,15 @@ public class InCallActivity extends Activity implements OnClickListener { isCallPaused = true; isInConference = false; } else if (call.getState() == State.OutgoingInit || call.getState() == State.OutgoingProgress || call.getState() == State.OutgoingRinging) { - callState.setImageResource(R.drawable.call_state_ringing_default); + //callState.setImageResource(R.drawable.call_state_ringing_default); isCallPaused = false; isInConference = false; } else { if (isConferenceRunning && call.isInConference()) { - callState.setImageResource(R.drawable.remove); + //callState.setImageResource(R.drawable.remove); isInConference = true; } else { - callState.setImageResource(R.drawable.play); + //callState.setImageResource(R.drawable.play); isInConference = false; } isCallPaused = false; @@ -1384,23 +1383,23 @@ public class InCallActivity extends Activity implements OnClickListener { } private void displayOrHideContactPicture(LinearLayout callView, Uri pictureUri, Uri thumbnailUri, boolean hide) { - AvatarWithShadow contactPicture = (AvatarWithShadow) callView.findViewById(R.id.contactPicture); + /*ImageView contactPicture = (ImageView) callView.findViewById(R.id.contactPicture); if (pictureUri != null) { - LinphoneUtils.setImagePictureFromUri(callView.getContext(), contactPicture.getView(), Uri.parse(pictureUri.toString()), thumbnailUri, R.drawable.unknown_small); + LinphoneUtils.setImagePictureFromUri(callView.getContext(), contactPicture, Uri.parse(pictureUri.toString()), thumbnailUri, R.drawable.unknown_small); } - callView.setVisibility(hide ? View.GONE : View.VISIBLE); + callView.setVisibility(hide ? View.GONE : View.VISIBLE);*/ } private void setRowBackground(LinearLayout callView, int index) { int backgroundResource; if (index == 0) { // backgroundResource = active ? R.drawable.cell_call_first_highlight : R.drawable.cell_call_first; - backgroundResource = R.drawable.cell_call_first; + //backgroundResource = R.drawable.cell_call_first; } else { // backgroundResource = active ? R.drawable.cell_call_highlight : R.drawable.cell_call; - backgroundResource = R.drawable.cell_call; +// backgroundResource = R.drawable.cell_call; } - callView.setBackgroundResource(backgroundResource); +// callView.setBackgroundResource(backgroundResource); } private void registerCallDurationTimer(View v, LinphoneCall call) { diff --git a/src/org/linphone/IncomingCallActivity.java b/src/org/linphone/IncomingCallActivity.java index 713c009d0..1e04f85fa 100644 --- a/src/org/linphone/IncomingCallActivity.java +++ b/src/org/linphone/IncomingCallActivity.java @@ -27,7 +27,6 @@ import org.linphone.core.LinphoneCallParams; import org.linphone.core.LinphoneCore; import org.linphone.core.LinphoneCoreListenerBase; import org.linphone.mediastream.Log; -import org.linphone.ui.AvatarWithShadow; import org.linphone.ui.LinphoneSliders; import org.linphone.ui.LinphoneSliders.LinphoneSliderTriggered; @@ -36,6 +35,7 @@ import android.net.Uri; import android.os.Bundle; import android.view.KeyEvent; import android.view.WindowManager; +import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; @@ -51,9 +51,8 @@ public class IncomingCallActivity extends Activity implements LinphoneSliderTrig private TextView mNameView; private TextView mNumberView; - private AvatarWithShadow mPictureView; + private ImageView mPictureView; private LinphoneCall mCall; - private LinphoneSliders mIncomingCallWidget; private LinphoneCoreListenerBase mListener; public static IncomingCallActivity instance() { @@ -71,16 +70,14 @@ public class IncomingCallActivity extends Activity implements LinphoneSliderTrig mNameView = (TextView) findViewById(R.id.incoming_caller_name); mNumberView = (TextView) findViewById(R.id.incoming_caller_number); - mPictureView = (AvatarWithShadow) findViewById(R.id.incoming_picture); + mPictureView = (ImageView) findViewById(R.id.incoming_picture); // set this flag so this activity will stay in front of the keyguard int flags = WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD | WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON; getWindow().addFlags(flags); // "Dial-to-answer" widget for incoming calls. - mIncomingCallWidget = (LinphoneSliders) findViewById(R.id.sliding_widget); - mIncomingCallWidget.setOnTriggerListener(this); - + mListener = new LinphoneCoreListenerBase(){ @Override public void callState(LinphoneCore lc, LinphoneCall call, LinphoneCall.State state, String message) { @@ -125,8 +122,8 @@ public class IncomingCallActivity extends Activity implements LinphoneSliderTrig LinphoneAddress address = mCall.getRemoteAddress(); // May be greatly sped up using a drawable cache Contact contact = ContactsManager.getInstance().findContactWithAddress(getContentResolver(), address); - LinphoneUtils.setImagePictureFromUri(this, mPictureView.getView(), contact != null ? contact.getPhotoUri() : null, - contact != null ? contact.getThumbnailUri() : null, R.drawable.unknown_small); + //LinphoneUtils.setImagePictureFromUri(this, mPictureView, contact != null ? contact.getPhotoUri() : null, + // contact != null ? contact.getThumbnailUri() : null, R.drawable.unknown_small); // To be done after findUriPictureOfContactAndSetDisplayName called mNameView.setText(contact != null ? contact.getName() : ""); diff --git a/src/org/linphone/LinphoneActivity.java b/src/org/linphone/LinphoneActivity.java index ca87a3581..0701c7a5c 100644 --- a/src/org/linphone/LinphoneActivity.java +++ b/src/org/linphone/LinphoneActivity.java @@ -280,7 +280,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta public void createDrawer() { mTitle = "lala"; mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); - mParams = getResources().getStringArray(R.array.params); + mParams = getResources().getStringArray(R.array.menu_entry); mDrawerList = (ListView) findViewById(R.id.left_drawer); // set a custom shadow that overlays the main content when the drawer opens @@ -336,9 +336,30 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit(); - // update selected item and title, then close the drawer + // update selected item and title, then close the drawer*/ + + Log.w("position " + position); + + switch(position) { + case 0: + break; + case 1: + displaySettings(); + break; + case 2: + break; + case 3: + displayAbout(); + break; + case 4: + exit(); + break; + default: + break; + } + mDrawerList.setItemChecked(position, true); - setTitle(mPlanetTitles[position]);*/ + // mDrawerLayout.closeDrawer(mDrawerList); } @@ -410,7 +431,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta } //findViewById(R.id.status).setVisibility(View.GONE); - findViewById(R.id.fragmentContainer).setPadding(0, 0, 0, 0); + //findViewById(R.id.fragmentContainer).setPadding(0, 0, 0, 0); } public void showStatusBar() { @@ -448,11 +469,7 @@ public class LinphoneActivity extends Activity implements OnClickListener, Conta switch (newFragmentType) { case HISTORY: - if (getResources().getBoolean(R.bool.use_simple_history)) { - newFragment = new HistorySimpleFragment(); - } else { - newFragment = new HistoryFragment(); - } + newFragment = new HistoryFragment(); break; case HISTORY_DETAIL: newFragment = new HistoryDetailFragment(); diff --git a/src/org/linphone/StatusFragment.java b/src/org/linphone/StatusFragment.java index 3253b74b0..1f70024b6 100644 --- a/src/org/linphone/StatusFragment.java +++ b/src/org/linphone/StatusFragment.java @@ -328,8 +328,8 @@ public class StatusFragment extends Fragment { LinphoneCall call = lc.getCurrentCall(); if (isInCall && (call != null || lc.getConferenceSize() > 1 || lc.getCallsNb() > 0)) { if (call != null) { - startCallQuality(); - refreshStatusItems(call, call.getCurrentParamsCopy().getVideoEnabled()); + //startCallQuality(); + //refreshStatusItems(call, call.getCurrentParamsCopy().getVideoEnabled()); } statusText.setVisibility(View.GONE); diff --git a/src/org/linphone/compatibility/ApiElevenPlus.java b/src/org/linphone/compatibility/ApiElevenPlus.java index cce5c9795..ceab9f3c5 100644 --- a/src/org/linphone/compatibility/ApiElevenPlus.java +++ b/src/org/linphone/compatibility/ApiElevenPlus.java @@ -62,7 +62,7 @@ public class ApiElevenPlus { .setContentTitle(title) .setContentText(msg) .setContentIntent(intent) - .setSmallIcon(R.drawable.chat_icon_over) + .setSmallIcon(R.drawable.chat) .setAutoCancel(true) .setDefaults( Notification.DEFAULT_LIGHTS diff --git a/src/org/linphone/compatibility/ApiFivePlus.java b/src/org/linphone/compatibility/ApiFivePlus.java index b0c66f825..03a8044fe 100644 --- a/src/org/linphone/compatibility/ApiFivePlus.java +++ b/src/org/linphone/compatibility/ApiFivePlus.java @@ -292,7 +292,7 @@ public class ApiFivePlus { public static Notification createMessageNotification(Context context, String title, String msg, PendingIntent intent) { Notification notif = new Notification(); - notif.icon = R.drawable.chat_icon_over; + notif.icon = R.drawable.chat_icon_default; notif.iconLevel = 0; notif.when = System.currentTimeMillis(); notif.flags &= Notification.FLAG_ONGOING_EVENT; diff --git a/src/org/linphone/compatibility/ApiSixteenPlus.java b/src/org/linphone/compatibility/ApiSixteenPlus.java index dba56077c..c40797918 100644 --- a/src/org/linphone/compatibility/ApiSixteenPlus.java +++ b/src/org/linphone/compatibility/ApiSixteenPlus.java @@ -47,7 +47,7 @@ public class ApiSixteenPlus { Notification notif = new Notification.Builder(context) .setContentTitle(title) .setContentText(msg) - .setSmallIcon(R.drawable.chat_icon_over) + .setSmallIcon(R.drawable.chat_icon_default) .setAutoCancel(true) .setContentIntent(intent) .setDefaults( diff --git a/src/org/linphone/compatibility/ApiTwentyOnePlus.java b/src/org/linphone/compatibility/ApiTwentyOnePlus.java index 5c151c2f3..db13f281e 100644 --- a/src/org/linphone/compatibility/ApiTwentyOnePlus.java +++ b/src/org/linphone/compatibility/ApiTwentyOnePlus.java @@ -46,7 +46,7 @@ public class ApiTwentyOnePlus { Notification notif = new Notification.Builder(context) .setContentTitle(title) .setContentText(msg) - .setSmallIcon(R.drawable.chat_icon_over) + .setSmallIcon(R.drawable.chat_icon_default) .setAutoCancel(true) .setContentIntent(intent) .setDefaults(Notification.DEFAULT_ALL) diff --git a/src/org/linphone/ui/BubbleChat.java b/src/org/linphone/ui/BubbleChat.java index e4a6c53cb..a40810d80 100644 --- a/src/org/linphone/ui/BubbleChat.java +++ b/src/org/linphone/ui/BubbleChat.java @@ -88,11 +88,11 @@ public class BubbleChat { if (message.isOutgoing()) { layoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); - view.setBackgroundResource(R.drawable.chat_bubble_outgoing); + view.setBackgroundResource(R.drawable.resizable_chat_bubble_outgoing); } else { layoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); - view.setBackgroundResource(R.drawable.chat_bubble_incoming); + view.setBackgroundResource(R.drawable.resizable_chat_bubble_incoming); } layoutParams.setMargins(10, 0, 10, 0); diff --git a/src/org/linphone/ui/LinphoneSliders.java b/src/org/linphone/ui/LinphoneSliders.java index b890516e0..4c6dc3f8e 100644 --- a/src/org/linphone/ui/LinphoneSliders.java +++ b/src/org/linphone/ui/LinphoneSliders.java @@ -45,8 +45,8 @@ public class LinphoneSliders extends View implements OnGestureListener { public LinphoneSliders(Context context, AttributeSet attrs) { super(context, attrs); mGestures = new GestureDetector(getContext(), this); - leftSliderImg = getResources().getDrawable(R.drawable.slider_left); - rightSliderImg = getResources().getDrawable(R.drawable.slider_right); + //leftSliderImg = getResources().getDrawable(R.drawable.slider_left); + //rightSliderImg = getResources().getDrawable(R.drawable.slider_right); slidersHeight = leftSliderImg.getIntrinsicHeight(); slidersWidth = leftSliderImg.getIntrinsicWidth();