| Index: chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
|
| index f640189e232a6ced238dc868233e0660fd82bf95..7f168b5fbd26bd0efe463eaf1294aa89a175dac4 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SignOutDialogFragment.java
|
| @@ -11,6 +11,7 @@ import android.os.Bundle;
|
| import android.support.v7.app.AlertDialog;
|
|
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.profiles.ProfileAccountManagementMetrics;
|
|
|
| /**
|
| * Shows the dialog that explains the user the consequences of signing out of Chrome.
|
| @@ -19,6 +20,11 @@ import org.chromium.chrome.R;
|
| public class SignOutDialogFragment extends DialogFragment implements
|
| DialogInterface.OnClickListener {
|
| /**
|
| + * The extra key used to specify the GAIA service that triggered this dialog.
|
| + */
|
| + public static final String SHOW_GAIA_SERVICE_TYPE_EXTRA = "ShowGAIAServiceType";
|
| +
|
| + /**
|
| * Receives updates when the user clicks "Sign out" or dismisses the dialog.
|
| */
|
| public interface SignOutDialogListener {
|
| @@ -38,8 +44,20 @@ public class SignOutDialogFragment extends DialogFragment implements
|
|
|
| private boolean mSignOutClicked;
|
|
|
| + /**
|
| + * The GAIA service that's prompted this dialog. Values can be any constant in
|
| + * signin::GAIAServiceType
|
| + */
|
| + private int mGaiaServiceType;
|
| +
|
| @Override
|
| public Dialog onCreateDialog(Bundle savedInstanceState) {
|
| + mGaiaServiceType = AccountManagementScreenHelper.GAIA_SERVICE_TYPE_NONE;
|
| + if (getArguments() != null) {
|
| + mGaiaServiceType = getArguments().getInt(
|
| + SHOW_GAIA_SERVICE_TYPE_EXTRA, mGaiaServiceType);
|
| + }
|
| +
|
| String managementDomain = SigninManager.get(getActivity()).getManagementDomain();
|
| String message;
|
| if (managementDomain == null) {
|
| @@ -51,7 +69,7 @@ public class SignOutDialogFragment extends DialogFragment implements
|
|
|
| return new AlertDialog.Builder(getActivity(), R.style.AlertDialogTheme)
|
| .setTitle(R.string.signout_title)
|
| - .setPositiveButton(R.string.ok, this)
|
| + .setPositiveButton(R.string.signout_dialog_positive_button, this)
|
| .setNegativeButton(R.string.cancel, this)
|
| .setMessage(message)
|
| .create();
|
| @@ -60,6 +78,9 @@ public class SignOutDialogFragment extends DialogFragment implements
|
| @Override
|
| public void onClick(DialogInterface dialog, int which) {
|
| if (which == AlertDialog.BUTTON_POSITIVE) {
|
| + AccountManagementScreenHelper.logEvent(
|
| + ProfileAccountManagementMetrics.SIGNOUT_SIGNOUT, mGaiaServiceType);
|
| +
|
| mSignOutClicked = true;
|
| SignOutDialogListener targetFragment = (SignOutDialogListener) getTargetFragment();
|
| targetFragment.onSignOutClicked();
|
| @@ -69,6 +90,9 @@ public class SignOutDialogFragment extends DialogFragment implements
|
| @Override
|
| public void onDismiss(DialogInterface dialog) {
|
| super.onDismiss(dialog);
|
| + AccountManagementScreenHelper.logEvent(
|
| + ProfileAccountManagementMetrics.SIGNOUT_CANCEL, mGaiaServiceType);
|
| +
|
| SignOutDialogListener targetFragment = (SignOutDialogListener) getTargetFragment();
|
| targetFragment.onSignOutDialogDismissed(mSignOutClicked);
|
| }
|
|
|