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); |
} |