Displaying phonetic name when available.
Change-Id: Ia9293fdc19b1b22ad3b1366ee1e2850199739664
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index 3f5bf29..5cc0254 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -291,7 +291,8 @@
Contacts.CONTACT_PRESENCE, // 6
Contacts.PHOTO_ID, // 7
Contacts.LOOKUP_KEY, // 8
- Contacts.HAS_PHONE_NUMBER, // 9
+ Contacts.PHONETIC_NAME, // 9
+ Contacts.HAS_PHONE_NUMBER, // 10
};
static final String[] CONTACTS_SUMMARY_PROJECTION_FROM_EMAIL = new String[] {
Contacts._ID, // 0
@@ -303,6 +304,7 @@
Contacts.CONTACT_PRESENCE, // 6
Contacts.PHOTO_ID, // 7
Contacts.LOOKUP_KEY, // 8
+ Contacts.PHONETIC_NAME, // 9
// email lookup doesn't included HAS_PHONE_NUMBER in projection
};
@@ -316,10 +318,11 @@
Contacts.CONTACT_PRESENCE, // 6
Contacts.PHOTO_ID, // 7
Contacts.LOOKUP_KEY, // 8
- Contacts.HAS_PHONE_NUMBER, // 9
- SearchSnippetColumns.SNIPPET_MIMETYPE, // 10
- SearchSnippetColumns.SNIPPET_DATA1, // 11
- SearchSnippetColumns.SNIPPET_DATA4, // 12
+ Contacts.PHONETIC_NAME, // 9
+ Contacts.HAS_PHONE_NUMBER, // 10
+ SearchSnippetColumns.SNIPPET_MIMETYPE, // 11
+ SearchSnippetColumns.SNIPPET_DATA1, // 12
+ SearchSnippetColumns.SNIPPET_DATA4, // 13
};
static final String[] LEGACY_PEOPLE_PROJECTION = new String[] {
@@ -340,10 +343,11 @@
static final int SUMMARY_PRESENCE_STATUS_COLUMN_INDEX = 6;
static final int SUMMARY_PHOTO_ID_COLUMN_INDEX = 7;
static final int SUMMARY_LOOKUP_KEY_COLUMN_INDEX = 8;
- static final int SUMMARY_HAS_PHONE_COLUMN_INDEX = 9;
- static final int SUMMARY_SNIPPET_MIMETYPE_COLUMN_INDEX = 10;
- static final int SUMMARY_SNIPPET_DATA1_COLUMN_INDEX = 11;
- static final int SUMMARY_SNIPPET_DATA4_COLUMN_INDEX = 12;
+ static final int SUMMARY_PHONETIC_NAME_COLUMN_INDEX = 9;
+ static final int SUMMARY_HAS_PHONE_COLUMN_INDEX = 10;
+ static final int SUMMARY_SNIPPET_MIMETYPE_COLUMN_INDEX = 11;
+ static final int SUMMARY_SNIPPET_DATA1_COLUMN_INDEX = 12;
+ static final int SUMMARY_SNIPPET_DATA4_COLUMN_INDEX = 13;
static final String[] PHONES_PROJECTION = new String[] {
Phone._ID, //0
@@ -2550,6 +2554,7 @@
public ImageView nonQuickContactPhotoView;
public CharArrayBuffer highlightedTextBuffer = new CharArrayBuffer(128);
public TextWithHighlighting textWithHighlighting;
+ public CharArrayBuffer phoneticNameBuffer = new CharArrayBuffer(128);
}
final static class PinnedHeaderCache {
@@ -2856,6 +2861,7 @@
int labelColumnIndex;
int defaultType;
int nameColumnIndex;
+ int phoneticNameColumnIndex;
boolean displayAdditionalData = mDisplayAdditionalData;
boolean highlightingEnabled = false;
switch(mMode) {
@@ -2863,6 +2869,7 @@
case MODE_LEGACY_PICK_PHONE:
case MODE_QUERY_PICK_PHONE: {
nameColumnIndex = PHONE_DISPLAY_NAME_COLUMN_INDEX;
+ phoneticNameColumnIndex = -1;
dataColumnIndex = PHONE_NUMBER_COLUMN_INDEX;
typeColumnIndex = PHONE_TYPE_COLUMN_INDEX;
labelColumnIndex = PHONE_LABEL_COLUMN_INDEX;
@@ -2872,6 +2879,7 @@
case MODE_PICK_POSTAL:
case MODE_LEGACY_PICK_POSTAL: {
nameColumnIndex = POSTAL_DISPLAY_NAME_COLUMN_INDEX;
+ phoneticNameColumnIndex = -1;
dataColumnIndex = POSTAL_ADDRESS_COLUMN_INDEX;
typeColumnIndex = POSTAL_TYPE_COLUMN_INDEX;
labelColumnIndex = POSTAL_LABEL_COLUMN_INDEX;
@@ -2880,6 +2888,7 @@
}
default: {
nameColumnIndex = getSummaryDisplayNameColumnIndex();
+ phoneticNameColumnIndex = SUMMARY_PHONETIC_NAME_COLUMN_INDEX;
dataColumnIndex = -1;
typeColumnIndex = -1;
labelColumnIndex = -1;
@@ -2998,7 +3007,21 @@
if (!displayAdditionalData) {
cache.dataView.setVisibility(View.GONE);
- cache.labelView.setVisibility(View.GONE);
+
+ if (phoneticNameColumnIndex != -1) {
+
+ // Set the name
+ cursor.copyStringToBuffer(phoneticNameColumnIndex, cache.phoneticNameBuffer);
+ int phoneticNameSize = cache.phoneticNameBuffer.sizeCopied;
+ if (phoneticNameSize != 0) {
+ cache.labelView.setText(cache.phoneticNameBuffer.data, 0, phoneticNameSize);
+ cache.labelView.setVisibility(View.VISIBLE);
+ } else {
+ cache.labelView.setVisibility(View.GONE);
+ }
+ } else {
+ cache.labelView.setVisibility(View.GONE);
+ }
return;
}