Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| index 7e4f68b1bdb235da218cb05efae92d4c5d72b36a..14113c36ee465e3efafc37cd957d0b1eb6436246 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateInfoBar.java |
| @@ -11,7 +11,9 @@ import android.text.SpannableStringBuilder; |
| import android.text.TextUtils; |
| import android.text.style.ClickableSpan; |
| import android.view.View; |
| +import android.view.ViewGroup; |
| import android.widget.CheckBox; |
| +import android.widget.Switch; |
| import org.chromium.base.annotations.CalledByNative; |
| import org.chromium.chrome.R; |
| @@ -189,9 +191,9 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| if (getInfoBarType() == AFTER_TRANSLATE_INFOBAR |
| && !needsAlwaysPanel() |
| && !mOptions.triggeredFromMenu()) { |
| - // Long always translate version |
| - TranslateCheckBox checkBox = new TranslateCheckBox(context, mOptions, this); |
| - layout.setCustomContent(checkBox); |
| + // Fully expanded version of the "Always Translate" InfoBar. |
| + ViewGroup subLayout = TranslateAlwaysPanel.createAlwaysToggle(context, mOptions); |
| + layout.setCustomContent(subLayout); |
| } |
| } |
| @@ -230,6 +232,14 @@ public class TranslateInfoBar extends InfoBar implements SubPanelListener { |
| public void onOptionsChanged() { |
| if (mNativeTranslateInfoBarPtr == 0) return; |
| + // Handle the "Always Translate" checkbox. |
| + if (getInfoBarType() == AFTER_TRANSLATE_INFOBAR) { |
| + Switch alwaysSwitch = |
|
newt (away)
2015/11/05 05:52:16
This feels hacky. TranslateInfoBar is relying on i
gone
2015/11/05 20:42:03
Went with the second option. Taking in a callback
|
| + (Switch) getContentWrapper().findViewById(R.id.subcontrol_toggle_switch); |
| + assert alwaysSwitch != null; |
|
newt (away)
2015/11/05 05:52:16
Remove this. The NPE on the next line will notify
gone
2015/11/05 20:42:03
Done.
|
| + mOptions.toggleAlwaysTranslateLanguageState(alwaysSwitch.isChecked()); |
| + } |
| + |
| if (mOptions.optionsChanged()) { |
| nativeApplyTranslateOptions(mNativeTranslateInfoBarPtr, mOptions.sourceLanguageIndex(), |
| mOptions.targetLanguageIndex(), mOptions.alwaysTranslateLanguageState(), |