Log events in the Explicit Language Ask prompt to UMA
Bug: 891307
Change-Id: I9b3c2429dc9ebe96d3f06e904aaddfdb034c83f7
Reviewed-on: https://chromium-review.googlesource.com/c/1296809
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Commit-Queue: anthonyvd <anthonyvd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603219}
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/language/LanguageAskPrompt.java b/chrome/android/java/src/org/chromium/chrome/browser/language/LanguageAskPrompt.java
index 2e99fb31..2b4d617 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/language/LanguageAskPrompt.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/language/LanguageAskPrompt.java
@@ -17,6 +17,7 @@
import android.widget.TextView;
import org.chromium.base.LocaleUtils;
+import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeFeatureList;
@@ -40,6 +41,17 @@
* once at browser startup when no other promo or modals are shown.
*/
public class LanguageAskPrompt implements ModalDialogView.Controller {
+ // Enum values for the Translate.ExplicitLanguageAsk.Event histogram.
+ private static final int PROMPT_EVENT_SHOWN = 0;
+ private static final int PROMPT_EVENT_SAVED = 1;
+ private static final int PROMPT_EVENT_CANCELLED = 2;
+ private static final int PROMPT_EVENT_MAX = PROMPT_EVENT_CANCELLED;
+
+ private void recordPromptEvent(int event) {
+ RecordHistogram.recordEnumeratedHistogram(
+ "Translate.ExplicitLanguageAsk.Event", event, PROMPT_EVENT_MAX);
+ }
+
private class SeparatorViewHolder extends ViewHolder {
SeparatorViewHolder(View view) {
super(view);
@@ -246,6 +258,8 @@
public void show(ChromeActivity activity) {
if (activity == null) return;
+ recordPromptEvent(PROMPT_EVENT_SHOWN);
+
List<String> userAcceptLanguagesList =
PrefServiceBridge.getInstance().getUserLanguageCodes();
mInitialLanguages = new HashSet<String>();
@@ -316,5 +330,11 @@
}
@Override
- public void onDismiss(@DialogDismissalCause int dismissalCause) {}
+ public void onDismiss(@DialogDismissalCause int dismissalCause) {
+ if (dismissalCause == DialogDismissalCause.POSITIVE_BUTTON_CLICKED) {
+ recordPromptEvent(PROMPT_EVENT_SAVED);
+ } else {
+ recordPromptEvent(PROMPT_EVENT_CANCELLED);
+ }
+ }
}
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index fc2a0de..04e2cd2e 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -49740,6 +49740,12 @@
<int value="6" label="Translation error"/>
</enum>
+<enum name="TranslateExplicitAskPromptEventType">
+ <int value="0" label="Shown"/>
+ <int value="1" label="Saved"/>
+ <int value="2" label="Cancelled"/>
+</enum>
+
<enum name="TranslateInitiationStatus">
<int value="0" label="Completely disabled by prefs"/>
<int value="1" label="Completely disabled by switch"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 3146ec4..9acf8d6 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -111682,6 +111682,16 @@
</summary>
</histogram>
+<histogram name="Translate.ExplicitLanguageAsk.Event"
+ enum="TranslateExplicitAskPromptEventType">
+ <owner>yyushkina@google.com</owner>
+ <owner>anthonyvd@google.com</owner>
+ <summary>
+ The events (shown, saved, cancelled) happening in the Explicit Language Ask
+ prompt.
+ </summary>
+</histogram>
+
<histogram name="Translate.ExplicitLanguageAsk.LanguageAdded"
enum="CLD3LanguageCode">
<owner>yyushkina@google.com</owner>