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

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

Issue 2842113002: Show translate error message when translation failed. (Closed)
Patch Set: 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/infobar/translate/TranslateTabLayout.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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 }
OLDNEW
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/infobar/translate/TranslateTabLayout.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698