diff --git a/res/drawable-xlarge-land/bottom.png b/res/drawable-xlarge-land/bottom.png
new file mode 100644
index 000000000..ba712ad0e
Binary files /dev/null and b/res/drawable-xlarge-land/bottom.png differ
diff --git a/res/drawable-xlarge-land/chat_default.png b/res/drawable-xlarge-land/chat_default.png
new file mode 100644
index 000000000..e9c14df72
Binary files /dev/null and b/res/drawable-xlarge-land/chat_default.png differ
diff --git a/res/drawable-xlarge-land/chat_over.png b/res/drawable-xlarge-land/chat_over.png
new file mode 100644
index 000000000..e58933823
Binary files /dev/null and b/res/drawable-xlarge-land/chat_over.png differ
diff --git a/res/drawable-xlarge-land/chat_selected.png b/res/drawable-xlarge-land/chat_selected.png
new file mode 100644
index 000000000..68df46139
Binary files /dev/null and b/res/drawable-xlarge-land/chat_selected.png differ
diff --git a/res/drawable-xlarge-land/contacts_default.png b/res/drawable-xlarge-land/contacts_default.png
new file mode 100644
index 000000000..c2a18a84f
Binary files /dev/null and b/res/drawable-xlarge-land/contacts_default.png differ
diff --git a/res/drawable-xlarge-land/contacts_over.png b/res/drawable-xlarge-land/contacts_over.png
new file mode 100644
index 000000000..d9fa24f10
Binary files /dev/null and b/res/drawable-xlarge-land/contacts_over.png differ
diff --git a/res/drawable-xlarge-land/contacts_selected.png b/res/drawable-xlarge-land/contacts_selected.png
new file mode 100644
index 000000000..a392db350
Binary files /dev/null and b/res/drawable-xlarge-land/contacts_selected.png differ
diff --git a/res/drawable-xlarge-land/dialer_address_background.png b/res/drawable-xlarge-land/dialer_address_background.png
new file mode 100644
index 000000000..21bc36a51
Binary files /dev/null and b/res/drawable-xlarge-land/dialer_address_background.png differ
diff --git a/res/drawable-xlarge-land/history_default.png b/res/drawable-xlarge-land/history_default.png
new file mode 100644
index 000000000..62eaaab9f
Binary files /dev/null and b/res/drawable-xlarge-land/history_default.png differ
diff --git a/res/drawable-xlarge-land/history_over.png b/res/drawable-xlarge-land/history_over.png
new file mode 100644
index 000000000..bdd2b7ea8
Binary files /dev/null and b/res/drawable-xlarge-land/history_over.png differ
diff --git a/res/drawable-xlarge-land/history_selected.png b/res/drawable-xlarge-land/history_selected.png
new file mode 100644
index 000000000..d45616b41
Binary files /dev/null and b/res/drawable-xlarge-land/history_selected.png differ
diff --git a/res/drawable-xlarge-land/settings_default.png b/res/drawable-xlarge-land/settings_default.png
new file mode 100644
index 000000000..b19d0ba3b
Binary files /dev/null and b/res/drawable-xlarge-land/settings_default.png differ
diff --git a/res/drawable-xlarge-land/settings_over.png b/res/drawable-xlarge-land/settings_over.png
new file mode 100644
index 000000000..62cf3141d
Binary files /dev/null and b/res/drawable-xlarge-land/settings_over.png differ
diff --git a/res/drawable-xlarge-land/settings_selected.png b/res/drawable-xlarge-land/settings_selected.png
new file mode 100644
index 000000000..de988d97a
Binary files /dev/null and b/res/drawable-xlarge-land/settings_selected.png differ
diff --git a/res/drawable-xlarge-land/statebar_background.png b/res/drawable-xlarge-land/statebar_background.png
new file mode 100644
index 000000000..3cef78053
Binary files /dev/null and b/res/drawable-xlarge-land/statebar_background.png differ
diff --git a/res/drawable-xlarge/add_call__moreover.png b/res/drawable-xlarge/add_call__moreover.png
new file mode 100644
index 000000000..24fdabed5
Binary files /dev/null and b/res/drawable-xlarge/add_call__moreover.png differ
diff --git a/res/drawable-xlarge/add_call_more_default.png b/res/drawable-xlarge/add_call_more_default.png
new file mode 100644
index 000000000..a3ddce2f2
Binary files /dev/null and b/res/drawable-xlarge/add_call_more_default.png differ
diff --git a/res/drawable-xlarge/add_call_more_disabled.png b/res/drawable-xlarge/add_call_more_disabled.png
new file mode 100644
index 000000000..374aacc0b
Binary files /dev/null and b/res/drawable-xlarge/add_call_more_disabled.png differ
diff --git a/res/drawable-xlarge/add_contact_default.png b/res/drawable-xlarge/add_contact_default.png
new file mode 100644
index 000000000..82611c172
Binary files /dev/null and b/res/drawable-xlarge/add_contact_default.png differ
diff --git a/res/drawable-xlarge/add_contact_disabled.png b/res/drawable-xlarge/add_contact_disabled.png
new file mode 100644
index 000000000..ff863911b
Binary files /dev/null and b/res/drawable-xlarge/add_contact_disabled.png differ
diff --git a/res/drawable-xlarge/add_contact_over.png b/res/drawable-xlarge/add_contact_over.png
new file mode 100644
index 000000000..4eb38dddd
Binary files /dev/null and b/res/drawable-xlarge/add_contact_over.png differ
diff --git a/res/drawable-xlarge/backspace_default.png b/res/drawable-xlarge/backspace_default.png
new file mode 100644
index 000000000..274330951
Binary files /dev/null and b/res/drawable-xlarge/backspace_default.png differ
diff --git a/res/drawable-xlarge/backspace_disabled.png b/res/drawable-xlarge/backspace_disabled.png
new file mode 100644
index 000000000..825232600
Binary files /dev/null and b/res/drawable-xlarge/backspace_disabled.png differ
diff --git a/res/drawable-xlarge/backspace_over.png b/res/drawable-xlarge/backspace_over.png
new file mode 100644
index 000000000..95e2137e7
Binary files /dev/null and b/res/drawable-xlarge/backspace_over.png differ
diff --git a/res/drawable-xlarge/bottom.png b/res/drawable-xlarge/bottom.png
new file mode 100644
index 000000000..7d0389882
Binary files /dev/null and b/res/drawable-xlarge/bottom.png differ
diff --git a/res/drawable-xlarge/call_default.png b/res/drawable-xlarge/call_default.png
new file mode 100644
index 000000000..bbfa08f38
Binary files /dev/null and b/res/drawable-xlarge/call_default.png differ
diff --git a/res/drawable-xlarge/call_disabled.png b/res/drawable-xlarge/call_disabled.png
new file mode 100644
index 000000000..f178ee9a2
Binary files /dev/null and b/res/drawable-xlarge/call_disabled.png differ
diff --git a/res/drawable-xlarge/call_over.png b/res/drawable-xlarge/call_over.png
new file mode 100644
index 000000000..f03e156d6
Binary files /dev/null and b/res/drawable-xlarge/call_over.png differ
diff --git a/res/drawable-xlarge/cancel_white_bg_default.png b/res/drawable-xlarge/cancel_white_bg_default.png
new file mode 100644
index 000000000..3dad47eb4
Binary files /dev/null and b/res/drawable-xlarge/cancel_white_bg_default.png differ
diff --git a/res/drawable-xlarge/cancel_white_bg_disabled.png b/res/drawable-xlarge/cancel_white_bg_disabled.png
new file mode 100644
index 000000000..da4d42006
Binary files /dev/null and b/res/drawable-xlarge/cancel_white_bg_disabled.png differ
diff --git a/res/drawable-xlarge/cancel_white_bg_over.png b/res/drawable-xlarge/cancel_white_bg_over.png
new file mode 100644
index 000000000..4dea8f4c8
Binary files /dev/null and b/res/drawable-xlarge/cancel_white_bg_over.png differ
diff --git a/res/drawable-xlarge/chat_default.png b/res/drawable-xlarge/chat_default.png
new file mode 100644
index 000000000..09e2acd5a
Binary files /dev/null and b/res/drawable-xlarge/chat_default.png differ
diff --git a/res/drawable-xlarge/chat_over.png b/res/drawable-xlarge/chat_over.png
new file mode 100644
index 000000000..c6ff510b2
Binary files /dev/null and b/res/drawable-xlarge/chat_over.png differ
diff --git a/res/drawable-xlarge/chat_selected.png b/res/drawable-xlarge/chat_selected.png
new file mode 100644
index 000000000..ac50aa1f7
Binary files /dev/null and b/res/drawable-xlarge/chat_selected.png differ
diff --git a/res/drawable-xlarge/conference_default.png b/res/drawable-xlarge/conference_default.png
new file mode 100644
index 000000000..12f4072e6
Binary files /dev/null and b/res/drawable-xlarge/conference_default.png differ
diff --git a/res/drawable-xlarge/conference_over.png b/res/drawable-xlarge/conference_over.png
new file mode 100644
index 000000000..edc71a961
Binary files /dev/null and b/res/drawable-xlarge/conference_over.png differ
diff --git a/res/drawable-xlarge/contacts_default.png b/res/drawable-xlarge/contacts_default.png
new file mode 100644
index 000000000..4c754a33b
Binary files /dev/null and b/res/drawable-xlarge/contacts_default.png differ
diff --git a/res/drawable-xlarge/contacts_over.png b/res/drawable-xlarge/contacts_over.png
new file mode 100644
index 000000000..af9886500
Binary files /dev/null and b/res/drawable-xlarge/contacts_over.png differ
diff --git a/res/drawable-xlarge/contacts_selected.png b/res/drawable-xlarge/contacts_selected.png
new file mode 100644
index 000000000..397f71f8c
Binary files /dev/null and b/res/drawable-xlarge/contacts_selected.png differ
diff --git a/res/drawable-xlarge/dialer_address_background.png b/res/drawable-xlarge/dialer_address_background.png
new file mode 100644
index 000000000..302d82d5d
Binary files /dev/null and b/res/drawable-xlarge/dialer_address_background.png differ
diff --git a/res/drawable-xlarge/dialer_alt_default.png b/res/drawable-xlarge/dialer_alt_default.png
new file mode 100644
index 000000000..335163e0f
Binary files /dev/null and b/res/drawable-xlarge/dialer_alt_default.png differ
diff --git a/res/drawable-xlarge/dialer_alt_over.png b/res/drawable-xlarge/dialer_alt_over.png
new file mode 100644
index 000000000..117a8614a
Binary files /dev/null and b/res/drawable-xlarge/dialer_alt_over.png differ
diff --git a/res/drawable-xlarge/hangup_default.png b/res/drawable-xlarge/hangup_default.png
new file mode 100644
index 000000000..0c88f12d7
Binary files /dev/null and b/res/drawable-xlarge/hangup_default.png differ
diff --git a/res/drawable-xlarge/hangup_over.png b/res/drawable-xlarge/hangup_over.png
new file mode 100644
index 000000000..00fd688b6
Binary files /dev/null and b/res/drawable-xlarge/hangup_over.png differ
diff --git a/res/drawable-xlarge/history_default.png b/res/drawable-xlarge/history_default.png
new file mode 100644
index 000000000..ad31bf9b8
Binary files /dev/null and b/res/drawable-xlarge/history_default.png differ
diff --git a/res/drawable-xlarge/history_over.png b/res/drawable-xlarge/history_over.png
new file mode 100644
index 000000000..54944e122
Binary files /dev/null and b/res/drawable-xlarge/history_over.png differ
diff --git a/res/drawable-xlarge/history_selected.png b/res/drawable-xlarge/history_selected.png
new file mode 100644
index 000000000..e880fb325
Binary files /dev/null and b/res/drawable-xlarge/history_selected.png differ
diff --git a/res/drawable-xlarge/micro_off_default.png b/res/drawable-xlarge/micro_off_default.png
new file mode 100644
index 000000000..6512dee9d
Binary files /dev/null and b/res/drawable-xlarge/micro_off_default.png differ
diff --git a/res/drawable-xlarge/micro_off_disabled.png b/res/drawable-xlarge/micro_off_disabled.png
new file mode 100644
index 000000000..4e69a2135
Binary files /dev/null and b/res/drawable-xlarge/micro_off_disabled.png differ
diff --git a/res/drawable-xlarge/micro_off_over.png b/res/drawable-xlarge/micro_off_over.png
new file mode 100644
index 000000000..b9230d6e4
Binary files /dev/null and b/res/drawable-xlarge/micro_off_over.png differ
diff --git a/res/drawable-xlarge/micro_on_default.png b/res/drawable-xlarge/micro_on_default.png
new file mode 100644
index 000000000..e1677a4fd
Binary files /dev/null and b/res/drawable-xlarge/micro_on_default.png differ
diff --git a/res/drawable-xlarge/micro_on_disabled.png b/res/drawable-xlarge/micro_on_disabled.png
new file mode 100644
index 000000000..f8e3c49c3
Binary files /dev/null and b/res/drawable-xlarge/micro_on_disabled.png differ
diff --git a/res/drawable-xlarge/micro_on_over.png b/res/drawable-xlarge/micro_on_over.png
new file mode 100644
index 000000000..585fb8aa3
Binary files /dev/null and b/res/drawable-xlarge/micro_on_over.png differ
diff --git a/res/drawable-xlarge/options_add_default.png b/res/drawable-xlarge/options_add_default.png
new file mode 100644
index 000000000..f3aa84165
Binary files /dev/null and b/res/drawable-xlarge/options_add_default.png differ
diff --git a/res/drawable-xlarge/options_add_disabled.png b/res/drawable-xlarge/options_add_disabled.png
new file mode 100644
index 000000000..60874af11
Binary files /dev/null and b/res/drawable-xlarge/options_add_disabled.png differ
diff --git a/res/drawable-xlarge/options_add_over.png b/res/drawable-xlarge/options_add_over.png
new file mode 100644
index 000000000..59caf0945
Binary files /dev/null and b/res/drawable-xlarge/options_add_over.png differ
diff --git a/res/drawable-xlarge/options_default.png b/res/drawable-xlarge/options_default.png
new file mode 100644
index 000000000..891847836
Binary files /dev/null and b/res/drawable-xlarge/options_default.png differ
diff --git a/res/drawable-xlarge/options_disabled.png b/res/drawable-xlarge/options_disabled.png
new file mode 100644
index 000000000..9927bc551
Binary files /dev/null and b/res/drawable-xlarge/options_disabled.png differ
diff --git a/res/drawable-xlarge/options_over.png b/res/drawable-xlarge/options_over.png
new file mode 100644
index 000000000..e69476a04
Binary files /dev/null and b/res/drawable-xlarge/options_over.png differ
diff --git a/res/drawable-xlarge/options_selected.png b/res/drawable-xlarge/options_selected.png
new file mode 100644
index 000000000..69e81213d
Binary files /dev/null and b/res/drawable-xlarge/options_selected.png differ
diff --git a/res/drawable-xlarge/options_transfer_default.png b/res/drawable-xlarge/options_transfer_default.png
new file mode 100644
index 000000000..113291d4f
Binary files /dev/null and b/res/drawable-xlarge/options_transfer_default.png differ
diff --git a/res/drawable-xlarge/options_transfer_disabled.png b/res/drawable-xlarge/options_transfer_disabled.png
new file mode 100644
index 000000000..322d744c4
Binary files /dev/null and b/res/drawable-xlarge/options_transfer_disabled.png differ
diff --git a/res/drawable-xlarge/options_transfer_over.png b/res/drawable-xlarge/options_transfer_over.png
new file mode 100644
index 000000000..31bb2a738
Binary files /dev/null and b/res/drawable-xlarge/options_transfer_over.png differ
diff --git a/res/drawable-xlarge/pause_off_default.png b/res/drawable-xlarge/pause_off_default.png
new file mode 100644
index 000000000..c7d17c130
Binary files /dev/null and b/res/drawable-xlarge/pause_off_default.png differ
diff --git a/res/drawable-xlarge/pause_off_over.png b/res/drawable-xlarge/pause_off_over.png
new file mode 100644
index 000000000..72cfef5e2
Binary files /dev/null and b/res/drawable-xlarge/pause_off_over.png differ
diff --git a/res/drawable-xlarge/pause_on_default.png b/res/drawable-xlarge/pause_on_default.png
new file mode 100644
index 000000000..2aba53412
Binary files /dev/null and b/res/drawable-xlarge/pause_on_default.png differ
diff --git a/res/drawable-xlarge/pause_on_over.png b/res/drawable-xlarge/pause_on_over.png
new file mode 100644
index 000000000..60eb8a551
Binary files /dev/null and b/res/drawable-xlarge/pause_on_over.png differ
diff --git a/res/drawable-xlarge/settings_default.png b/res/drawable-xlarge/settings_default.png
new file mode 100644
index 000000000..0000e2465
Binary files /dev/null and b/res/drawable-xlarge/settings_default.png differ
diff --git a/res/drawable-xlarge/settings_over.png b/res/drawable-xlarge/settings_over.png
new file mode 100644
index 000000000..0e93432ee
Binary files /dev/null and b/res/drawable-xlarge/settings_over.png differ
diff --git a/res/drawable-xlarge/settings_selected.png b/res/drawable-xlarge/settings_selected.png
new file mode 100644
index 000000000..b1f1a1092
Binary files /dev/null and b/res/drawable-xlarge/settings_selected.png differ
diff --git a/res/drawable-xlarge/speaker_off_default.png b/res/drawable-xlarge/speaker_off_default.png
new file mode 100644
index 000000000..7c6cbd752
Binary files /dev/null and b/res/drawable-xlarge/speaker_off_default.png differ
diff --git a/res/drawable-xlarge/speaker_off_disabled.png b/res/drawable-xlarge/speaker_off_disabled.png
new file mode 100644
index 000000000..3eb0f62bb
Binary files /dev/null and b/res/drawable-xlarge/speaker_off_disabled.png differ
diff --git a/res/drawable-xlarge/speaker_off_over.png b/res/drawable-xlarge/speaker_off_over.png
new file mode 100644
index 000000000..b2f3a9316
Binary files /dev/null and b/res/drawable-xlarge/speaker_off_over.png differ
diff --git a/res/drawable-xlarge/speaker_on_default.png b/res/drawable-xlarge/speaker_on_default.png
new file mode 100644
index 000000000..120aa0058
Binary files /dev/null and b/res/drawable-xlarge/speaker_on_default.png differ
diff --git a/res/drawable-xlarge/speaker_on_disabled.png b/res/drawable-xlarge/speaker_on_disabled.png
new file mode 100644
index 000000000..6fa314087
Binary files /dev/null and b/res/drawable-xlarge/speaker_on_disabled.png differ
diff --git a/res/drawable-xlarge/speaker_on_over.png b/res/drawable-xlarge/speaker_on_over.png
new file mode 100644
index 000000000..bb8277584
Binary files /dev/null and b/res/drawable-xlarge/speaker_on_over.png differ
diff --git a/res/drawable-xlarge/statebar_background.png b/res/drawable-xlarge/statebar_background.png
new file mode 100644
index 000000000..a9ba49f10
Binary files /dev/null and b/res/drawable-xlarge/statebar_background.png differ
diff --git a/res/drawable-xlarge/transfer_default.png b/res/drawable-xlarge/transfer_default.png
new file mode 100644
index 000000000..2f5813ee1
Binary files /dev/null and b/res/drawable-xlarge/transfer_default.png differ
diff --git a/res/drawable-xlarge/transfer_over.png b/res/drawable-xlarge/transfer_over.png
new file mode 100644
index 000000000..8e5edebad
Binary files /dev/null and b/res/drawable-xlarge/transfer_over.png differ
diff --git a/res/drawable-xlarge/video_off_default.png b/res/drawable-xlarge/video_off_default.png
new file mode 100644
index 000000000..eacab0085
Binary files /dev/null and b/res/drawable-xlarge/video_off_default.png differ
diff --git a/res/drawable-xlarge/video_off_disabled.png b/res/drawable-xlarge/video_off_disabled.png
new file mode 100644
index 000000000..327a67cd4
Binary files /dev/null and b/res/drawable-xlarge/video_off_disabled.png differ
diff --git a/res/drawable-xlarge/video_off_over.png b/res/drawable-xlarge/video_off_over.png
new file mode 100644
index 000000000..5b9598b10
Binary files /dev/null and b/res/drawable-xlarge/video_off_over.png differ
diff --git a/res/drawable-xlarge/video_on_default.png b/res/drawable-xlarge/video_on_default.png
new file mode 100644
index 000000000..a85287600
Binary files /dev/null and b/res/drawable-xlarge/video_on_default.png differ
diff --git a/res/drawable-xlarge/video_on_disabled.png b/res/drawable-xlarge/video_on_disabled.png
new file mode 100644
index 000000000..35c27a72a
Binary files /dev/null and b/res/drawable-xlarge/video_on_disabled.png differ
diff --git a/res/drawable-xlarge/video_on_over.png b/res/drawable-xlarge/video_on_over.png
new file mode 100644
index 000000000..3d04d5423
Binary files /dev/null and b/res/drawable-xlarge/video_on_over.png differ
diff --git a/res/drawable/back.xml b/res/drawable/back.xml
new file mode 100644
index 000000000..10c0e21d2
--- /dev/null
+++ b/res/drawable/back.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/res/drawable/back_default.png b/res/drawable/back_default.png
new file mode 100644
index 000000000..37c4f57b4
Binary files /dev/null and b/res/drawable/back_default.png differ
diff --git a/res/drawable/back_over.png b/res/drawable/back_over.png
new file mode 100644
index 000000000..08c7cf98a
Binary files /dev/null and b/res/drawable/back_over.png differ
diff --git a/res/drawable/contact_edit.xml b/res/drawable/contact_edit.xml
new file mode 100644
index 000000000..52e3aa964
--- /dev/null
+++ b/res/drawable/contact_edit.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
diff --git a/res/drawable/contact_edit_default.png b/res/drawable/contact_edit_default.png
new file mode 100644
index 000000000..428ce5df8
Binary files /dev/null and b/res/drawable/contact_edit_default.png differ
diff --git a/res/drawable/contact_edit_over.png b/res/drawable/contact_edit_over.png
new file mode 100644
index 000000000..62c0a4c34
Binary files /dev/null and b/res/drawable/contact_edit_over.png differ
diff --git a/res/layout/contact.xml b/res/layout/contact.xml
index 5e6c44569..2803a7117 100644
--- a/res/layout/contact.xml
+++ b/res/layout/contact.xml
@@ -6,6 +6,41 @@
android:background="@drawable/background"
android:orientation="vertical" >
+
+
+
+
+
+
+
+
+
+
numerosOrAddresses) {
this.numerosOrAddresses = numerosOrAddresses;
}
+
+ public void refresh(ContentResolver cr) {
+ this.numerosOrAddresses = Compatibility.extractContactNumbersAndAddresses(id, cr);
+ this.name = Compatibility.refreshContactName(cr, id);
+ }
}
diff --git a/src/org/linphone/ContactFragment.java b/src/org/linphone/ContactFragment.java
index 00d6b6cb8..00c53a810 100644
--- a/src/org/linphone/ContactFragment.java
+++ b/src/org/linphone/ContactFragment.java
@@ -22,6 +22,7 @@ import java.io.InputStream;
import org.linphone.compatibility.Compatibility;
import org.linphone.ui.AvatarWithShadow;
+import android.content.Intent;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v4.app.Fragment;
@@ -29,23 +30,41 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
+import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TextView;
/**
* @author Sylvain Berfini
*/
-public class ContactFragment extends Fragment {
+public class ContactFragment extends Fragment implements OnClickListener {
private Contact contact;
+ private ImageView back, editContact, newContact;
private OnClickListener dialListener, chatListener;
+ private LayoutInflater inflater;
+ private View view;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
contact = (Contact) getArguments().getSerializable("Contact");
- contact.setNumerosOrAddresses(Compatibility.extractContactNumbersAndAddresses(contact.getID(), getActivity().getContentResolver()));
- View view = inflater.inflate(R.layout.contact, container, false);
+ this.inflater = inflater;
+ view = inflater.inflate(R.layout.contact, container, false);
+ back = (ImageView) view.findViewById(R.id.back);
+ back.setOnClickListener(this);
+ editContact = (ImageView) view.findViewById(R.id.editContact);
+ editContact.setOnClickListener(this);
+ newContact = (ImageView) view.findViewById(R.id.newContact);
+ newContact.setOnClickListener(this);
+
+ chatListener = getChatListener();
+ dialListener = getDialListener();
+
+ return view;
+ }
+
+ private void displayContact(LayoutInflater inflater, View view) {
AvatarWithShadow contactPicture = (AvatarWithShadow) view.findViewById(R.id.contactPicture);
if (contact.getPhotoUri() != null) {
InputStream input = Compatibility.getContactPictureInputStream(getActivity().getContentResolver(), contact.getID());
@@ -54,14 +73,11 @@ public class ContactFragment extends Fragment {
contactPicture.setBackgroundResource(R.drawable.unknown_small);
}
- chatListener = getChatListener();
- dialListener = getDialListener();
-
TextView contactName = (TextView) view.findViewById(R.id.contactName);
contactName.setText(contact.getName());
TableLayout controls = (TableLayout) view.findViewById(R.id.controls);
-
+ controls.removeAllViews();
for (String numberOrAddress : contact.getNumerosOrAddresses()) {
View v = inflater.inflate(R.layout.contact_control_row, null);
@@ -79,8 +95,6 @@ public class ContactFragment extends Fragment {
controls.addView(v);
}
-
- return view;
}
@Override
@@ -89,6 +103,8 @@ public class ContactFragment extends Fragment {
if (LinphoneActivity.isInstanciated()) {
LinphoneActivity.instance().selectMenu(FragmentsAvailable.CONTACT);
}
+ contact.refresh(getActivity().getContentResolver());
+ displayContact(inflater, view);
}
public OnClickListener getDialListener() {
@@ -108,4 +124,26 @@ public class ContactFragment extends Fragment {
}
};
}
+
+ @Override
+ public void onClick(View v) {
+ int id = v.getId();
+ Intent intent;
+
+ switch (id) {
+ case R.id.back:
+ LinphoneActivity.instance().onBackPressed();
+ break;
+
+ case R.id.editContact:
+ intent = Compatibility.prepareEditContactIntent(Integer.parseInt(contact.getID()));
+ startActivity(intent);
+ break;
+
+ case R.id.newContact:
+ intent = Compatibility.prepareAddContactIntent("", "");
+ startActivity(intent);
+ break;
+ }
+ }
}
diff --git a/src/org/linphone/compatibility/ApiFivePlus.java b/src/org/linphone/compatibility/ApiFivePlus.java
index ce12233f3..c906bf31e 100644
--- a/src/org/linphone/compatibility/ApiFivePlus.java
+++ b/src/org/linphone/compatibility/ApiFivePlus.java
@@ -267,4 +267,12 @@ public class ApiFivePlus {
return null;
}
+
+ public static String refreshContactName(ContentResolver cr, String id) {
+ Cursor c = getGeneralContactCursor(cr, Data.CONTACT_ID + " = '" + id + "'", false);
+ if (c.moveToFirst()) {
+ return getContactDisplayName(c);
+ }
+ return null;
+ }
}
diff --git a/src/org/linphone/compatibility/Compatibility.java b/src/org/linphone/compatibility/Compatibility.java
index 958a4ce0f..758c314d4 100644
--- a/src/org/linphone/compatibility/Compatibility.java
+++ b/src/org/linphone/compatibility/Compatibility.java
@@ -167,4 +167,13 @@ public class Compatibility {
}
return notif;
}
+
+ public static String refreshContactName(ContentResolver cr, String id) {
+ if (Version.sdkAboveOrEqual(5)) {
+ return ApiFivePlus.refreshContactName(cr, id);
+ } else {
+ //TODO
+ }
+ return null;
+ }
}