| Index: chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
| index 50fb08967b191289fffc96e05b23a372365e5797..416d20d68e60143bf67ecc054cf45c079a5e7049 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/SigninManager.java
|
| @@ -19,6 +19,7 @@ import org.chromium.base.Log;
|
| import org.chromium.base.ObserverList;
|
| import org.chromium.base.ThreadUtils;
|
| import org.chromium.base.annotations.CalledByNative;
|
| +import org.chromium.base.metrics.RecordHistogram;
|
| import org.chromium.base.metrics.RecordUserAction;
|
| import org.chromium.chrome.browser.externalauth.ExternalAuthUtils;
|
| import org.chromium.chrome.browser.externalauth.UserRecoverableErrorHandler;
|
| @@ -54,6 +55,7 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
| private static final String TAG = "SigninManager";
|
|
|
| private static SigninManager sSigninManager;
|
| + private static int sSignInAccessPoint = SigninAccessPoint.UNKNOWN;
|
|
|
| private final Context mContext;
|
| private final long mNativeSigninManagerAndroid;
|
| @@ -200,6 +202,22 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
| }
|
|
|
| /**
|
| + * Log the access point when the user see the view of choosing account to sign in.
|
| + * @param accessPoint the enum value of AccessPoint defined in signin_metrics.h.
|
| + */
|
| + public static void logSigninStartAccessPoint(int accessPoint) {
|
| + RecordHistogram.recordEnumeratedHistogram(
|
| + "Signin.SigninStartedAccessPoint", accessPoint, SigninAccessPoint.MAX);
|
| + sSignInAccessPoint = accessPoint;
|
| + }
|
| +
|
| + private void logSigninCompleteAccessPoint() {
|
| + RecordHistogram.recordEnumeratedHistogram(
|
| + "Signin.SigninCompletedAccessPoint", sSignInAccessPoint, SigninAccessPoint.MAX);
|
| + sSignInAccessPoint = SigninAccessPoint.UNKNOWN;
|
| + }
|
| +
|
| + /**
|
| * Notifies the SigninManager that the First Run check has completed.
|
| *
|
| * The user will be allowed to sign-in once this is signaled.
|
| @@ -591,6 +609,11 @@ public class SigninManager implements AccountTrackerService.OnSystemAccountsSeed
|
| }
|
|
|
| SigninManager.get(mContext).logInSignedInUser();
|
| + logSigninCompleteAccessPoint();
|
| + // Log signin in reason as defined in signin_metrics.h. Right now only
|
| + // SIGNIN_PRIMARY_ACCOUNT available on Android.
|
| + RecordHistogram.recordEnumeratedHistogram("Signin.SigninReason",
|
| + SigninReason.SIGNIN_PRIMARY_ACCOUNT, SigninReason.MAX);
|
| }
|
| @Override
|
| public void onSigninCancelled() {
|
|
|