Chromium Code Reviews| 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..b9d15a11c3d1d39876bc6d5278db08e118f9f32f 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 { |
| @@ -37,9 +43,20 @@ public class SignOutDialogFragment extends DialogFragment implements |
| } |
| private boolean mSignOutClicked; |
| + /** |
|
newt (away)
2016/02/16 23:05:01
newline before this
May
2016/02/17 13:24:31
Done.
|
| + * 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 +68,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 +77,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 +89,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); |
| } |