FIX: Must show organization even if "position" is empty; FIX: Split nicknames into separate list (was combined with organizations and resulted in wrong sort order).
Bug: 2421235
Change-Id: I2cd2ecedc4c0ae05e916ecbdc912eb7715e41fee
diff --git a/src/com/android/contacts/ViewContactActivity.java b/src/com/android/contacts/ViewContactActivity.java
index 2b0c594..5313c28 100644
--- a/src/com/android/contacts/ViewContactActivity.java
+++ b/src/com/android/contacts/ViewContactActivity.java
@@ -128,6 +128,7 @@
/* package */ ArrayList<ViewEntry> mEmailEntries = new ArrayList<ViewEntry>();
/* package */ ArrayList<ViewEntry> mPostalEntries = new ArrayList<ViewEntry>();
/* package */ ArrayList<ViewEntry> mImEntries = new ArrayList<ViewEntry>();
+ /* package */ ArrayList<ViewEntry> mNicknameEntries = new ArrayList<ViewEntry>();
/* package */ ArrayList<ViewEntry> mOrganizationEntries = new ArrayList<ViewEntry>();
/* package */ ArrayList<ViewEntry> mGroupEntries = new ArrayList<ViewEntry>();
/* package */ ArrayList<ViewEntry> mOtherEntries = new ArrayList<ViewEntry>();
@@ -231,6 +232,7 @@
mSections.add(mEmailEntries);
mSections.add(mImEntries);
mSections.add(mPostalEntries);
+ mSections.add(mNicknameEntries);
mSections.add(mOrganizationEntries);
mSections.add(mGroupEntries);
mSections.add(mOtherEntries);
@@ -894,11 +896,15 @@
entry.applyStatus(status, false);
}
mImEntries.add(entry);
- } else if ((Organization.CONTENT_ITEM_TYPE.equals(mimeType)
- || Nickname.CONTENT_ITEM_TYPE.equals(mimeType)) && hasData) {
- // Build organization and note entries
+ } else if (Organization.CONTENT_ITEM_TYPE.equals(mimeType) &&
+ (hasData || !TextUtils.isEmpty(entry.label))) {
+ // Build organization entries
entry.uri = null;
mOrganizationEntries.add(entry);
+ } else if (Nickname.CONTENT_ITEM_TYPE.equals(mimeType) && hasData) {
+ // Build nickname entries
+ entry.uri = null;
+ mNicknameEntries.add(entry);
} else if (Note.CONTENT_ITEM_TYPE.equals(mimeType) && hasData) {
// Build note entries
entry.uri = null;