| 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);
|
|
|