diff options
author | Danny Baumann <dannybaumann@web.de> | 2015-03-25 15:17:32 +0100 |
---|---|---|
committer | Danny Baumann <dannybaumann@web.de> | 2015-03-25 15:33:32 +0100 |
commit | 7fff99adaf6411aeef6a987a5ea36a7f2f16ff4b (patch) | |
tree | 40adecb7804c5614ce5d09565999cdb4d485ab87 | |
parent | 0d4dea329d77f6aa1bd1023892e6c0a7cf6090cb (diff) | |
download | packages_apps_Contacts-staging/cm-12.1-test.tar.gz packages_apps_Contacts-staging/cm-12.1-test.tar.bz2 packages_apps_Contacts-staging/cm-12.1-test.zip |
Display group memberships in a meaningful way.staging/cm-12.1-test
Change-Id: I60d789b3cf533173a46417bf6876e7098cde2335
-rw-r--r-- | src/com/android/contacts/quickcontact/QuickContactActivity.java | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/com/android/contacts/quickcontact/QuickContactActivity.java b/src/com/android/contacts/quickcontact/QuickContactActivity.java index 9424cb7ee..15013470f 100644 --- a/src/com/android/contacts/quickcontact/QuickContactActivity.java +++ b/src/com/android/contacts/quickcontact/QuickContactActivity.java @@ -124,6 +124,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; @@ -1664,6 +1665,12 @@ public class QuickContactActivity extends ContactsActivity { if (dataItems.get(0).getMimeType().equals(MIMETYPE_GPLUS_PROFILE) || dataItems.get(0).getMimeType().equals(MIMETYPE_HANGOUTS)) { return gPlusOrHangoutsDataItemsToEntries(dataItems); + } else if (dataItems.get(0).getMimeType().equals(GroupMembership.CONTENT_ITEM_TYPE)) { + final Entry entry = groupDataItemsToEntry(dataItems); + if (entry != null) { + return Lists.newArrayList(entry); + } + return null; } else { final List<Entry> entries = new ArrayList<>(); for (DataItem dataItem : dataItems) { @@ -1677,6 +1684,39 @@ public class QuickContactActivity extends ContactsActivity { } } + private Entry groupDataItemsToEntry(List<DataItem> dataItems) { + final List<String> titles = new ArrayList<>(); + for (DataItem dataItem : dataItems) { + final String title = dataItem instanceof GroupMembershipDataItem + ? ((GroupMembershipDataItem) dataItem).getGroupTitle() : null; + if (title != null) { + titles.add(title); + } + } + if (titles.isEmpty()) { + return null; + } + + return new Entry(/* viewId = */ -1, /* icon = */ null, + /* header */ getResources().getString(R.string.contacts_groups_label), + /* subHeader */ null, + /* subHeaderIcon = */ null, + /* text = */ TextUtils.join(", ", titles), + /* textIcon = */ null, + /* primaryContentDescription = */ null, + /* intent = */ null, + /* alternateIcon = */ null, + /* alternateIntent = */ null, + /* alternateContentDescription = */ null, + /* shouldApplyColor = */ true, + /* isEditable = */ false, + /* EntryContextMenuInfo = */ null, + /* thirdIcon = */ null, + /* thirdIntent = */ null, + /* thirdContentDescription = */ null, + /* iconResourceId = */ 0); + } + /** * G+ and Hangout entries are unique in that a single ExpandingEntryCardView.Entry consists * of two data items. This method attempts to build each entry using the two data items if |