[Android][WebSignin] Add metric for the dismissal button
This CL adds metric for the dismissal button in the web sign-in bottom
sheet.
(cherry picked from commit b453f4d531e356a4bdd27beb7fd90ab5ecd06150)
Bug: 1139309
Change-Id: Idc381b3a79c77aa471b9b1a0b19bcc8fb731a4ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2479426
Reviewed-by: Boris Sazonov <[email protected]>
Commit-Queue: Alice Wang <[email protected]>
Cr-Original-Commit-Position: refs/heads/master@{#817988}
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2484447
Reviewed-by: Alice Wang <[email protected]>
Cr-Commit-Position: refs/branch-heads/4280@{#485}
Cr-Branched-From: ea420fb963f9658c9969b6513c56b8f47efa1a2a-refs/heads/master@{#812852}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountConsistencyPromoAction.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountConsistencyPromoAction.java
index 4bbea88f..21ce1ae 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountConsistencyPromoAction.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountConsistencyPromoAction.java
@@ -31,6 +31,7 @@
AccountConsistencyPromoAction.DISMISSED_OTHER,
AccountConsistencyPromoAction.AUTH_ERROR_SHOWN,
AccountConsistencyPromoAction.GENERIC_ERROR_SHOWN,
+ AccountConsistencyPromoAction.DISMISSED_BUTTON,
})
@Retention(RetentionPolicy.SOURCE)
public @interface AccountConsistencyPromoAction {
@@ -109,5 +110,10 @@
*/
int GENERIC_ERROR_SHOWN = 13;
- int MAX = 14;
+ /**
+ * User has dismissed the promo by tapping on the dismissal button in the bottom sheet.
+ */
+ int DISMISSED_BUTTON = 14;
+
+ int MAX = 15;
}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java
index 415ded2..48673df 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetMediator.java
@@ -7,6 +7,7 @@
import android.accounts.Account;
import android.content.Context;
import android.text.TextUtils;
+import android.view.View.OnClickListener;
import androidx.annotation.Nullable;
@@ -50,8 +51,13 @@
mProfileDataCache = new ProfileDataCache(
context, context.getResources().getDimensionPixelSize(R.dimen.user_picture_size));
- mModel = AccountPickerBottomSheetProperties.createModel(this::onSelectedAccountClicked,
- this::onContinueAsClicked, dismissBottomSheetRunnable);
+ OnClickListener onDismissClicked = v -> {
+ AccountPickerDelegate.recordAccountConsistencyPromoAction(
+ AccountConsistencyPromoAction.DISMISSED_BUTTON);
+ dismissBottomSheetRunnable.run();
+ };
+ mModel = AccountPickerBottomSheetProperties.createModel(
+ this::onSelectedAccountClicked, this::onContinueAsClicked, onDismissClicked);
mProfileDataCache.addObserver(mProfileDataSourceObserver);
mAccountManagerFacade = AccountManagerFacadeProvider.getInstance();
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java
index 2e2e7ade..455e2180 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/signin/account_picker/AccountPickerBottomSheetProperties.java
@@ -130,12 +130,12 @@
* state {@link ViewState#NO_ACCOUNTS}.
*/
static PropertyModel createModel(Runnable onSelectedAccountClicked,
- Runnable onContinueAsClicked, Runnable onDismissClicked) {
+ Runnable onContinueAsClicked, OnClickListener onDismissClicked) {
return new PropertyModel.Builder(ALL_KEYS)
.with(ON_SELECTED_ACCOUNT_CLICKED, v -> onSelectedAccountClicked.run())
.with(SELECTED_ACCOUNT_DATA, null)
.with(ON_CONTINUE_AS_CLICKED, v -> onContinueAsClicked.run())
- .with(ON_DISMISS_CLICKED, v -> onDismissClicked.run())
+ .with(ON_DISMISS_CLICKED, onDismissClicked)
.with(VIEW_STATE, ViewState.NO_ACCOUNTS)
.build();
}
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 2464cb2..674d307 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -990,6 +990,10 @@
<int value="13" label="GenericErrorShown">
The generic error screen was shown to the user.
</int>
+ <int value="14" label="DismissedButton">
+ User has dismissed the promo by tapping on the dismissal button in the
+ bottom sheet.
+ </int>
</enum>
<enum name="AccountManagerAccountAdditionSource">