summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraruslan <aruslan@chromium.org>2015-06-23 16:00:17 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-23 23:00:59 +0000
commit05f3d37bc4ae390f44c38440b0081b77cf89b585 (patch)
tree6db211957f260764ba9364d4d4d5de1ee9c9a485
parentf7e52f9dd9051144e4c415c9c584d72c9e4c2a00 (diff)
downloadchromium_src-05f3d37bc4ae390f44c38440b0081b77cf89b585.zip
chromium_src-05f3d37bc4ae390f44c38440b0081b77cf89b585.tar.gz
chromium_src-05f3d37bc4ae390f44c38440b0081b77cf89b585.tar.bz2
[Android FRE] Additional sign-in metrics
BUG=503312,450423 Review URL: https://codereview.chromium.org/1200933003 Cr-Commit-Position: refs/heads/master@{#335791}
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java19
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlue.java6
-rw-r--r--chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlueImpl.java6
-rw-r--r--tools/metrics/histograms/histograms.xml14
4 files changed, 45 insertions, 0 deletions
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
index 1080a5b..2a3e7a2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
@@ -56,6 +56,11 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
// UMA constants.
private static final String UMA_SIGNIN_CHOICE = "MobileFre.SignInChoice";
+ private static final String UMA_SIGNIN_CHOICE_ENTRY_MAIN_INTENT = ".MainIntent";
+ private static final String UMA_SIGNIN_CHOICE_ENTRY_VIEW_INTENT = ".ViewIntent";
+ private static final String UMA_SIGNIN_CHOICE_ZERO_ACCOUNTS = ".ZeroAccounts";
+ private static final String UMA_SIGNIN_CHOICE_ONE_ACCOUNT = ".OneAccount";
+ private static final String UMA_SIGNIN_CHOICE_MANY_ACCOUNTS = ".ManyAccounts";
private static final int SIGNIN_SETTINGS_DEFAULT_ACCOUNT = 0;
private static final int SIGNIN_SETTINGS_ANOTHER_ACCOUNT = 1;
private static final int SIGNIN_ACCEPT_DEFAULT_ACCOUNT = 2;
@@ -257,6 +262,20 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
}
RecordHistogram.recordEnumeratedHistogram(
UMA_SIGNIN_CHOICE, choice, SIGNIN_OPTION_COUNT);
+
+ String entryType = mFreProperties.getBoolean(FirstRunActivity.COMING_FROM_CHROME_ICON)
+ ? UMA_SIGNIN_CHOICE_ENTRY_MAIN_INTENT : UMA_SIGNIN_CHOICE_ENTRY_VIEW_INTENT;
+ int numAccounts = sGlue.numberOfAccounts(getApplicationContext());
+ String numAccountsString;
+ if (numAccounts == 0) {
+ numAccountsString = UMA_SIGNIN_CHOICE_ZERO_ACCOUNTS;
+ } else if (numAccounts == 1) {
+ numAccountsString = UMA_SIGNIN_CHOICE_ONE_ACCOUNT;
+ } else {
+ numAccountsString = UMA_SIGNIN_CHOICE_MANY_ACCOUNTS;
+ }
+ RecordHistogram.recordEnumeratedHistogram(
+ UMA_SIGNIN_CHOICE + entryType + numAccountsString, choice, SIGNIN_OPTION_COUNT);
}
mFreProperties.putString(RESULT_SIGNIN_ACCOUNT_NAME, mResultSignInAccountName);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlue.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlue.java
index 48b5674..19a8190 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlue.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlue.java
@@ -44,6 +44,12 @@ public interface FirstRunGlue {
boolean isDefaultAccountName(Context appContext, String accountName);
/**
+ * @return Number of available accounts on the device.
+ * @param appContext An application context.
+ */
+ int numberOfAccounts(Context appContext);
+
+ /**
* Opens the Android account adder UI.
* @param fragment A fragment that requested the service.
*/
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlueImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlueImpl.java
index 3ed76b4..c32aee6 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlueImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunGlueImpl.java
@@ -52,6 +52,12 @@ public class FirstRunGlueImpl implements FirstRunGlue {
}
@Override
+ public int numberOfAccounts(Context appContext) {
+ List<String> accountNames = AccountManagerHelper.get(appContext).getGoogleAccountNames();
+ return accountNames == null ? 0 : accountNames.size();
+ }
+
+ @Override
public void openAccountAdder(Fragment fragment) {
AccountAdder.getInstance().addAccount(fragment, AccountAdder.ADD_ACCOUNT_RESULT);
}
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 7b30063..146f9a1 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -70495,6 +70495,20 @@ To add a new entry, add it with any value and run test to compute valid value.
<affected-histogram name="Media.VideoCaptureManager"/>
</histogram_suffixes>
+<histogram_suffixes name="MobileFreSignInChoiceEntryType" separator=".">
+ <suffix name="MainIntent" label="Icon click"/>
+ <suffix name="ViewIntent" label="VIEW intent"/>
+ <affected-histogram name="MobileFre.SignInChoice"/>
+</histogram_suffixes>
+
+<histogram_suffixes name="MobileFreSignInChoiceNumberOfAccounts" separator=".">
+ <suffix name="ZeroAccounts" label="Zero accounts"/>
+ <suffix name="OneAccount" label="One account"/>
+ <suffix name="ManyAccounts" label="Two or more accounts"/>
+ <affected-histogram name="MobileFre.SignInChoice.MainIntent"/>
+ <affected-histogram name="MobileFre.SignInChoice.ViewIntent"/>
+</histogram_suffixes>
+
<histogram_suffixes name="ModuleIntegrityVerificationType" separator=".">
<suffix name="WithoutByteSet"
label="The version of the Module Integrity Verifier that doesn't use a