Rename GroupMemberPickerFragment rawContactsIds

... and all associated ARG and KEY constants to
contactsIds, since that's what it really is. Also

* Share the selection clause between GroupMetaDataLoader
  and GroupListLoader -- we were inconsistent in filtering
  out auto add and favorites groups.

* Remove unsued groups methods:
  - GroupMemberPicker.Listener#onGroupMembersSelected
  - GroupUtil#bindPhoto

* Remove some obsolete comments, fix some others

Test: Manually create and edit editable and read-only groups

Change-Id: I9607225d1a61f8673b7d1461149ae30e253c781d
diff --git a/src/com/android/contacts/GroupMetaDataLoader.java b/src/com/android/contacts/GroupMetaDataLoader.java
index 8cdca2e..26cdb44 100644
--- a/src/com/android/contacts/GroupMetaDataLoader.java
+++ b/src/com/android/contacts/GroupMetaDataLoader.java
@@ -51,10 +51,8 @@
     public final static int DELETED = 8;
 
     public GroupMetaDataLoader(Context context, Uri groupUri) {
-        super(context, ensureIsGroupUri(groupUri), COLUMNS,
-                Groups.ACCOUNT_TYPE + " NOT NULL AND " + Groups.ACCOUNT_NAME + " NOT NULL AND "
-                        + Groups.DELETED + "=0",
-                null, GroupUtil.getGroupsSortOrder());
+        super(context, ensureIsGroupUri(groupUri), COLUMNS, GroupListLoader.DEFAULT_SELECTION, null,
+                GroupUtil.getGroupsSortOrder());
     }
 
     /**
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index 7bb921d..46e5d9c 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -564,11 +564,6 @@
         }
 
         @Override
-        public void onGroupMembersSelected(long[] contactIds) {
-            returnSelectedContacts(contactIds);
-        }
-
-        @Override
         public void onSelectGroupMembers() {
             mActionBarAdapter.setSelectionMode(true);
         }
diff --git a/src/com/android/contacts/common/list/ContactListFilter.java b/src/com/android/contacts/common/list/ContactListFilter.java
index 2bae617..4c8ca89 100644
--- a/src/com/android/contacts/common/list/ContactListFilter.java
+++ b/src/com/android/contacts/common/list/ContactListFilter.java
@@ -315,7 +315,8 @@
     /**
      * Adds the account query parameters to the given {@code uriBuilder}.
      *
-     * @throws IllegalStateException if the filter type is not {@link #FILTER_TYPE_ACCOUNT}.
+     * @throws IllegalStateException if the filter type is not {@link #FILTER_TYPE_ACCOUNT} or
+     * {@link #FILTER_TYPE_GROUP_MEMBERS}.
      */
     public Uri.Builder addAccountQueryParameterToUrl(Uri.Builder uriBuilder) {
         if (filterType != FILTER_TYPE_ACCOUNT
diff --git a/src/com/android/contacts/common/list/DefaultContactListAdapter.java b/src/com/android/contacts/common/list/DefaultContactListAdapter.java
index 43cca1a..cf3f6f6 100644
--- a/src/com/android/contacts/common/list/DefaultContactListAdapter.java
+++ b/src/com/android/contacts/common/list/DefaultContactListAdapter.java
@@ -240,8 +240,6 @@
                 break;
             }
             case ContactListFilter.FILTER_TYPE_GROUP_MEMBERS: {
-                // TODO(wjang): check if we need it
-                // selection.append(Contacts.IN_VISIBLE_GROUP + "=1");
                 break;
             }
             case ContactListFilter.FILTER_TYPE_DEVICE_CONTACTS: {
diff --git a/src/com/android/contacts/group/GroupMembersFragment.java b/src/com/android/contacts/group/GroupMembersFragment.java
index 769a083..48dccfe 100644
--- a/src/com/android/contacts/group/GroupMembersFragment.java
+++ b/src/com/android/contacts/group/GroupMembersFragment.java
@@ -252,7 +252,7 @@
     }
 
     public ArrayList<String> getMemberContactIds() {
-        return  new ArrayList<>(mGroupMemberContactIds);
+        return new ArrayList<>(mGroupMemberContactIds);
     }
 
     public int getMemberCount() {
diff --git a/src/com/android/contacts/group/GroupUtil.java b/src/com/android/contacts/group/GroupUtil.java
index b54126e..d1780e1 100644
--- a/src/com/android/contacts/group/GroupUtil.java
+++ b/src/com/android/contacts/group/GroupUtil.java
@@ -25,17 +25,13 @@
 import android.provider.ContactsContract.Contacts;
 import android.provider.ContactsContract.Groups;
 import android.text.TextUtils;
-import android.widget.ImageView;
 
 import com.android.contacts.GroupListLoader;
 import com.android.contacts.activities.ContactSelectionActivity;
 import com.android.contacts.activities.GroupMembersActivity;
-import com.android.contacts.common.ContactPhotoManager;
-import com.android.contacts.common.ContactPhotoManager.DefaultImageRequest;
 import com.android.contacts.common.list.ContactsSectionIndexer;
 import com.android.contacts.common.model.account.GoogleAccountType;
 import com.android.contacts.list.UiIntentActions;
-import com.google.common.base.Objects;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -81,9 +77,9 @@
             String previousGroupAccountType = cursor.getString(GroupListLoader.ACCOUNT_TYPE);
             String previousGroupDataSet = cursor.getString(GroupListLoader.DATA_SET);
 
-            if (accountName.equals(previousGroupAccountName) &&
-                    accountType.equals(previousGroupAccountType) &&
-                    Objects.equal(dataSet, previousGroupDataSet)) {
+            if (TextUtils.equals(accountName, previousGroupAccountName)
+                    && TextUtils.equals(accountType, previousGroupAccountType)
+                    && TextUtils.equals(dataSet, previousGroupDataSet)) {
                 isFirstGroupInAccount = false;
             }
         }
@@ -92,25 +88,6 @@
                 isFirstGroupInAccount, memberCount, isReadOnly, systemId);
     }
 
-    /**
-     * @param identifier the {@link ContactPhotoManager.DefaultImageRequest#identifier}
-     *         to use for this the group member.
-     */
-    public static void bindPhoto(ContactPhotoManager photoManager, ImageView imageView,
-            long photoId, Uri photoUri, String displayName, String identifier) {
-        if (photoId == 0) {
-            final DefaultImageRequest defaultImageRequest = photoUri == null
-                    ? new DefaultImageRequest(displayName, identifier,
-                            /* circularPhotos */ true)
-                    : null;
-            photoManager.loadDirectoryPhoto(imageView, photoUri, /* darkTheme */ false,
-                        /* isCircular */ true, defaultImageRequest);
-        } else {
-            photoManager.loadThumbnail(imageView, photoId, /* darkTheme */ false,
-                        /* isCircular */ true, /* defaultImageRequest */ null);
-        }
-    }
-
     /** Returns an Intent to view the details of the group identified by the given URI. */
     public static Intent createViewGroupIntent(Context context, Uri groupUri, String title) {
         final Intent intent = new Intent(context, GroupMembersActivity.class);
diff --git a/src/com/android/contacts/list/GroupMemberPickerFragment.java b/src/com/android/contacts/list/GroupMemberPickerFragment.java
index 6f4d0c0..c6f7493 100644
--- a/src/com/android/contacts/list/GroupMemberPickerFragment.java
+++ b/src/com/android/contacts/list/GroupMemberPickerFragment.java
@@ -52,12 +52,12 @@
     private static final String KEY_ACCOUNT_NAME = "accountName";
     private static final String KEY_ACCOUNT_TYPE = "accountType";
     private static final String KEY_ACCOUNT_DATA_SET = "accountDataSet";
-    private static final String KEY_RAW_CONTACT_IDS = "rawContactIds";
+    private static final String KEY_CONTACT_IDS = "contactIds";
 
     private static final String ARG_ACCOUNT_NAME = "accountName";
     private static final String ARG_ACCOUNT_TYPE = "accountType";
     private static final String ARG_ACCOUNT_DATA_SET = "accountDataSet";
-    private static final String ARG_RAW_CONTACT_IDS = "rawContactIds";
+    private static final String ARG_CONTACT_IDS = "contactIds";
 
     /** Callbacks for host of {@link GroupMemberPickerFragment}. */
     public interface Listener {
@@ -65,9 +65,6 @@
         /** Invoked when a potential group member is selected. */
         void onGroupMemberClicked(long contactId);
 
-        /** Invoked when multiple potential group members are selected. */
-        void onGroupMembersSelected(long[] contactIds);
-
         /** Invoked when user has initiated multiple selection mode. */
         void onSelectGroupMembers();
     }
@@ -101,7 +98,7 @@
             for (int i = 0; i < mCount; i++) {
                 super.moveToPosition(i);
                 final String contactId = getString(ContactQuery.CONTACT_ID);
-                if (!mRawContactIds.contains(contactId)) {
+                if (!mContactIds.contains(contactId)) {
                     mIndex[mPos++] = i;
                 } else {
                     indicesToFilter.add(i);
@@ -173,16 +170,16 @@
     private String mAccountName;
     private String mAccountType;
     private String mAccountDataSet;
-    private ArrayList<String> mRawContactIds;
+    private ArrayList<String> mContactIds;
     private Listener mListener;
 
     public static GroupMemberPickerFragment newInstance(String accountName, String accountType,
-            String accountDataSet, ArrayList<String> rawContactIds) {
+            String accountDataSet, ArrayList<String> contactIds) {
         final Bundle args = new Bundle();
         args.putString(ARG_ACCOUNT_NAME, accountName);
         args.putString(ARG_ACCOUNT_TYPE, accountType);
         args.putString(ARG_ACCOUNT_DATA_SET, accountDataSet);
-        args.putStringArrayList(ARG_RAW_CONTACT_IDS, rawContactIds);
+        args.putStringArrayList(ARG_CONTACT_IDS, contactIds);
 
         final GroupMemberPickerFragment fragment = new GroupMemberPickerFragment();
         fragment.setArguments(args);
@@ -202,12 +199,12 @@
             mAccountName = getArguments().getString(ARG_ACCOUNT_NAME);
             mAccountType = getArguments().getString(ARG_ACCOUNT_TYPE);
             mAccountDataSet = getArguments().getString(ARG_ACCOUNT_DATA_SET);
-            mRawContactIds = getArguments().getStringArrayList(ARG_RAW_CONTACT_IDS);
+            mContactIds = getArguments().getStringArrayList(ARG_CONTACT_IDS);
         } else {
             mAccountName = savedState.getString(KEY_ACCOUNT_NAME);
             mAccountType = savedState.getString(KEY_ACCOUNT_TYPE);
             mAccountDataSet = savedState.getString(KEY_ACCOUNT_DATA_SET);
-            mRawContactIds = savedState.getStringArrayList(KEY_RAW_CONTACT_IDS);
+            mContactIds = savedState.getStringArrayList(KEY_CONTACT_IDS);
         }
         super.onCreate(savedState);
     }
@@ -218,7 +215,7 @@
         outState.putString(KEY_ACCOUNT_NAME, mAccountName);
         outState.putString(KEY_ACCOUNT_TYPE, mAccountType);
         outState.putString(KEY_ACCOUNT_DATA_SET, mAccountDataSet);
-        outState.putStringArrayList(KEY_RAW_CONTACT_IDS, mRawContactIds);
+        outState.putStringArrayList(KEY_CONTACT_IDS, mContactIds);
     }
 
     public void setListener(Listener listener) {