summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaiyiz <kaiyiz@codeaurora.org>2014-10-16 13:18:07 +0800
committerXiaojing Zhang <zhangx@codeaurora.org>2014-11-04 20:32:50 -0800
commit0641ce71c86995102d5d686089f474b075529ff4 (patch)
tree2f89ef12308fb1e597cd4b7b1f67e9478a3e6979
parent5de30b3d17ba03e6ef66e159f6e08d6fd3b95991 (diff)
downloadpackages_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.java53
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();