Re-implements the group filtering intent, as supported previously.
diff --git a/src/com/android/contacts/ContactsListActivity.java b/src/com/android/contacts/ContactsListActivity.java
index cf60b51..ed1e39a 100644
--- a/src/com/android/contacts/ContactsListActivity.java
+++ b/src/com/android/contacts/ContactsListActivity.java
@@ -168,6 +168,7 @@
/** Show all postal addresses and pick them when clicking */
static final int MODE_PICK_POSTAL =
55 | MODE_MASK_PICKER | MODE_MASK_NO_PRESENCE | MODE_MASK_NO_FILTER;
+ static final int MODE_GROUP = 57 | MODE_MASK_SHOW_PHOTOS;
/** Run a search query */
static final int MODE_QUERY = 60 | MODE_MASK_NO_FILTER;
/** Run a search query in PICK mode, but that still launches to VIEW */
@@ -264,6 +265,8 @@
*/
private int mQueryPersonIdIndex;
+ private Uri mGroupUri;
+
private long mQueryAggregateId;
/**
@@ -327,15 +330,15 @@
mMode = MODE_DEFAULT;
// When mDefaultMode is true the mode is set in onResume(), since the preferneces
// activity may change it whenever this activity isn't running
- } /* else if (UI.LIST_GROUP_ACTION.equals(action)) {
+ } else if (UI.LIST_GROUP_ACTION.equals(action)) {
mMode = MODE_GROUP;
String groupName = intent.getStringExtra(UI.GROUP_NAME_EXTRA_KEY);
if (TextUtils.isEmpty(groupName)) {
finish();
return;
}
- buildUserGroupUris(groupName);
- }*/ else if (UI.LIST_ALL_CONTACTS_ACTION.equals(action)) {
+ buildUserGroupUri(groupName);
+ } else if (UI.LIST_ALL_CONTACTS_ACTION.equals(action)) {
mMode = MODE_CUSTOM;
mDisplayAll = true;
mDisplayOnlyPhones = false;
@@ -525,6 +528,10 @@
empty.setGravity(gravity);
}
+ private void buildUserGroupUri(String group) {
+ mGroupUri = Uri.withAppendedPath(Aggregates.CONTENT_SUMMARY_GROUP_URI, group);
+ }
+
/**
* Sets the mode when the request is for "default"
*/
@@ -1021,11 +1028,11 @@
// Kick off the new query
switch (mMode) {
- /* case MODE_GROUP:
+ case MODE_GROUP:
mQueryHandler.startQuery(QUERY_TOKEN, null,
- mGroupUri, CONTACTS_PROJECTION, null, null,
- getSortOrder(CONTACTS_PROJECTION));
- break; */
+ mGroupUri, AGGREGATES_SUMMARY_PROJECTION, getAggregateSelection(), null,
+ getSortOrder(AGGREGATES_SUMMARY_PROJECTION));
+ break;
case MODE_DEFAULT:
case MODE_PICK_AGGREGATE: