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

Unified Diff: chrome/browser/android/metrics/uma_bridge.cc

Issue 978653002: Upstream FirstRunActivity and friends. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated logos Created 5 years, 9 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
Index: chrome/browser/android/metrics/uma_bridge.cc
diff --git a/chrome/browser/android/metrics/uma_bridge.cc b/chrome/browser/android/metrics/uma_bridge.cc
index 9577106e2e2c9415a9ce6885a652535fb48148da..3722894700ee80d6767b0edc879278c73517b372 100644
--- a/chrome/browser/android/metrics/uma_bridge.cc
+++ b/chrome/browser/android/metrics/uma_bridge.cc
@@ -12,7 +12,34 @@
using base::UserMetricsAction;
using content::RecordAction;
-using content::RecordComputedAction;
+
+namespace {
Ilya Sherman 2015/03/10 23:59:30 nit: Please leave a blank line after this one.
aurimas (slooooooooow) 2015/03/11 18:49:23 Done
+// When updating these values, remember to also update
+// tools/histograms/histograms.xml.
+enum MobileFreFinishState {
+ MOBILE_FRE_FINISH_STATE_SKIP_SIGN_IN = 0,
+ MOBILE_FRE_FINISH_STATE_SIGN_IN_SUCCESS = 1,
+ MOBILE_FRE_FINISH_STATE_SKIP_AFTER_FAIL = 2,
+ MOBILE_FRE_FINISH_STATE_BOUNDARY = 3
+};
+
+// When updating, remember to also update chrome/histograms.xml.
+enum MobileFreSignInChoice {
+ MOBILE_FRE_SIGNIN_SETTINGS_DEFAULT_ACCOUNT = 0,
+ MOBILE_FRE_SIGNIN_SETTINGS_ANOTHER_ACCOUNT = 1,
+ MOBILE_FRE_SIGNIN_ACCEPT_DEFAULT_ACCOUNT = 2,
+ MOBILE_FRE_SIGNIN_ACCEPT_ANOTHER_ACCOUNT = 3,
+ MOBILE_FRE_SIGNIN_NO_THANKS = 4,
+ MOBILE_FRE_SIGNIN_COUNT = 5
+};
+
+static std::vector<int> GetAllFREFinishStates() {
+ std::vector<int> states;
+ for (int i = 0; i < MOBILE_FRE_FINISH_STATE_BOUNDARY; i++)
Ilya Sherman 2015/03/10 23:59:30 nit: ++i
aurimas (slooooooooow) 2015/03/11 18:49:23 Done
+ states.push_back(i);
+ return states;
+}
Ilya Sherman 2015/03/10 23:59:30 nit: Please leave a blank line after this one.
aurimas (slooooooooow) 2015/03/11 18:49:23 Done
+} // namespace
static void RecordMenuShow(JNIEnv*, jclass) {
RecordAction(UserMetricsAction("MobileMenuShow"));
@@ -79,6 +106,54 @@ static void RecordDataReductionProxySettings(
boundary);
}
+// First Run Experience
+static void RecordFreSkipSignIn(JNIEnv*, jclass) {
+ UMA_HISTOGRAM_CUSTOM_ENUMERATION("MobileFre.FinishState",
Ilya Sherman 2015/03/10 23:59:30 Why CUSTOM_ENUMERATION, rather than just regular E
+ MOBILE_FRE_FINISH_STATE_SKIP_SIGN_IN,
+ // Note the third argument is only
+ // evaluated once, see macro
+ // definition for details.
+ GetAllFREFinishStates());
+}
+
+static void RecordFreSignInSuccessful(JNIEnv*, jclass) {
+ UMA_HISTOGRAM_CUSTOM_ENUMERATION("MobileFre.FinishState",
+ MOBILE_FRE_FINISH_STATE_SIGN_IN_SUCCESS,
+ GetAllFREFinishStates());
+}
+
+static void RecordFreSignInAttempted(JNIEnv*, jclass) {
+ UMA_HISTOGRAM_CUSTOM_ENUMERATION("MobileFre.FinishState",
+ MOBILE_FRE_FINISH_STATE_SKIP_AFTER_FAIL,
+ GetAllFREFinishStates());
+}
+
+// First Run Experience post M-37 (the old one above is temporarily kept to
+// match the numbers during the upgrade).
+static void RecordFreSignInShown(JNIEnv*, jclass) {
+ RecordAction(UserMetricsAction("MobileFre.SignInShown"));
+}
+
+static void RecordFreSignInAccepted(JNIEnv*,
+ jclass,
+ jboolean show_settings,
+ jboolean default_account) {
+ const MobileFreSignInChoice choice =
+ show_settings
+ ? (default_account ? MOBILE_FRE_SIGNIN_SETTINGS_DEFAULT_ACCOUNT
+ : MOBILE_FRE_SIGNIN_SETTINGS_ANOTHER_ACCOUNT)
+ : (default_account ? MOBILE_FRE_SIGNIN_ACCEPT_DEFAULT_ACCOUNT
+ : MOBILE_FRE_SIGNIN_ACCEPT_ANOTHER_ACCOUNT);
+ UMA_HISTOGRAM_ENUMERATION("MobileFre.SignInChoice", choice,
+ MOBILE_FRE_SIGNIN_COUNT);
+}
+
+static void RecordFreSignInDeclined(JNIEnv*, jclass) {
+ UMA_HISTOGRAM_ENUMERATION("MobileFre.SignInChoice",
+ MOBILE_FRE_SIGNIN_NO_THANKS,
+ MOBILE_FRE_SIGNIN_COUNT);
+}
Ilya Sherman 2015/03/10 23:59:30 Would it make sense to use base/android/record_his
+
namespace chrome {
namespace android {

Powered by Google App Engine
This is Rietveld 408576698