| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.chrome.browser.infobar; | 5 package org.chromium.chrome.browser.infobar; |
| 6 | 6 |
| 7 import android.support.design.widget.TabLayout; | 7 import android.support.design.widget.TabLayout; |
| 8 import android.view.LayoutInflater; | 8 import android.view.LayoutInflater; |
| 9 import android.view.View; | 9 import android.view.View; |
| 10 import android.view.View.OnClickListener; | 10 import android.view.View.OnClickListener; |
| 11 import android.widget.LinearLayout; | 11 import android.widget.LinearLayout; |
| 12 | 12 |
| 13 import org.chromium.base.annotations.CalledByNative; | 13 import org.chromium.base.annotations.CalledByNative; |
| 14 import org.chromium.chrome.R; | 14 import org.chromium.chrome.R; |
| 15 import org.chromium.chrome.browser.infobar.translate.TranslateMenu; | 15 import org.chromium.chrome.browser.infobar.translate.TranslateMenu; |
| 16 import org.chromium.chrome.browser.infobar.translate.TranslateMenuHelper; | 16 import org.chromium.chrome.browser.infobar.translate.TranslateMenuHelper; |
| 17 import org.chromium.chrome.browser.infobar.translate.TranslateTabLayout; | 17 import org.chromium.chrome.browser.infobar.translate.TranslateTabLayout; |
| 18 import org.chromium.ui.widget.Toast; |
| 18 | 19 |
| 19 /** | 20 /** |
| 20 * Java version of the compcat translate infobar | 21 * Java version of the compcat translate infobar |
| 21 */ | 22 */ |
| 22 class TranslateCompactInfoBar extends InfoBar | 23 class TranslateCompactInfoBar extends InfoBar |
| 23 implements TabLayout.OnTabSelectedListener, TranslateMenuHelper.Translat
eMenuListener { | 24 implements TabLayout.OnTabSelectedListener, TranslateMenuHelper.Translat
eMenuListener { |
| 24 private static final int SOURCE_TAB_INDEX = 0; | 25 private static final int SOURCE_TAB_INDEX = 0; |
| 25 private static final int TARGET_TAB_INDEX = 1; | 26 private static final int TARGET_TAB_INDEX = 1; |
| 26 | 27 |
| 27 private final TranslateOptions mOptions; | 28 private final TranslateOptions mOptions; |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX); | 86 mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX); |
| 86 onButtonClicked(ActionType.TRANSLATE); | 87 onButtonClicked(ActionType.TRANSLATE); |
| 87 } else { | 88 } else { |
| 88 mTabLayout.getTabAt(TARGET_TAB_INDEX).select(); | 89 mTabLayout.getTabAt(TARGET_TAB_INDEX).select(); |
| 89 } | 90 } |
| 90 } | 91 } |
| 91 | 92 |
| 92 @CalledByNative | 93 @CalledByNative |
| 93 private void onPageTranslated(int errorType) { | 94 private void onPageTranslated(int errorType) { |
| 94 if (mTabLayout != null) { | 95 if (mTabLayout != null) { |
| 95 // Success | 96 mTabLayout.hideProgressBar(); |
| 96 if (errorType == 0) { | 97 if (errorType != 0) { |
| 97 mTabLayout.hideProgressBar(); | 98 Toast.makeText(getContext(), R.string.translate_infobar_error, T
oast.LENGTH_SHORT) |
| 98 } else { | 99 .show(); |
| 99 mTabLayout.stopProgressBarAndRevertBack(); | 100 // Disable OnTabSelectedListener then revert selection. |
| 101 mTabLayout.removeOnTabSelectedListener(this); |
| 102 mTabLayout.getTabAt(SOURCE_TAB_INDEX).select(); |
| 103 // Add OnTabSelectedListener back. |
| 104 mTabLayout.addOnTabSelectedListener(this); |
| 100 } | 105 } |
| 101 } | 106 } |
| 102 } | 107 } |
| 103 | 108 |
| 104 @CalledByNative | 109 @CalledByNative |
| 105 private void setNativePtr(long nativePtr) { | 110 private void setNativePtr(long nativePtr) { |
| 106 mNativeTranslateInfoBarPtr = nativePtr; | 111 mNativeTranslateInfoBarPtr = nativePtr; |
| 107 } | 112 } |
| 108 | 113 |
| 109 @Override | 114 @Override |
| (...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 mTabLayout.replaceTabTitle(SOURCE_TAB_INDEX, mOptions.getRepresentat
ionFromCode(code)); | 185 mTabLayout.replaceTabTitle(SOURCE_TAB_INDEX, mOptions.getRepresentat
ionFromCode(code)); |
| 181 startTranslating(mTabLayout.getSelectedTabPosition()); | 186 startTranslating(mTabLayout.getSelectedTabPosition()); |
| 182 } | 187 } |
| 183 } | 188 } |
| 184 | 189 |
| 185 private native void nativeApplyStringTranslateOption( | 190 private native void nativeApplyStringTranslateOption( |
| 186 long nativeTranslateCompactInfoBar, int option, String value); | 191 long nativeTranslateCompactInfoBar, int option, String value); |
| 187 private native void nativeApplyBoolTranslateOption( | 192 private native void nativeApplyBoolTranslateOption( |
| 188 long nativeTranslateCompactInfoBar, int option, boolean value); | 193 long nativeTranslateCompactInfoBar, int option, boolean value); |
| 189 } | 194 } |
| OLD | NEW |