Only show add contact to label button in edit mode

* Also disable long press to remove members in edit mode.
* And change the group member picker title to be "Select"

Bug 28707265
Bug 18641067

Change-Id: I0e5f31b675c143ca32165d5bf13dba3e2f5214d3
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 04a6e29..4ba767d 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -59,6 +59,9 @@
     <!-- Activity title when the user is selecting a contact.  [CHAR LIMIT=128] -->
     <string name="contactPickerActivityTitle">Choose a contact</string>
 
+    <!-- Activity title when the user is selecting a new label member. [CHAR LIMIT=128] -->
+    <string name="groupMemberPickerActivityTitle">Select</string>
+
     <!-- Entry that prompts user to select a newly created contact.  [CHAR LIMIT=30] -->
     <string name="header_entry_contact_list_adapter_header_title">Create new contact</string>
 
diff --git a/src/com/android/contacts/activities/ContactSelectionActivity.java b/src/com/android/contacts/activities/ContactSelectionActivity.java
index e314984..71ab0e7 100644
--- a/src/com/android/contacts/activities/ContactSelectionActivity.java
+++ b/src/com/android/contacts/activities/ContactSelectionActivity.java
@@ -242,7 +242,7 @@
                 break;
             }
             case ContactsRequest.ACTION_PICK_GROUP_MEMBERS: {
-                titleResId = R.string.contactPickerActivityTitle;
+                titleResId = R.string.groupMemberPickerActivityTitle;
                 break;
             }
         }
diff --git a/src/com/android/contacts/activities/GroupMembersActivity.java b/src/com/android/contacts/activities/GroupMembersActivity.java
index 05902da..6ba354b 100644
--- a/src/com/android/contacts/activities/GroupMembersActivity.java
+++ b/src/com/android/contacts/activities/GroupMembersActivity.java
@@ -381,6 +381,10 @@
         finish();
     }
 
+    public boolean isEditMode() {
+        return mIsEditMode;
+    }
+
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         if (mGroupMetadata == null) {
@@ -398,7 +402,7 @@
         final boolean isGroupEditable = mGroupMetadata != null && mGroupMetadata.editable;
         final boolean isGroupReadOnly = mGroupMetadata != null && mGroupMetadata.readOnly;
 
-        setVisible(menu, R.id.menu_add, isGroupEditable && !isSelectionMode);
+        setVisible(menu, R.id.menu_add, isGroupEditable && mIsEditMode);
         setVisible(menu, R.id.menu_rename_group, !isGroupReadOnly && !isSelectionMode);
         setVisible(menu, R.id.menu_delete_group, !isGroupReadOnly && !isSelectionMode);
         setVisible(menu, R.id.menu_edit_group, isGroupEditable && !mIsEditMode && !isSelectionMode);
@@ -666,7 +670,7 @@
         }
     }
 
-    // GroupsMembersListFragment callbacks
+    // GroupMembersFragment callbacks
 
     @Override
     public void onGroupMetadataLoaded(GroupMetadata groupMetadata) {
diff --git a/src/com/android/contacts/group/GroupMembersFragment.java b/src/com/android/contacts/group/GroupMembersFragment.java
index 7af04cf..45a3834 100644
--- a/src/com/android/contacts/group/GroupMembersFragment.java
+++ b/src/com/android/contacts/group/GroupMembersFragment.java
@@ -15,6 +15,7 @@
  */
 package com.android.contacts.group;
 
+import android.app.Activity;
 import android.app.LoaderManager.LoaderCallbacks;
 import android.content.CursorLoader;
 import android.content.Loader;
@@ -31,6 +32,7 @@
 
 import com.android.contacts.GroupMetaDataLoader;
 import com.android.contacts.R;
+import com.android.contacts.activities.GroupMembersActivity;
 import com.android.contacts.common.list.ContactsSectionIndexer;
 import com.android.contacts.common.logging.ListEvent.ListType;
 import com.android.contacts.common.model.AccountTypeManager;
@@ -363,4 +365,15 @@
             }
         }
     }
+
+    @Override
+    protected boolean onItemLongClick(int position, long id) {
+        final Activity activity = getActivity();
+        if (activity != null && activity instanceof GroupMembersActivity) {
+            if (((GroupMembersActivity) activity).isEditMode()) {
+                return true;
+            }
+        }
+        return super.onItemLongClick(position, id);
+    }
 }