Chromium Code Reviews| 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 023dd0864c40376aa05dd9cfdb4f9a43fc716825..f1459cb3c38d41d56e28e652d79b20329214c1ca 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 |
| @@ -6,21 +6,29 @@ package org.chromium.chrome.browser.infobar; |
| import android.support.design.widget.TabLayout; |
| import android.view.LayoutInflater; |
| +import android.view.View; |
| +import android.view.View.OnClickListener; |
| +import android.widget.ImageButton; |
| import android.widget.LinearLayout; |
| import org.chromium.base.annotations.CalledByNative; |
| import org.chromium.chrome.R; |
| +import org.chromium.chrome.browser.infobar.translate.TranslateMenu; |
| +import org.chromium.chrome.browser.infobar.translate.TranslateMenuHelper; |
| import org.chromium.chrome.browser.infobar.translate.TranslateTabLayout; |
| /** |
| * Java version of the compcat translate infobar |
| */ |
| -class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelectedListener { |
| +class TranslateCompactInfoBar extends InfoBar |
| + implements TabLayout.OnTabSelectedListener, TranslateMenuHelper.TranslateMenuItemListener { |
| private final TranslateOptions mOptions; |
| private long mNativeTranslateInfoBarPtr; |
| private TranslateTabLayout mTabLayout; |
| + private TranslateMenuHelper mOverFlowMenuHelper; |
| + |
| @CalledByNative |
| private static InfoBar create(String sourceLanguageCode, String targetLanguageCode, |
| String[] languages, String[] codes) { |
| @@ -51,6 +59,19 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected |
| mTabLayout.addTabs(mOptions.sourceLanguageName(), mOptions.targetLanguageName()); |
| mTabLayout.addOnTabSelectedListener(this); |
| + ((ImageButton) content.findViewById(R.id.translate_infobar_menu_button)) |
| + .setOnClickListener(new OnClickListener() { |
|
gone
2017/04/19 23:21:13
can you pull this out into a separate function tha
|
| + @Override |
| + public void onClick(View v) { |
| + if (mOverFlowMenuHelper == null) { |
| + mOverFlowMenuHelper = new TranslateMenuHelper(getContext(), v, |
| + TranslateCompactInfoBar.this, mOptions.sourceLanguageName(), |
| + TranslateMenu.createOverflowMenu()); |
| + } |
| + mOverFlowMenuHelper.show(); |
| + } |
| + }); |
| + |
| parent.addContent(content, 1.0f); |
| } |
| @@ -88,6 +109,24 @@ class TranslateCompactInfoBar extends InfoBar implements TabLayout.OnTabSelected |
| } |
| @Override |
| + public void onTranslateMenuItemClicked(int type, String code) { |
| + if (type == TranslateMenu.OVERFLOW_MENU_ITEM) { |
| + switch (code) { |
| + // TODO(googleo): Add correct behaviors for each code here. |
| + case TranslateMenu.ALWAYS_TRANSLATE: |
| + case TranslateMenu.MORE_LANGUAGE: |
| + case TranslateMenu.NEVER_SITE: |
| + case TranslateMenu.NEVER_LANGUAGE: |
| + case TranslateMenu.NOT_THIS_LANGUAGE: |
| + default: |
| + return; |
|
gone
2017/04/19 23:21:13
case VALID_CASE_1:
case VALID_CASE_2:
case VALID_C
Leo
2017/04/20 01:17:21
Done.
|
| + } |
| + } else { |
| + // TODO(googleo): Update translate code and translate page. |
| + } |
| + } |
| + |
| + @Override |
| public void onTabUnselected(TabLayout.Tab tab) {} |
| @Override |