Loading src/com/android/contacts/editor/GroupMembershipView.java +28 −17 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.contacts.editor; import android.app.Activity; import android.app.FragmentManager; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; Loading Loading @@ -161,6 +162,18 @@ public class GroupMembershipView extends LinearLayout private boolean mDefaultGroupVisibilityKnown; private boolean mDefaultGroupVisible; private boolean mCreatedNewGroup; private GroupNameEditDialogFragment mGroupNameEditDialogFragment; private GroupNameEditDialogFragment.Listener mListener = new GroupNameEditDialogFragment.Listener() { @Override public void onGroupNameEditCancelled() { } @Override public void onGroupNameEditCompleted(String name) { mCreatedNewGroup = true; } }; private String mNoGroupString; private int mPrimaryTextColor; Loading @@ -185,6 +198,15 @@ public class GroupMembershipView extends LinearLayout setFocusableInTouchMode(true); } private void setGroupNameEditDialogFragment() { final FragmentManager fragmentManager = ((Activity) getContext()).getFragmentManager(); mGroupNameEditDialogFragment = (GroupNameEditDialogFragment) fragmentManager.findFragmentByTag(TAG_CREATE_GROUP_FRAGMENT); if (mGroupNameEditDialogFragment != null) { mGroupNameEditDialogFragment.setListener(mListener); } } @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); Loading Loading @@ -240,6 +262,7 @@ public class GroupMembershipView extends LinearLayout mDefaultGroupVisibilityKnown = false; mCreatedNewGroup = false; updateView(); setGroupNameEditDialogFragment(); } private void updateView() { Loading Loading @@ -453,24 +476,12 @@ public class GroupMembershipView extends LinearLayout private void createNewGroup() { UiClosables.closeQuietly(mPopup); mPopup = null; final GroupNameEditDialogFragment dialog = mGroupNameEditDialogFragment = GroupNameEditDialogFragment.newInstanceForCreation( new AccountWithDataSet(mAccountName, mAccountType, mDataSet), null); // If the device is rotated after the dialog is shown, the listener will become null, // so that the popup from GroupMembershipView will not be shown. dialog.setListener(new GroupNameEditDialogFragment.Listener() { @Override public void onGroupNameEditStarted(String groupName) { mCreatedNewGroup = true; } @Override public void onGroupNameEditCancelled() { } }); dialog.show( mGroupNameEditDialogFragment.setListener(mListener); mGroupNameEditDialogFragment.show( ((Activity) getContext()).getFragmentManager(), TAG_CREATE_GROUP_FRAGMENT); } } src/com/android/contacts/group/GroupNameEditDialogFragment.java +5 −4 Original line number Diff line number Diff line Loading @@ -67,15 +67,15 @@ public final class GroupNameEditDialogFragment extends DialogFragment implements /** Callbacks for hosts of the {@link GroupNameEditDialogFragment}. */ public interface Listener { void onGroupNameEditStarted(String name); void onGroupNameEditCancelled(); void onGroupNameEditCompleted(String name); public static final Listener None = new Listener() { @Override public void onGroupNameEditStarted(String name) { } public void onGroupNameEditCancelled() { } @Override public void onGroupNameEditCancelled() { } public void onGroupNameEditCompleted(String name) { } }; } Loading Loading @@ -126,6 +126,7 @@ public final class GroupNameEditDialogFragment extends DialogFragment implements } else { mGroupName = savedInstanceState.getString(ARG_GROUP_NAME); } mGroupId = args.getLong(ARG_GROUP_ID, NO_GROUP_ID); mIsInsert = args.getBoolean(ARG_IS_INSERT, true); mAccount = getArguments().getParcelable(ARG_ACCOUNT); Loading Loading @@ -252,7 +253,7 @@ public final class GroupNameEditDialogFragment extends DialogFragment implements name, getActivity().getClass(), callbackAction); } ContactSaveService.startService(getActivity(), serviceIntent); getListener().onGroupNameEditStarted(name); getListener().onGroupNameEditCompleted(mGroupName); dismiss(); } Loading Loading
src/com/android/contacts/editor/GroupMembershipView.java +28 −17 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.contacts.editor; import android.app.Activity; import android.app.FragmentManager; import android.content.Context; import android.content.res.Resources; import android.database.Cursor; Loading Loading @@ -161,6 +162,18 @@ public class GroupMembershipView extends LinearLayout private boolean mDefaultGroupVisibilityKnown; private boolean mDefaultGroupVisible; private boolean mCreatedNewGroup; private GroupNameEditDialogFragment mGroupNameEditDialogFragment; private GroupNameEditDialogFragment.Listener mListener = new GroupNameEditDialogFragment.Listener() { @Override public void onGroupNameEditCancelled() { } @Override public void onGroupNameEditCompleted(String name) { mCreatedNewGroup = true; } }; private String mNoGroupString; private int mPrimaryTextColor; Loading @@ -185,6 +198,15 @@ public class GroupMembershipView extends LinearLayout setFocusableInTouchMode(true); } private void setGroupNameEditDialogFragment() { final FragmentManager fragmentManager = ((Activity) getContext()).getFragmentManager(); mGroupNameEditDialogFragment = (GroupNameEditDialogFragment) fragmentManager.findFragmentByTag(TAG_CREATE_GROUP_FRAGMENT); if (mGroupNameEditDialogFragment != null) { mGroupNameEditDialogFragment.setListener(mListener); } } @Override public void setEnabled(boolean enabled) { super.setEnabled(enabled); Loading Loading @@ -240,6 +262,7 @@ public class GroupMembershipView extends LinearLayout mDefaultGroupVisibilityKnown = false; mCreatedNewGroup = false; updateView(); setGroupNameEditDialogFragment(); } private void updateView() { Loading Loading @@ -453,24 +476,12 @@ public class GroupMembershipView extends LinearLayout private void createNewGroup() { UiClosables.closeQuietly(mPopup); mPopup = null; final GroupNameEditDialogFragment dialog = mGroupNameEditDialogFragment = GroupNameEditDialogFragment.newInstanceForCreation( new AccountWithDataSet(mAccountName, mAccountType, mDataSet), null); // If the device is rotated after the dialog is shown, the listener will become null, // so that the popup from GroupMembershipView will not be shown. dialog.setListener(new GroupNameEditDialogFragment.Listener() { @Override public void onGroupNameEditStarted(String groupName) { mCreatedNewGroup = true; } @Override public void onGroupNameEditCancelled() { } }); dialog.show( mGroupNameEditDialogFragment.setListener(mListener); mGroupNameEditDialogFragment.show( ((Activity) getContext()).getFragmentManager(), TAG_CREATE_GROUP_FRAGMENT); } }
src/com/android/contacts/group/GroupNameEditDialogFragment.java +5 −4 Original line number Diff line number Diff line Loading @@ -67,15 +67,15 @@ public final class GroupNameEditDialogFragment extends DialogFragment implements /** Callbacks for hosts of the {@link GroupNameEditDialogFragment}. */ public interface Listener { void onGroupNameEditStarted(String name); void onGroupNameEditCancelled(); void onGroupNameEditCompleted(String name); public static final Listener None = new Listener() { @Override public void onGroupNameEditStarted(String name) { } public void onGroupNameEditCancelled() { } @Override public void onGroupNameEditCancelled() { } public void onGroupNameEditCompleted(String name) { } }; } Loading Loading @@ -126,6 +126,7 @@ public final class GroupNameEditDialogFragment extends DialogFragment implements } else { mGroupName = savedInstanceState.getString(ARG_GROUP_NAME); } mGroupId = args.getLong(ARG_GROUP_ID, NO_GROUP_ID); mIsInsert = args.getBoolean(ARG_IS_INSERT, true); mAccount = getArguments().getParcelable(ARG_ACCOUNT); Loading Loading @@ -252,7 +253,7 @@ public final class GroupNameEditDialogFragment extends DialogFragment implements name, getActivity().getClass(), callbackAction); } ContactSaveService.startService(getActivity(), serviceIntent); getListener().onGroupNameEditStarted(name); getListener().onGroupNameEditCompleted(mGroupName); dismiss(); } Loading