Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 550c3e0f authored by Walter Jang's avatar Walter Jang
Browse files

Exit edit mode when the last group member is removed

Bug 30470170

Change-Id: I74f19c40baffaba9396520f9d36bb22c3ea6347d
parent 3b73d3f5
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -255,9 +255,14 @@ public class GroupMembersActivity extends ContactsDrawerActivity implements

            toast(getToastMessageForSaveAction(newIntent.getAction()));

            // If we're editing the group, don't reload the fragment so the user can
            // continue to remove group members one by one
            if (!mIsEditMode && !ACTION_REMOVE_FROM_GROUP.equals(newIntent.getAction())) {
            if (mIsEditMode) {
                // If we're removing group members one at a time, don't reload the fragment so
                // the user can continue to remove group members one by one
                if (getGroupCount() == 1) {
                    // If we're deleting the last group member, exit edit mode
                    onBackPressed();
                }
            } else if (!ACTION_REMOVE_FROM_GROUP.equals(newIntent.getAction())) {
                replaceGroupMembersFragment();
                invalidateOptionsMenu();
            }
@@ -281,6 +286,11 @@ public class GroupMembersActivity extends ContactsDrawerActivity implements
        throw new IllegalArgumentException("Unhanded contact save action " + action);
    }

    private int getGroupCount() {
        return mMembersFragment != null && mMembersFragment.getAdapter() != null
                ? mMembersFragment.getAdapter().getCount() : -1;
    }

    private void replaceGroupMembersFragment() {
        mMembersFragment = GroupMembersFragment.newInstance(mGroupUri);
        mMembersFragment.setListener(this);