diff --git a/src/org/linphone/ContactPickerActivityNew.java b/src/org/linphone/ContactPickerActivityNew.java index aa0ab4a4e..273fdfea4 100644 --- a/src/org/linphone/ContactPickerActivityNew.java +++ b/src/org/linphone/ContactPickerActivityNew.java @@ -113,6 +113,7 @@ public class ContactPickerActivityNew extends AbstractContactPickerActivity { c.close(); + // Using the SIP contact field added in SDK 9 if (Version.sdkAboveOrEqual(Version.API09_GINGERBREAD_23)) { selection = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?"; String projection[] = new String[] {ContactsContract.CommonDataKinds.SipAddress.SIP_ADDRESS}; @@ -147,8 +148,9 @@ public class ContactPickerActivityNew extends AbstractContactPickerActivity { if (resultCode == RESULT_OK) { String id = intent.getData().getLastPathSegment(); String contactName = intent.getStringExtra(Intent.EXTRA_SHORTCUT_NAME); - if (contactName == null) + if (contactName == null) { contactName = retrieveContactName(id); + } choosePhoneNumberAndDial(contactName, id); } } @@ -158,14 +160,15 @@ public class ContactPickerActivityNew extends AbstractContactPickerActivity { private String retrieveContactName(String id) { - Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; - String selection = ContactsContract.CommonDataKinds.Phone._ID + " = ?"; + //Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; + Uri uri = ContactsContract.Contacts.CONTENT_URI; + String selection = ContactsContract.Contacts._ID + " = ?"; String[] selArgs = new String[] {id}; Cursor c = this.getContentResolver().query(uri, null, selection, selArgs, null); String name = ""; if (c.moveToFirst()) { - name = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); + name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); } c.close();