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

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: 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..a5c82a276bd046c6fdd349afcc7f9d08a63cbf99 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 = 128;
Bernhard Bauer 2016/08/24 09:27:23 Why 128? It's not only kind of arbitrary, but usin
gogerald1 2016/08/24 14:47:44 Done. yes, enum histogram is not sparse,
+
@VisibleForTesting
static FirstRunGlue sGlue = new FirstRunGlueImpl();
@@ -89,6 +96,9 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
private List<Callable<FirstRunPage>> mPages;
+ private List<Integer> mFreProgressSates;
Bernhard Bauer 2016/08/24 09:27:23 Nit: ...States
gogerald1 2016/08/24 14:47:44 Done.
+ private String mFreProgressEntryType;
+
/**
* The pager adapter, which provides the pages to the view pager widget.
*/
@@ -99,18 +109,24 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
*/
private void createPageSequence() {
mPages = new ArrayList<Callable<FirstRunPage>>();
+ mFreProgressSates = new ArrayList<Integer>();
// An optional welcome page.
- if (mShowWelcomePage) mPages.add(pageOf(ToSAndUMAFirstRunFragment.class));
+ if (mShowWelcomePage) {
+ mPages.add(pageOf(ToSAndUMAFirstRunFragment.class));
+ mFreProgressSates.add(FRE_PROGRESS_WELCOME_SHOWN);
+ }
// An optional Data Saver page.
if (mFreProperties.getBoolean(SHOW_DATA_REDUCTION_PAGE)) {
mPages.add(pageOf(DataReductionProxyFirstRunFragment.class));
+ mFreProgressSates.add(FRE_PROGRESS_DATA_SAVER_SHOWN);
}
// An optional sign-in page.
if (mFreProperties.getBoolean(SHOW_SIGNIN_PAGE)) {
mPages.add(pageOf(AccountFirstRunFragment.class));
+ mFreProgressSates.add(FRE_PROGRESS_SIGNIN_SHOWN);
}
}
@@ -150,6 +166,10 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
mPager.setId(R.id.fre_pager);
setContentView(mPager);
+ mFreProgressEntryType = mFreProperties.getBoolean(FirstRunActivity.COMING_FROM_CHROME_ICON)
+ ? FRE_ENTRY_MAIN_INTENT
+ : FRE_ENTRY_VIEW_INTENT;
+
mProfileDataCache = new ProfileDataCache(FirstRunActivity.this, null);
mProfileDataCache.setProfile(Profile.getLastUsedProfile());
new FirstRunFlowSequencer(this, mFreProperties, isMetricsReportingOptIn()) {
@@ -180,9 +200,15 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
stopProgressionIfNotAcceptedTermsOfService();
mPager.setAdapter(mPagerAdapter);
+ RecordHistogram.recordEnumeratedHistogram(UMA_FRE_PROGRESS + mFreProgressEntryType,
+ mFreProgressSates.get(0), FRE_PROGRESS_TERMINATOR);
+
skipPagesIfNecessary();
}
}.start();
+
+ RecordHistogram.recordEnumeratedHistogram(UMA_FRE_PROGRESS + mFreProgressEntryType,
Bernhard Bauer 2016/08/24 09:27:23 Would it be worth to extract this to a shared meth
gogerald1 2016/08/24 14:47:44 Done. Might worth
+ FRE_PROGRESS_STARTED, FRE_PROGRESS_TERMINATOR);
}
@Override
@@ -284,19 +310,11 @@ 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);
+ RecordHistogram.recordEnumeratedHistogram(UMA_FRE_PROGRESS + mFreProgressEntryType,
+ FRE_PROGRESS_COMPLETED_SIGNED_IN, FRE_PROGRESS_TERMINATOR);
+ } else {
+ RecordHistogram.recordEnumeratedHistogram(UMA_FRE_PROGRESS + mFreProgressEntryType,
+ FRE_PROGRESS_COMPLETED_NOT_SIGNED_IN, FRE_PROGRESS_TERMINATOR);
}
mFreProperties.putString(RESULT_SIGNIN_ACCOUNT_NAME, mResultSignInAccountName);
@@ -398,6 +416,8 @@ public class FirstRunActivity extends AppCompatActivity implements FirstRunPageD
return false;
}
mPager.setCurrentItem(position, false);
+ RecordHistogram.recordEnumeratedHistogram(UMA_FRE_PROGRESS + mFreProgressEntryType,
+ mFreProgressSates.get(position), FRE_PROGRESS_TERMINATOR);
return true;
}
« 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