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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java

Issue 2873103003: Implements logging in the new compact translate UI. (Closed)
Patch Set: Created 3 years, 7 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/enums.xml » ('j') | tools/metrics/histograms/enums.xml » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
index fbadb25bc70471b8b5dda92911d99d2116fce09d..9bce7b4ef59a9800e7f3714bcc201af494722de8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateCompactInfoBar.java
@@ -11,6 +11,7 @@ import android.view.View.OnClickListener;
import android.widget.LinearLayout;
import org.chromium.base.annotations.CalledByNative;
+import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.infobar.translate.TranslateMenu;
import org.chromium.chrome.browser.infobar.translate.TranslateMenuHelper;
@@ -36,6 +37,41 @@ class TranslateCompactInfoBar extends InfoBar
private long mNativeTranslateInfoBarPtr;
private TranslateTabLayout mTabLayout;
+ private static final String INFOBAR_HISTOGRAM_TRANSLATE_LANGUAGE =
Leo 2017/05/10 07:23:58 Any chance moving all the definitions to Metrics.j
ramyasharma 2017/05/10 09:54:52 Hmmm.. as we discussed, keeping these metrics in t
+ "Translate.Compact.infobar_translate_language";
+ private static final String INFOBAR_HISTOGRAM_MORE_LANGUAGES_LANGUAGE =
+ "Translate.Compact.infobar_more_languages_translate_language";
+ private static final String INFOBAR_HISTOGRAM_PAGE_NOT_IN_LANGUAGE =
+ "Translate.Compact.infobar_page_not_in_language";
+ private static final String INFOBAR_HISTOGRAM_ALWAYS_TRANSLATE_LANGUAGE =
+ "Translate.Compact.infobar_always_translate_lang";
+ private static final String INFOBAR_HISTOGRAM_NEVER_TRANSLATE_LANGUAGE =
+ "Translate.Compact.infobar_never_translate_lang";
Ilya Sherman 2017/05/10 07:10:20 Did you mean to add these histograms to histograms
ramyasharma 2017/05/10 09:54:52 Yes, sorry I missed this. Fixed the case thanks.
+ private static final String INFOBAR_HISTOGRAM = "Translate.Compact";
+
+ /**
+ * This is used to back a UMA histogram, so it should be treated as
+ * append-only. The values should not be changed or reused, and
+ * INFOBAR_HISTOGRAM_BOUNDARY should be the last.
+ */
+ private static final Integer INFOBAR_IMPRESSION = 0;
+ private static final Integer INFOBAR_TRANSLATE = 1;
+ private static final Integer INFOBAR_DECLINE = 2;
+ private static final Integer INFOBAR_OPTIONS = 3;
+ private static final Integer INFOBAR_MORE_LANGUAGES = 4;
+ private static final Integer INFOBAR_MORE_LANGUAGES_TRANSLATE = 5;
+ private static final Integer INFOBAR_PAGE_NOT_IN = 6;
+ private static final Integer INFOBAR_ALWAYS_TRANSLATE = 7;
+ private static final Integer INFOBAR_NEVER_TRANSLATE = 8;
+ private static final Integer INFOBAR_NEVER_TRANSLATE_SITE = 9;
+ private static final Integer INFOBAR_SCROLL_HIDE = 10;
+ private static final Integer INFOBAR_SCROLL_SHOW = 11;
+ private static final Integer INFOBAR_REVERT = 12;
+ private static final Integer INFOBAR_SNACKBAR_CANCEL_ALWAYS = 13;
+ private static final Integer INFOBAR_SNACKBAR_CANCEL_NEVER_SITE = 14;
+ private static final Integer INFOBAR_SNACKBAR_CANCEL_NEVER = 15;
+ private static final Integer INFOBAR_HISTOGRAM_BOUNDARY = 16;
+
// Need 2 instances of TranslateMenuHelper to prevent a race condition bug which happens when
// showing language menu after dismissing overflow menu.
private TranslateMenuHelper mOverflowMenuHelper;
@@ -58,8 +94,20 @@ class TranslateCompactInfoBar extends InfoBar
@Override
public void onAction(Object actionData) {
- // TODO(ramyasharma): Add logging metric to track cancel actions.
- // Do nothing.
+ switch (mMenuItemId) {
+ case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE:
+ RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM,
+ INFOBAR_SNACKBAR_CANCEL_ALWAYS, INFOBAR_HISTOGRAM_BOUNDARY);
Ilya Sherman 2017/05/10 07:10:20 Optional nit: There's a lot of repetition of these
ramyasharma 2017/05/10 09:54:52 Thanks for the idea. Done.
+ return;
+ case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE:
+ RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM,
+ INFOBAR_SNACKBAR_CANCEL_NEVER, INFOBAR_HISTOGRAM_BOUNDARY);
+ return;
+ case TranslateMenu.ID_OVERFLOW_NEVER_SITE:
+ RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM,
+ INFOBAR_SNACKBAR_CANCEL_NEVER_SITE, INFOBAR_HISTOGRAM_BOUNDARY);
+ return;
+ }
}
};
@@ -67,6 +115,8 @@ class TranslateCompactInfoBar extends InfoBar
private static InfoBar create(int initialStep, String sourceLanguageCode,
String targetLanguageCode, boolean alwaysTranslate, boolean triggeredFromMenu,
String[] languages, String[] codes) {
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_IMPRESSION, INFOBAR_HISTOGRAM_BOUNDARY);
return new TranslateCompactInfoBar(initialStep, sourceLanguageCode, targetLanguageCode,
alwaysTranslate, triggeredFromMenu, languages, codes);
}
@@ -106,6 +156,8 @@ class TranslateCompactInfoBar extends InfoBar
mMenuButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_OPTIONS, INFOBAR_HISTOGRAM_BOUNDARY);
initMenuHelper(TranslateMenu.MENU_OVERFLOW);
mOverflowMenuHelper.show(TranslateMenu.MENU_OVERFLOW);
}
@@ -175,9 +227,15 @@ class TranslateCompactInfoBar extends InfoBar
public void onTabSelected(TabLayout.Tab tab) {
switch (tab.getPosition()) {
case SOURCE_TAB_INDEX:
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_REVERT, INFOBAR_HISTOGRAM_BOUNDARY);
onButtonClicked(ActionType.TRANSLATE_SHOW_ORIGINAL);
return;
case TARGET_TAB_INDEX:
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_TRANSLATE, INFOBAR_HISTOGRAM_BOUNDARY);
+ RecordHistogram.recordSparseSlowlyHistogram(
+ INFOBAR_HISTOGRAM_TRANSLATE_LANGUAGE, mOptions.targetLanguage.hashCode());
startTranslating(TARGET_TAB_INDEX);
return;
default:
@@ -195,10 +253,17 @@ class TranslateCompactInfoBar extends InfoBar
public void onOverflowMenuItemClicked(int itemId) {
switch (itemId) {
case TranslateMenu.ID_OVERFLOW_MORE_LANGUAGE:
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_MORE_LANGUAGES, INFOBAR_HISTOGRAM_BOUNDARY);
initMenuHelper(TranslateMenu.MENU_TARGET_LANGUAGE);
mLanguageMenuHelper.show(TranslateMenu.MENU_TARGET_LANGUAGE);
return;
case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE:
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_ALWAYS_TRANSLATE, INFOBAR_HISTOGRAM_BOUNDARY);
+ RecordHistogram.recordSparseSlowlyHistogram(
+ INFOBAR_HISTOGRAM_ALWAYS_TRANSLATE_LANGUAGE,
+ mOptions.sourceLanguageCode().hashCode());
// Only show snackbar when "Always Translate" is enabled.
if (!mOptions.alwaysTranslateLanguageState()) {
createAndShowSnackbar(
@@ -210,17 +275,26 @@ class TranslateCompactInfoBar extends InfoBar
}
return;
case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE:
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_NEVER_TRANSLATE, INFOBAR_HISTOGRAM_BOUNDARY);
+ RecordHistogram.recordSparseSlowlyHistogram(
+ INFOBAR_HISTOGRAM_NEVER_TRANSLATE_LANGUAGE,
+ mOptions.sourceLanguageCode().hashCode());
createAndShowSnackbar(
getContext().getString(R.string.translate_snackbar_language_never,
mOptions.sourceLanguageName()),
Snackbar.UMA_TRANSLATE_NEVER, itemId);
return;
case TranslateMenu.ID_OVERFLOW_NEVER_SITE:
+ RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM,
+ INFOBAR_NEVER_TRANSLATE_SITE, INFOBAR_HISTOGRAM_BOUNDARY);
createAndShowSnackbar(
getContext().getString(R.string.translate_snackbar_site_never),
Snackbar.UMA_TRANSLATE_NEVER_SITE, itemId);
return;
case TranslateMenu.ID_OVERFLOW_NOT_THIS_LANGUAGE:
+ RecordHistogram.recordEnumeratedHistogram(
+ INFOBAR_HISTOGRAM, INFOBAR_PAGE_NOT_IN, INFOBAR_HISTOGRAM_BOUNDARY);
initMenuHelper(TranslateMenu.MENU_SOURCE_LANGUAGE);
mLanguageMenuHelper.show(TranslateMenu.MENU_SOURCE_LANGUAGE);
return;
@@ -233,6 +307,8 @@ class TranslateCompactInfoBar extends InfoBar
public void onTargetMenuItemClicked(String code) {
// Reset target code in both UI and native.
if (mOptions.setTargetLanguage(code)) {
+ RecordHistogram.recordSparseSlowlyHistogram(INFOBAR_HISTOGRAM_MORE_LANGUAGES_LANGUAGE,
+ mOptions.targetLanguageCode().hashCode());
nativeApplyStringTranslateOption(
mNativeTranslateInfoBarPtr, TranslateOption.TARGET_CODE, code);
// Adjust UI.
@@ -245,6 +321,8 @@ class TranslateCompactInfoBar extends InfoBar
public void onSourceMenuItemClicked(String code) {
// Reset source code in both UI and native.
if (mOptions.setSourceLanguage(code)) {
+ RecordHistogram.recordSparseSlowlyHistogram(INFOBAR_HISTOGRAM_PAGE_NOT_IN_LANGUAGE,
+ mOptions.sourceLanguageCode().hashCode());
nativeApplyStringTranslateOption(
mNativeTranslateInfoBarPtr, TranslateOption.SOURCE_CODE, code);
// Adjust UI.
« no previous file with comments | « no previous file | tools/metrics/histograms/enums.xml » ('j') | tools/metrics/histograms/enums.xml » ('J')

Powered by Google App Engine
This is Rietveld 408576698