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

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

Issue 2871783003: Automatically trigger Always-Translate in new translation infobar (Closed)
Patch Set: fix 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 | chrome/browser/ui/android/infobars/translate_compact_infobar.h » ('j') | no next file with comments »
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..0389b7f0fbc1b7b468f98c37dd2d8af3314c876d 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
@@ -40,8 +40,8 @@ class TranslateCompactInfoBar extends InfoBar
// showing language menu after dismissing overflow menu.
private TranslateMenuHelper mOverflowMenuHelper;
private TranslateMenuHelper mLanguageMenuHelper;
-
private TintedImageButton mMenuButton;
+ private boolean mUserInteracted;
/** The controller for translate UI snackbars. */
class TranslateSnackbarController implements SnackbarController {
@@ -98,6 +98,7 @@ class TranslateCompactInfoBar extends InfoBar
if (mInitialStep == TRANSLATING_INFOBAR) {
mTabLayout.getTabAt(TARGET_TAB_INDEX).select();
mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX);
+ mUserInteracted = true;
}
mTabLayout.addOnTabSelectedListener(this);
@@ -134,11 +135,12 @@ class TranslateCompactInfoBar extends InfoBar
}
}
- private void startTranslating(int tabPostion) {
- if (TARGET_TAB_INDEX == tabPostion) {
+ private void startTranslating(int tabPosition) {
+ if (TARGET_TAB_INDEX == tabPosition) {
// Already on the target tab.
mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX);
onButtonClicked(ActionType.TRANSLATE);
+ mUserInteracted = true;
} else {
mTabLayout.getTabAt(TARGET_TAB_INDEX).select();
}
@@ -165,12 +167,27 @@ class TranslateCompactInfoBar extends InfoBar
mNativeTranslateInfoBarPtr = nativePtr;
}
+ @CalledByNative
+ private void setAutoAlwaysTranslate() {
+ createAndShowSnackbar(getContext().getString(R.string.translate_snackbar_always_translate,
+ mOptions.sourceLanguageName(), mOptions.targetLanguageName()),
+ Snackbar.UMA_TRANSLATE_ALWAYS, TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE);
+ }
+
@Override
protected void onNativeDestroyed() {
mNativeTranslateInfoBarPtr = 0;
super.onNativeDestroyed();
}
+ @Override
+ public void onCloseButtonClicked() {
+ if (!mUserInteracted) {
+ onButtonClicked(ActionType.CANCEL);
+ }
+ super.onCloseButtonClicked();
+ }
+
@Override
public void onTabSelected(TabLayout.Tab tab) {
switch (tab.getPosition()) {
@@ -193,6 +210,7 @@ class TranslateCompactInfoBar extends InfoBar
@Override
public void onOverflowMenuItemClicked(int itemId) {
+ mUserInteracted = true;
switch (itemId) {
case TranslateMenu.ID_OVERFLOW_MORE_LANGUAGE:
initMenuHelper(TranslateMenu.MENU_TARGET_LANGUAGE);
« no previous file with comments | « no previous file | chrome/browser/ui/android/infobars/translate_compact_infobar.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698