Merge "Add link/unlink options to QuickContact"
diff --git a/src/com/android/contacts/GroupListLoader.java b/src/com/android/contacts/GroupListLoader.java
index 4816a5e..51695f5 100644
--- a/src/com/android/contacts/GroupListLoader.java
+++ b/src/com/android/contacts/GroupListLoader.java
@@ -29,12 +29,6 @@
  * groups.
  */
 public final class GroupListLoader extends CursorLoader {
-
-    public final static String DEFAULT_SELECTION =
-            Groups.ACCOUNT_TYPE + " NOT NULL AND " +
-                    Groups.ACCOUNT_NAME + " NOT NULL AND " + Groups.AUTO_ADD + "=0 AND " +
-                    Groups.FAVORITES + "=0 AND " + Groups.DELETED + "=0";
-
     private final static String[] COLUMNS = new String[] {
         Groups.ACCOUNT_NAME,
         Groups.ACCOUNT_TYPE,
@@ -61,7 +55,7 @@
         super(context,
                 GROUP_LIST_URI,
                 COLUMNS,
-                DEFAULT_SELECTION,
+                GroupUtil.DEFAULT_SELECTION,
                 null,
                 GroupUtil.getGroupsSortOrder());
     }
diff --git a/src/com/android/contacts/GroupMetaDataLoader.java b/src/com/android/contacts/GroupMetaDataLoader.java
index 57aa67b..200d919 100644
--- a/src/com/android/contacts/GroupMetaDataLoader.java
+++ b/src/com/android/contacts/GroupMetaDataLoader.java
@@ -51,7 +51,12 @@
     public final static int DELETED = 8;
 
     public GroupMetaDataLoader(Context context, Uri groupUri) {
-        super(context, ensureIsGroupUri(groupUri), COLUMNS, GroupListLoader.DEFAULT_SELECTION, null,
+        super(context, ensureIsGroupUri(groupUri), COLUMNS, GroupUtil.DEFAULT_SELECTION, null,
+                GroupUtil.getGroupsSortOrder());
+    }
+
+    public GroupMetaDataLoader(Context context, Uri groupUri, String selection) {
+        super(context, ensureIsGroupUri(groupUri), COLUMNS, selection, null,
                 GroupUtil.getGroupsSortOrder());
     }
 
diff --git a/src/com/android/contacts/editor/ContactEditorFragment.java b/src/com/android/contacts/editor/ContactEditorFragment.java
index 05a69ec..80e1b82 100644
--- a/src/com/android/contacts/editor/ContactEditorFragment.java
+++ b/src/com/android/contacts/editor/ContactEditorFragment.java
@@ -78,6 +78,7 @@
 import com.android.contacts.common.util.ImplicitIntentsUtil;
 import com.android.contacts.common.util.MaterialColorMapUtils;
 import com.android.contacts.editor.AggregationSuggestionEngine.Suggestion;
+import com.android.contacts.group.GroupUtil;
 import com.android.contacts.list.UiIntentActions;
 import com.android.contacts.quickcontact.InvisibleContactUtil;
 import com.android.contacts.quickcontact.QuickContactActivity;
@@ -426,7 +427,8 @@
 
                 @Override
                 public CursorLoader onCreateLoader(int id, Bundle args) {
-                    return new GroupMetaDataLoader(mContext, ContactsContract.Groups.CONTENT_URI);
+                    return new GroupMetaDataLoader(mContext, ContactsContract.Groups.CONTENT_URI,
+                            GroupUtil.ALL_GROUPS_SELECTION);
                 }
 
                 @Override
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index 8976270..1a99a65 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -42,6 +42,13 @@
  */
 public final class GroupUtil {
 
+    public final static String ALL_GROUPS_SELECTION =
+            Groups.ACCOUNT_TYPE + " NOT NULL AND " + Groups.ACCOUNT_NAME + " NOT NULL AND "
+                    + Groups.DELETED + "=0";
+
+    public final static String DEFAULT_SELECTION = ALL_GROUPS_SELECTION + " AND "
+            + Groups.AUTO_ADD + "=0 AND " + Groups.FAVORITES + "=0";
+
     public static final String ACTION_ADD_TO_GROUP = "addToGroup";
     public static final String ACTION_CREATE_GROUP = "createGroup";
     public static final String ACTION_DELETE_GROUP = "deleteGroup";
diff --git a/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java b/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
index 73b09c6..32930f9 100644
--- a/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
+++ b/tests/src/com/android/contacts/tests/allintents/AllIntentsActivity.java
@@ -45,6 +45,7 @@
 import android.widget.Toast;
 
 import com.android.contacts.GroupListLoader;
+import com.android.contacts.group.GroupUtil;
 import com.android.contacts.list.UiIntentActions;
 import com.android.contacts.tests.R;
 import com.android.contacts.tests.quickcontact.QuickContactTestsActivity;
@@ -585,7 +586,7 @@
     private long findArbitraryGroup() {
         final Cursor cursor = getContentResolver().query(Groups.CONTENT_URI,
                 new String[] { Groups._ID },
-                GroupListLoader.DEFAULT_SELECTION,
+                GroupUtil.DEFAULT_SELECTION,
                 null,
                 "RANDOM() LIMIT 1");
         try {