Fix the contacts' display name error

This commit is contained in:
Sylvain Berfini 2011-09-12 14:50:53 +02:00
parent c82918db91
commit 718c272b33

View file

@ -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();