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);
+ }
}