Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(709)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java

Issue 2270183002: [FRE] Add MobileFre.Progress histograms (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | tools/metrics/histograms/histograms.xml » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/firstrun/FirstRunActivity.java
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 da70c9e365de017276a632de783be584799e1f8d..745173a13fb610bb83f19290f64845a167269bd9 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
@@ -60,11 +60,6 @@ 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;
@@ -72,6 +67,18 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
private static final int SIGNIN_NO_THANKS = 4;
private static final int SIGNIN_OPTION_COUNT = 5;
+ private static final String FRE_ENTRY_MAIN_INTENT = ".MainIntent";
+ private static final String FRE_ENTRY_VIEW_INTENT = ".ViewIntent";
+
+ private static final String UMA_FRE_PROGRESS = "MobileFre.Progress";
+ private static final int FRE_PROGRESS_STARTED = 0;
+ private static final int FRE_PROGRESS_WELCOME_SHOWN = 1;
+ private static final int FRE_PROGRESS_DATA_SAVER_SHOWN = 2;
+ private static final int FRE_PROGRESS_SIGNIN_SHOWN = 3;
+ private static final int FRE_PROGRESS_COMPLETED_SIGNED_IN = 4;
+ private static final int FRE_PROGRESS_COMPLETED_NOT_SIGNED_IN = 5;
+ private static final int FRE_PROGRESS_TERMINATOR = 6;
+
@VisibleForTesting
static FirstRunGlue sGlue = new FirstRunGlueImpl();
@@ -89,6 +96,8 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
private List<Callable<FirstRunPage>> mPages;
+ private List<Integer> mFreProgressStates;
+
/**
* The pager adapter, which provides the pages to the view pager widget.
*/
@@ -99,18 +108,24 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
*/
private void createPageSequence() {
mPages = new ArrayList<Callable<FirstRunPage>>();
+ mFreProgressStates = new ArrayList<Integer>();
// An optional welcome page.
- if (mShowWelcomePage) mPages.add(pageOf(ToSAndUMAFirstRunFragment.class));
+ if (mShowWelcomePage) {
+ mPages.add(pageOf(ToSAndUMAFirstRunFragment.class));
+ mFreProgressStates.add(FRE_PROGRESS_WELCOME_SHOWN);
+ }
// An optional Data Saver page.
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
mPages.add(pageOf(DataReductionProxyFirstRunFragment.class));
+ mFreProgressStates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
}
// An optional sign-in page.
if (mFreProperties.getBoolean(SHOW_SIGNIN_PAGE)) {
mPages.add(pageOf(AccountFirstRunFragment.class));
+ mFreProgressStates.add(FRE_PROGRESS_SIGNIN_SHOWN);
}
}
@@ -180,9 +195,13 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
stopProgressionIfNotAcceptedTermsOfService();
mPager.setAdapter(mPagerAdapter);
+ recordFreProgressHistogram(mFreProgressStates.get(0));
+
skipPagesIfNecessary();
}
}.start();
+
+ recordFreProgressHistogram(FRE_PROGRESS_STARTED);
}
@Override
@@ -284,19 +303,9 @@ 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);
+ recordFreProgressHistogram(FRE_PROGRESS_COMPLETED_SIGNED_IN);
+ } else {
+ recordFreProgressHistogram(FRE_PROGRESS_COMPLETED_NOT_SIGNED_IN);
}
mFreProperties.putString(RESULT_SIGNIN_ACCOUNT_NAME, mResultSignInAccountName);
@@ -398,6 +407,7 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
return false;
}
mPager.setCurrentItem(position, false);
+ recordFreProgressHistogram(mFreProgressStates.get(position));
return true;
}
@@ -434,6 +444,14 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
}
}
+ private void recordFreProgressHistogram(int state) {
+ String entryType = mFreProperties.getBoolean(FirstRunActivity.COMING_FROM_CHROME_ICON)
+ ? FRE_ENTRY_MAIN_INTENT
+ : FRE_ENTRY_VIEW_INTENT;
+ RecordHistogram.recordEnumeratedHistogram(
+ UMA_FRE_PROGRESS + entryType, state, FRE_PROGRESS_TERMINATOR);
+ }
+
/**
* Creates a trivial page constructor for a given page type.
* @param clazz The .class of the page type.
« no previous file with comments | « no previous file | tools/metrics/histograms/histograms.xml » ('j') | tools/metrics/histograms/histograms.xml » ('J')

Powered by Google App Engine
This is Rietveld 408576698