Merge "Fix setup flow dialog dismissal" into ub-mail-master

This commit is contained in:
Tony Mantler 2014-03-19 23:35:36 +00:00 committed by Android (Google) Code Review
commit c90680915d
12 changed files with 95 additions and 62 deletions

View File

@ -26,7 +26,7 @@
style="@style/accountSettingsButton"
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/cancel_action" />
android:text="@android:string/cancel" />
<Button
android:id="@+id/done"
style="@style/accountSettingsButton"

View File

@ -42,11 +42,7 @@
<!-- Button name used as part of a multi-step process -->
<string name="next_action">Next</string>
<!-- Button name used to confirm acceptance of dialog boxes, warnings, errors, etc. -->
<string name="okay_action">OK</string>
<!-- Button name used to cancel out of dialog boxes -->
<string name="cancel_action">Cancel</string>
<!-- Button name used to move to previous step during setup sequence [CHAR_LIMIT=16] -->
<string name="previous_action">Previous</string>
<!-- Button name used to complete a multi-step process -->
<string name="done_action">Done</string>

View File

@ -139,7 +139,7 @@ public class InsertQuickResponseDialog extends DialogFragment {
b.setTitle(getResources()
.getString(R.string.message_compose_insert_quick_response_list_title))
.setView(listView)
.setNegativeButton(R.string.cancel_action, new DialogInterface.OnClickListener() {
.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();

View File

@ -499,8 +499,8 @@ public class AccountSecurity extends Activity {
b.setTitle(R.string.account_security_dialog_title);
b.setIconAttribute(android.R.attr.alertDialogIcon);
b.setMessage(res.getString(R.string.account_security_dialog_content_fmt, accountName));
b.setPositiveButton(R.string.okay_action, this);
b.setNegativeButton(R.string.cancel_action, this);
b.setPositiveButton(android.R.string.ok, this);
b.setNegativeButton(android.R.string.cancel, this);
if (MailActivityEmail.DEBUG || DEBUG) {
LogUtils.d(TAG, "Posting security needed dialog");
}
@ -575,13 +575,13 @@ public class AccountSecurity extends Activity {
final Context context = getActivity();
final Resources res = context.getResources();
final AlertDialog.Builder b = new AlertDialog.Builder(context);
b.setTitle(titleId);
b.setIconAttribute(android.R.attr.alertDialogIcon);
b.setMessage(res.getString(contentId, accountName));
b.setPositiveButton(R.string.okay_action, this);
b.setNegativeButton(R.string.cancel_action, this);
return b.create();
return new AlertDialog.Builder(context)
.setTitle(titleId)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setMessage(res.getString(contentId, accountName))
.setPositiveButton(android.R.string.ok, this)
.setNegativeButton(android.R.string.cancel, this)
.create();
}
@Override

View File

@ -901,7 +901,7 @@ public class AccountSettings extends PreferenceActivity implements
.setTitle(android.R.string.dialog_alert_title)
.setMessage(R.string.account_settings_exit_server_settings)
.setPositiveButton(
R.string.okay_action,
android.R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@ -914,7 +914,7 @@ public class AccountSettings extends PreferenceActivity implements
}
})
.setNegativeButton(
activity.getString(R.string.cancel_action), null)
activity.getString(android.R.string.cancel), null)
.create();
}
}
@ -973,8 +973,8 @@ public class AccountSettings extends PreferenceActivity implements
b.setMessage(res.getString(R.string.account_settings_login_dialog_content_fmt,
accountName));
}
b.setPositiveButton(R.string.okay_action, this);
b.setNegativeButton(R.string.cancel_action, this);
b.setPositiveButton(android.R.string.ok, this);
b.setNegativeButton(android.R.string.cancel, this);
return b.create();
}

View File

@ -56,7 +56,8 @@ public class AccountSetupFinal extends AccountSetupActivity
CheckSettingsErrorDialogFragment.Callback, CheckSettingsProgressDialogFragment.Callback,
AccountSetupTypeFragment.Callback, AccountSetupNamesFragment.Callback,
AccountSetupOptionsFragment.Callback, AccountSetupBasicsFragment.Callback,
AccountServerBaseFragment.Callback, AccountSetupCredentialsFragment.Callback {
AccountServerBaseFragment.Callback, AccountSetupCredentialsFragment.Callback,
DuplicateAccountDialogFragment.Callback {
// STOPSHIP: Set to false before shipping, logs PII
private final static boolean ENTER_DEBUG_SCREEN = true;
@ -712,9 +713,7 @@ public class AccountSetupFinal extends AccountSetupActivity
mIsPreConfiguredProvider = false;
final String existingAccountName = mExistingAccountsMap.get(email);
if (!TextUtils.isEmpty(existingAccountName)) {
final DuplicateAccountDialogFragment dialogFragment =
DuplicateAccountDialogFragment.newInstance(existingAccountName);
dialogFragment.show(getFragmentManager(), DuplicateAccountDialogFragment.TAG);
showDuplicateAccountDialog(existingAccountName);
return false;
} else {
populateSetupData(mOwnerName, email);
@ -724,6 +723,17 @@ public class AccountSetupFinal extends AccountSetupActivity
}
}
private void showDuplicateAccountDialog(final String existingAccountName) {
final DuplicateAccountDialogFragment dialogFragment =
DuplicateAccountDialogFragment.newInstance(existingAccountName);
dialogFragment.show(getFragmentManager(), DuplicateAccountDialogFragment.TAG);
}
@Override
public void onDuplicateAccountDialogDismiss() {
resetStateFromCurrentFragment();
}
private boolean shouldDivertToManual() {
final AccountSetupBasicsFragment f = (AccountSetupBasicsFragment) getContentFragment();
return f.isManualSetup();
@ -796,9 +806,7 @@ public class AccountSetupFinal extends AccountSetupActivity
final String duplicateAccountName =
mExistingAccountsMap != null ? mExistingAccountsMap.get(email) : null;
if (duplicateAccountName != null) {
final DuplicateAccountDialogFragment dialogFragment =
DuplicateAccountDialogFragment.newInstance(duplicateAccountName);
dialogFragment.show(getFragmentManager(), DuplicateAccountDialogFragment.TAG);
showDuplicateAccountDialog(duplicateAccountName);
return false;
}
} catch (URISyntaxException e) {
@ -896,6 +904,7 @@ public class AccountSetupFinal extends AccountSetupActivity
@Override
public void onCheckSettingsProgressDialogCancel() {
dismissCheckSettingsFragment();
resetStateFromCurrentFragment();
}
private void dismissCheckSettingsFragment() {
@ -1088,6 +1097,7 @@ public class AccountSetupFinal extends AccountSetupActivity
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
/// Show "Creating account..." dialog
setCancelable(false);
final ProgressDialog d = new ProgressDialog(getActivity());
d.setIndeterminate(true);
d.setMessage(getString(R.string.account_setup_creating_account_msg));
@ -1117,13 +1127,12 @@ public class AccountSetupFinal extends AccountSetupActivity
final String message = getString(R.string.account_setup_failed_dlg_auth_message,
R.string.system_account_create_failed);
setCancelable(false);
return new AlertDialog.Builder(getActivity())
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(getString(R.string.account_setup_failed_dlg_title))
.setTitle(R.string.account_setup_failed_dlg_title)
.setMessage(message)
.setCancelable(true)
.setPositiveButton(
getString(R.string.account_setup_failed_dlg_edit_details_action), this)
.setPositiveButton(android.R.string.ok, this)
.create();
}

View File

@ -55,12 +55,14 @@ public class AccountSetupNoteDialogFragment extends DialogFragment {
final Context context = getActivity();
final String note = getArguments().getString(BUNDLE_KEY_NOTE);
setCancelable(true);
return new AlertDialog.Builder(context)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(android.R.string.dialog_alert_title)
.setMessage(note)
.setPositiveButton(
R.string.okay_action,
android.R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
@ -70,15 +72,20 @@ public class AccountSetupNoteDialogFragment extends DialogFragment {
}
})
.setNegativeButton(
context.getString(R.string.cancel_action),
context.getString(android.R.string.cancel),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
final Callback a = (Callback) getActivity();
a.onNoteDialogCancel();
dismiss();
dialog.cancel();
}
})
.create();
}
@Override
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
final Callback a = (Callback) getActivity();
a.onNoteDialogCancel();
}
}

View File

@ -73,11 +73,11 @@ public class CheckSettingsErrorDialogFragment extends DialogFragment{
final Bundle arguments = getArguments();
final String message = arguments.getString(ARGS_MESSAGE);
final int reason = arguments.getInt(ARGS_REASON);
final Callback callback = (Callback) getActivity();
setCancelable(true);
final AlertDialog.Builder builder = new AlertDialog.Builder(context)
.setMessage(message)
.setCancelable(true);
.setMessage(message);
// Use a different title when we get
// MessagingException.AUTODISCOVER_AUTHENTICATION_FAILED
@ -97,6 +97,7 @@ public class CheckSettingsErrorDialogFragment extends DialogFragment{
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
final Callback callback = (Callback) getActivity();
callback.onCheckSettingsErrorDialogEditCertificate();
}
});
@ -105,8 +106,7 @@ public class CheckSettingsErrorDialogFragment extends DialogFragment{
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
callback.onCheckSettingsErrorDialogEditSettings();
dialog.cancel();
}
});
@ -117,14 +117,20 @@ public class CheckSettingsErrorDialogFragment extends DialogFragment{
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
callback.onCheckSettingsErrorDialogEditSettings();
dialog.cancel();
}
});
}
return builder.create();
}
@Override
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
final Callback callback = (Callback) getActivity();
callback.onCheckSettingsErrorDialogEditSettings();
}
public static int getReasonFromException (MessagingException ex) {
final int exceptionCode = ex.getExceptionType();
switch (exceptionCode) {

View File

@ -85,18 +85,18 @@ public class CheckSettingsProgressDialogFragment extends DialogFragment {
progress);
}
// Don't bail out if the user taps outside the progress window
setCancelable(false);
final ProgressDialog dialog = new ProgressDialog(context);
dialog.setIndeterminate(true);
dialog.setMessage(mProgressString);
dialog.setButton(DialogInterface.BUTTON_NEGATIVE,
context.getString(R.string.cancel_action),
context.getString(android.R.string.cancel),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
final Callback callback = (Callback) getActivity();
callback.onCheckSettingsProgressDialogCancel();
dialog.cancel();
}
});
return dialog;

View File

@ -34,6 +34,10 @@ public class DuplicateAccountDialogFragment extends DialogFragment {
// Argument bundle keys
private final static String BUNDLE_KEY_ACCOUNT_NAME = "NoteDialogFragment.AccountName";
public interface Callback {
void onDuplicateAccountDialogDismiss();
}
// Public no-args constructor needed for fragment re-instantiation
public DuplicateAccountDialogFragment() {}
@ -53,19 +57,21 @@ public class DuplicateAccountDialogFragment extends DialogFragment {
Context context = getActivity();
String accountName = getArguments().getString(BUNDLE_KEY_ACCOUNT_NAME);
setCancelable(true);
return new AlertDialog.Builder(context)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.account_duplicate_dlg_title)
.setMessage(context.getString(
R.string.account_duplicate_dlg_message_fmt, accountName))
.setPositiveButton(
R.string.okay_action,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
}
})
.setPositiveButton(android.R.string.ok, null)
.create();
}
@Override
public void onDismiss(DialogInterface dialog) {
super.onDismiss(dialog);
final Callback callback = (Callback) getActivity();
callback.onDuplicateAccountDialogDismiss();
}
}

View File

@ -129,7 +129,7 @@ public class EditQuickResponseDialog extends DialogFragment {
final AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
b.setTitle(getResources().getString(R.string.edit_quick_response_dialog))
.setView(wrapper)
.setNegativeButton(R.string.cancel_action, null)
.setNegativeButton(android.R.string.cancel, null)
.setPositiveButton(R.string.save_action, saveClickListener);
if (!create) {
b.setNeutralButton(R.string.delete, deleteClickListener);

View File

@ -67,32 +67,41 @@ public class SecurityRequiredDialogFragment extends DialogFragment {
final Context context = getActivity();
final Bundle arguments = getArguments();
final String hostName = arguments.getString(ARGS_HOST_NAME);
final Callback callback = (Callback) getActivity();
setCancelable(true);
return new AlertDialog.Builder(context)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(context.getString(R.string.account_setup_security_required_title))
.setMessage(context.getString(
R.string.account_setup_security_policies_required_fmt, hostName))
.setCancelable(true)
.setPositiveButton(
context.getString(R.string.okay_action),
context.getString(android.R.string.ok),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
final Callback callback = (Callback) getActivity();
callback.onSecurityRequiredDialogResult(true);
}
})
.setNegativeButton(
context.getString(R.string.cancel_action),
context.getString(android.R.string.cancel),
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dismiss();
callback.onSecurityRequiredDialogResult(false);
dialog.cancel();
}
})
.create();
}
@Override
public void onCancel(DialogInterface dialog) {
super.onCancel(dialog);
final Callback callback = (Callback) getActivity();
if (callback != null) {
callback.onSecurityRequiredDialogResult(false);
}
}
}