Always display toast for creating group
Bug: 32243988
Bug: 32091619
Bug: 32432333
Test: Open left nav and create groups observing toast from browse and
duplicates screens.
Test: Add to and delete from group, observe toast.
Test: Rename group, observe toast.
Change-Id: I4885fcac570c9e0c4d04e68d2615ec8c69c6b61e
diff --git a/src/com/android/contacts/activities/PeopleActivity.java b/src/com/android/contacts/activities/PeopleActivity.java
index afc66e6..fcadd8a 100644
--- a/src/com/android/contacts/activities/PeopleActivity.java
+++ b/src/com/android/contacts/activities/PeopleActivity.java
@@ -280,12 +280,13 @@
}
if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Received group URI " + mGroupUri);
switchView(ContactsView.GROUP_VIEW);
+ mMembersFragment.toastForSaveAction(intent.getAction());
return;
}
if (isGroupDeleteAction(intent.getAction())) {
- toast(R.string.groupDeletedToast);
popSecondLevel();
+ mMembersFragment.toastForSaveAction(intent.getAction());
mCurrentView = ContactsView.ALL_CONTACTS;
showFabWithAnimation(/* showFab */ true);
return;
@@ -300,6 +301,7 @@
}
if (Log.isLoggable(TAG, Log.VERBOSE)) Log.v(TAG, "Received group URI " + mGroupUri);
switchView(ContactsView.GROUP_VIEW);
+ mMembersFragment.toastForSaveAction(intent.getAction());
}
setIntent(intent);
diff --git a/src/com/android/contacts/group/GroupMembersFragment.java b/src/com/android/contacts/group/GroupMembersFragment.java
index 2f61cdd..ab6d948 100644
--- a/src/com/android/contacts/group/GroupMembersFragment.java
+++ b/src/com/android/contacts/group/GroupMembersFragment.java
@@ -64,6 +64,7 @@
import com.android.contacts.list.ContactsRequest;
import com.android.contacts.list.MultiSelectContactsListFragment;
import com.android.contacts.list.UiIntentActions;
+import com.android.contactsbind.FeedbackHelper;
import com.android.contactsbind.experiments.Flags;
import com.google.common.primitives.Longs;
@@ -882,9 +883,7 @@
}
public void updateExistingGroupFragment(Uri newGroupUri, String action) {
- if (!GroupUtil.ACTION_SWITCH_GROUP.equals(action)) {
- toast(getToastMessageForSaveAction(action));
- }
+ toastForSaveAction(action);
if (isEditMode() && getGroupCount() == 1) {
// If we're deleting the last group member, exit edit mode
@@ -897,19 +896,30 @@
}
}
- private static int getToastMessageForSaveAction(String action) {
+ public void toastForSaveAction(String action) {
+ int id = -1;
switch(action) {
case GroupUtil.ACTION_UPDATE_GROUP:
- return R.string.groupUpdatedToast;
- case GroupUtil.ACTION_ADD_TO_GROUP:
- return R.string.groupMembersAddedToast;
+ id = R.string.groupUpdatedToast;
+ break;
case GroupUtil.ACTION_REMOVE_FROM_GROUP:
- return R.string.groupMembersRemovedToast;
+ id = R.string.groupMembersRemovedToast;
+ break;
case GroupUtil.ACTION_CREATE_GROUP:
- return R.string.groupCreatedToast;
+ id = R.string.groupCreatedToast;
+ break;
+ case GroupUtil.ACTION_ADD_TO_GROUP:
+ id = R.string.groupMembersAddedToast;
+ break;
+ case GroupUtil.ACTION_SWITCH_GROUP:
+ // No toast associated with this action.
+ break;
default:
- throw new IllegalArgumentException("Unhandled contact save action " + action);
+ FeedbackHelper.sendFeedback(getContext(), TAG,
+ "toastForSaveAction passed unknown action: " + action,
+ new IllegalArgumentException("Unhandled contact save action " + action));
}
+ toast(id);
}
private void toast(int resId) {