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() { |