diff options
author | kaiyiz <kaiyiz@codeaurora.org> | 2014-10-16 13:18:07 +0800 |
---|---|---|
committer | Xiaojing Zhang <zhangx@codeaurora.org> | 2014-11-04 20:32:50 -0800 |
commit | 0641ce71c86995102d5d686089f474b075529ff4 (patch) | |
tree | 2f89ef12308fb1e597cd4b7b1f67e9478a3e6979 | |
parent | 5de30b3d17ba03e6ef66e159f6e08d6fd3b95991 (diff) | |
download | packages_apps_Contacts-0641ce71c86995102d5d686089f474b075529ff4.tar.gz packages_apps_Contacts-0641ce71c86995102d5d686089f474b075529ff4.tar.bz2 packages_apps_Contacts-0641ce71c86995102d5d686089f474b075529ff4.zip |
Contacts: Should display group info in contact detail interface.
Contacts detail does not display the group info data.
Add the group info data in contact detail.
CRs-fixed: 730063
Change-Id: I299e13c7552f6e168085a0fda1107fa9e41f2ca1
-rw-r--r-- | src/com/android/contacts/quickcontact/QuickContactActivity.java | 53 |
1 files changed, 52 insertions, 1 deletions
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java index 0337e2d38..0632108a5 100644 --- a/src/com/android/contacts/quickcontact/QuickContactActivity.java +++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java @@ -106,6 +106,7 @@ import com.android.contacts.common.CallUtil; import com.android.contacts.common.ClipboardUtils; import com.android.contacts.common.Collapser; import com.android.contacts.common.ContactsUtils; +import com.android.contacts.common.GroupMetaData; import com.android.contacts.common.editor.SelectAccountDialogFragment; import com.android.contacts.common.interactions.TouchPointManager; import com.android.contacts.common.lettertiles.LetterTileDrawable; @@ -122,6 +123,7 @@ import com.android.contacts.common.model.dataitem.DataItem; import com.android.contacts.common.model.dataitem.DataKind; import com.android.contacts.common.model.dataitem.EmailDataItem; import com.android.contacts.common.model.dataitem.EventDataItem; +import com.android.contacts.common.model.dataitem.GroupMembershipDataItem; import com.android.contacts.common.model.dataitem.ImDataItem; import com.android.contacts.common.model.dataitem.NicknameDataItem; import com.android.contacts.common.model.dataitem.NoteDataItem; @@ -1176,6 +1178,30 @@ public class QuickContactActivity extends ContactsActivity { } /** + * Maps group ID to the corresponding group name, collapses all synonymous groups. Ignores + * default groups (e.g. My Contacts) and favorites groups. + */ + private static String getGroupName(List<GroupMetaData> groupMetaData, long groupId) { + if (groupMetaData == null) { + return ""; + } + + for (GroupMetaData group : groupMetaData) { + if (group.getGroupId() == groupId) { + if (!group.isDefaultGroup() && !group.isFavorites()) { + String title = group.getTitle(); + if (!TextUtils.isEmpty(title)) { + return title; + } + } + break; + } + } + + return ""; + } + + /** * Create a card that shows "Add email" and "Add phone number" entries in grey. */ private void initializeNoContactDetailCard() { @@ -1608,6 +1634,31 @@ public class QuickContactActivity extends ContactsActivity { } else { aboutCardName.value = res.getString(R.string.about_card_title); } + } else if (dataItem instanceof GroupMembershipDataItem) { + GroupMembershipDataItem groupMembership = + (GroupMembershipDataItem) dataItem; + Long groupId = groupMembership.getGroupRowId(); + if (groupId != null) { + return new Entry(/* viewId = */-1, + /* icon = */null, + res.getString(R.string.groupsLabel), + getGroupName(contactData.getGroupMetaData(), + groupId), + /* text = */null, + /* primaryContentDescription = */null, + /* intent = */null, + /* alternateIcon = */null, + /* alternateIntent = */null, + /* alternateContentDescription = */null, + /* shouldApplyColor = */false, + /* isEditable = */false, + /* EntryContextMenuInfo = */null, + /* thirdIcon = */null, + /* thirdIntent = */null, + /* thirdContentDescription = */null, + /* iconResourceId = */0); + } + return null; } else { // Custom DataItem header = dataItem.buildDataStringForDisplay(context, kind); @@ -2218,7 +2269,7 @@ public class QuickContactActivity extends ContactsActivity { final List<ResolveInfo> receivers = getPackageManager() .queryBroadcastReceivers(createShortcutIntent, 0); return receivers != null && receivers.size() > 0; - } + } private void sendContactViaSMS() { // Get name string String name = mContactData.getDisplayName(); |