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.base.metrics.RecordHistogram; | |
14 import org.chromium.chrome.R; | 15 import org.chromium.chrome.R; |
15 import org.chromium.chrome.browser.infobar.translate.TranslateMenu; | 16 import org.chromium.chrome.browser.infobar.translate.TranslateMenu; |
16 import org.chromium.chrome.browser.infobar.translate.TranslateMenuHelper; | 17 import org.chromium.chrome.browser.infobar.translate.TranslateMenuHelper; |
17 import org.chromium.chrome.browser.infobar.translate.TranslateTabLayout; | 18 import org.chromium.chrome.browser.infobar.translate.TranslateTabLayout; |
18 import org.chromium.chrome.browser.snackbar.Snackbar; | 19 import org.chromium.chrome.browser.snackbar.Snackbar; |
19 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; | 20 import org.chromium.chrome.browser.snackbar.SnackbarManager.SnackbarController; |
20 import org.chromium.chrome.browser.widget.TintedImageButton; | 21 import org.chromium.chrome.browser.widget.TintedImageButton; |
21 import org.chromium.ui.widget.Toast; | 22 import org.chromium.ui.widget.Toast; |
22 | 23 |
23 /** | 24 /** |
24 * Java version of the compcat translate infobar | 25 * Java version of the compcat translate infobar |
25 */ | 26 */ |
26 class TranslateCompactInfoBar extends InfoBar | 27 class TranslateCompactInfoBar extends InfoBar |
27 implements TabLayout.OnTabSelectedListener, TranslateMenuHelper.Translat eMenuListener { | 28 implements TabLayout.OnTabSelectedListener, TranslateMenuHelper.Translat eMenuListener { |
28 public static final int TRANSLATING_INFOBAR = 1; | 29 public static final int TRANSLATING_INFOBAR = 1; |
29 | 30 |
30 private static final int SOURCE_TAB_INDEX = 0; | 31 private static final int SOURCE_TAB_INDEX = 0; |
31 private static final int TARGET_TAB_INDEX = 1; | 32 private static final int TARGET_TAB_INDEX = 1; |
32 | 33 |
33 private final int mInitialStep; | 34 private final int mInitialStep; |
34 private final TranslateOptions mOptions; | 35 private final TranslateOptions mOptions; |
35 | 36 |
36 private long mNativeTranslateInfoBarPtr; | 37 private long mNativeTranslateInfoBarPtr; |
37 private TranslateTabLayout mTabLayout; | 38 private TranslateTabLayout mTabLayout; |
38 | 39 |
40 private static final String INFOBAR_HISTOGRAM_TRANSLATE_LANGUAGE = | |
Leo
2017/05/10 07:23:58
Any chance moving all the definitions to Metrics.j
ramyasharma
2017/05/10 09:54:52
Hmmm.. as we discussed, keeping these metrics in t
| |
41 "Translate.Compact.infobar_translate_language"; | |
42 private static final String INFOBAR_HISTOGRAM_MORE_LANGUAGES_LANGUAGE = | |
43 "Translate.Compact.infobar_more_languages_translate_language"; | |
44 private static final String INFOBAR_HISTOGRAM_PAGE_NOT_IN_LANGUAGE = | |
45 "Translate.Compact.infobar_page_not_in_language"; | |
46 private static final String INFOBAR_HISTOGRAM_ALWAYS_TRANSLATE_LANGUAGE = | |
47 "Translate.Compact.infobar_always_translate_lang"; | |
48 private static final String INFOBAR_HISTOGRAM_NEVER_TRANSLATE_LANGUAGE = | |
49 "Translate.Compact.infobar_never_translate_lang"; | |
Ilya Sherman
2017/05/10 07:10:20
Did you mean to add these histograms to histograms
ramyasharma
2017/05/10 09:54:52
Yes, sorry I missed this.
Fixed the case thanks.
| |
50 private static final String INFOBAR_HISTOGRAM = "Translate.Compact"; | |
51 | |
52 /** | |
53 * This is used to back a UMA histogram, so it should be treated as | |
54 * append-only. The values should not be changed or reused, and | |
55 * INFOBAR_HISTOGRAM_BOUNDARY should be the last. | |
56 */ | |
57 private static final Integer INFOBAR_IMPRESSION = 0; | |
58 private static final Integer INFOBAR_TRANSLATE = 1; | |
59 private static final Integer INFOBAR_DECLINE = 2; | |
60 private static final Integer INFOBAR_OPTIONS = 3; | |
61 private static final Integer INFOBAR_MORE_LANGUAGES = 4; | |
62 private static final Integer INFOBAR_MORE_LANGUAGES_TRANSLATE = 5; | |
63 private static final Integer INFOBAR_PAGE_NOT_IN = 6; | |
64 private static final Integer INFOBAR_ALWAYS_TRANSLATE = 7; | |
65 private static final Integer INFOBAR_NEVER_TRANSLATE = 8; | |
66 private static final Integer INFOBAR_NEVER_TRANSLATE_SITE = 9; | |
67 private static final Integer INFOBAR_SCROLL_HIDE = 10; | |
68 private static final Integer INFOBAR_SCROLL_SHOW = 11; | |
69 private static final Integer INFOBAR_REVERT = 12; | |
70 private static final Integer INFOBAR_SNACKBAR_CANCEL_ALWAYS = 13; | |
71 private static final Integer INFOBAR_SNACKBAR_CANCEL_NEVER_SITE = 14; | |
72 private static final Integer INFOBAR_SNACKBAR_CANCEL_NEVER = 15; | |
73 private static final Integer INFOBAR_HISTOGRAM_BOUNDARY = 16; | |
74 | |
39 // Need 2 instances of TranslateMenuHelper to prevent a race condition bug w hich happens when | 75 // Need 2 instances of TranslateMenuHelper to prevent a race condition bug w hich happens when |
40 // showing language menu after dismissing overflow menu. | 76 // showing language menu after dismissing overflow menu. |
41 private TranslateMenuHelper mOverflowMenuHelper; | 77 private TranslateMenuHelper mOverflowMenuHelper; |
42 private TranslateMenuHelper mLanguageMenuHelper; | 78 private TranslateMenuHelper mLanguageMenuHelper; |
43 | 79 |
44 private TintedImageButton mMenuButton; | 80 private TintedImageButton mMenuButton; |
45 | 81 |
46 /** The controller for translate UI snackbars. */ | 82 /** The controller for translate UI snackbars. */ |
47 class TranslateSnackbarController implements SnackbarController { | 83 class TranslateSnackbarController implements SnackbarController { |
48 private final int mMenuItemId; | 84 private final int mMenuItemId; |
49 | 85 |
50 public TranslateSnackbarController(int menuItemId) { | 86 public TranslateSnackbarController(int menuItemId) { |
51 mMenuItemId = menuItemId; | 87 mMenuItemId = menuItemId; |
52 } | 88 } |
53 | 89 |
54 @Override | 90 @Override |
55 public void onDismissNoAction(Object actionData) { | 91 public void onDismissNoAction(Object actionData) { |
56 handleTranslateOptionPostSnackbar(mMenuItemId); | 92 handleTranslateOptionPostSnackbar(mMenuItemId); |
57 } | 93 } |
58 | 94 |
59 @Override | 95 @Override |
60 public void onAction(Object actionData) { | 96 public void onAction(Object actionData) { |
61 // TODO(ramyasharma): Add logging metric to track cancel actions. | 97 switch (mMenuItemId) { |
62 // Do nothing. | 98 case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE: |
99 RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM, | |
100 INFOBAR_SNACKBAR_CANCEL_ALWAYS, INFOBAR_HISTOGRAM_BO UNDARY); | |
Ilya Sherman
2017/05/10 07:10:20
Optional nit: There's a lot of repetition of these
ramyasharma
2017/05/10 09:54:52
Thanks for the idea. Done.
| |
101 return; | |
102 case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE: | |
103 RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM, | |
104 INFOBAR_SNACKBAR_CANCEL_NEVER, INFOBAR_HISTOGRAM_BOU NDARY); | |
105 return; | |
106 case TranslateMenu.ID_OVERFLOW_NEVER_SITE: | |
107 RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM, | |
108 INFOBAR_SNACKBAR_CANCEL_NEVER_SITE, INFOBAR_HISTOGRA M_BOUNDARY); | |
109 return; | |
110 } | |
63 } | 111 } |
64 }; | 112 }; |
65 | 113 |
66 @CalledByNative | 114 @CalledByNative |
67 private static InfoBar create(int initialStep, String sourceLanguageCode, | 115 private static InfoBar create(int initialStep, String sourceLanguageCode, |
68 String targetLanguageCode, boolean alwaysTranslate, boolean triggere dFromMenu, | 116 String targetLanguageCode, boolean alwaysTranslate, boolean triggere dFromMenu, |
69 String[] languages, String[] codes) { | 117 String[] languages, String[] codes) { |
118 RecordHistogram.recordEnumeratedHistogram( | |
119 INFOBAR_HISTOGRAM, INFOBAR_IMPRESSION, INFOBAR_HISTOGRAM_BOUNDAR Y); | |
70 return new TranslateCompactInfoBar(initialStep, sourceLanguageCode, targ etLanguageCode, | 120 return new TranslateCompactInfoBar(initialStep, sourceLanguageCode, targ etLanguageCode, |
71 alwaysTranslate, triggeredFromMenu, languages, codes); | 121 alwaysTranslate, triggeredFromMenu, languages, codes); |
72 } | 122 } |
73 | 123 |
74 TranslateCompactInfoBar(int initialStep, String sourceLanguageCode, String t argetLanguageCode, | 124 TranslateCompactInfoBar(int initialStep, String sourceLanguageCode, String t argetLanguageCode, |
75 boolean alwaysTranslate, boolean triggeredFromMenu, String[] languag es, | 125 boolean alwaysTranslate, boolean triggeredFromMenu, String[] languag es, |
76 String[] codes) { | 126 String[] codes) { |
77 super(R.drawable.infobar_translate_compact, null, null); | 127 super(R.drawable.infobar_translate_compact, null, null); |
78 mInitialStep = initialStep; | 128 mInitialStep = initialStep; |
79 mOptions = TranslateOptions.create(sourceLanguageCode, targetLanguageCod e, languages, codes, | 129 mOptions = TranslateOptions.create(sourceLanguageCode, targetLanguageCod e, languages, codes, |
(...skipping 19 matching lines...) Expand all Loading... | |
99 mTabLayout.getTabAt(TARGET_TAB_INDEX).select(); | 149 mTabLayout.getTabAt(TARGET_TAB_INDEX).select(); |
100 mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX); | 150 mTabLayout.showProgressBarOnTab(TARGET_TAB_INDEX); |
101 } | 151 } |
102 | 152 |
103 mTabLayout.addOnTabSelectedListener(this); | 153 mTabLayout.addOnTabSelectedListener(this); |
104 | 154 |
105 mMenuButton = (TintedImageButton) content.findViewById(R.id.translate_in fobar_menu_button); | 155 mMenuButton = (TintedImageButton) content.findViewById(R.id.translate_in fobar_menu_button); |
106 mMenuButton.setOnClickListener(new OnClickListener() { | 156 mMenuButton.setOnClickListener(new OnClickListener() { |
107 @Override | 157 @Override |
108 public void onClick(View v) { | 158 public void onClick(View v) { |
159 RecordHistogram.recordEnumeratedHistogram( | |
160 INFOBAR_HISTOGRAM, INFOBAR_OPTIONS, INFOBAR_HISTOGRAM_BO UNDARY); | |
109 initMenuHelper(TranslateMenu.MENU_OVERFLOW); | 161 initMenuHelper(TranslateMenu.MENU_OVERFLOW); |
110 mOverflowMenuHelper.show(TranslateMenu.MENU_OVERFLOW); | 162 mOverflowMenuHelper.show(TranslateMenu.MENU_OVERFLOW); |
111 } | 163 } |
112 }); | 164 }); |
113 | 165 |
114 parent.addContent(content, 1.0f); | 166 parent.addContent(content, 1.0f); |
115 } | 167 } |
116 | 168 |
117 private void initMenuHelper(int menuType) { | 169 private void initMenuHelper(int menuType) { |
118 switch (menuType) { | 170 switch (menuType) { |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
168 @Override | 220 @Override |
169 protected void onNativeDestroyed() { | 221 protected void onNativeDestroyed() { |
170 mNativeTranslateInfoBarPtr = 0; | 222 mNativeTranslateInfoBarPtr = 0; |
171 super.onNativeDestroyed(); | 223 super.onNativeDestroyed(); |
172 } | 224 } |
173 | 225 |
174 @Override | 226 @Override |
175 public void onTabSelected(TabLayout.Tab tab) { | 227 public void onTabSelected(TabLayout.Tab tab) { |
176 switch (tab.getPosition()) { | 228 switch (tab.getPosition()) { |
177 case SOURCE_TAB_INDEX: | 229 case SOURCE_TAB_INDEX: |
230 RecordHistogram.recordEnumeratedHistogram( | |
231 INFOBAR_HISTOGRAM, INFOBAR_REVERT, INFOBAR_HISTOGRAM_BOU NDARY); | |
178 onButtonClicked(ActionType.TRANSLATE_SHOW_ORIGINAL); | 232 onButtonClicked(ActionType.TRANSLATE_SHOW_ORIGINAL); |
179 return; | 233 return; |
180 case TARGET_TAB_INDEX: | 234 case TARGET_TAB_INDEX: |
235 RecordHistogram.recordEnumeratedHistogram( | |
236 INFOBAR_HISTOGRAM, INFOBAR_TRANSLATE, INFOBAR_HISTOGRAM_ BOUNDARY); | |
237 RecordHistogram.recordSparseSlowlyHistogram( | |
238 INFOBAR_HISTOGRAM_TRANSLATE_LANGUAGE, mOptions.targetLan guage.hashCode()); | |
181 startTranslating(TARGET_TAB_INDEX); | 239 startTranslating(TARGET_TAB_INDEX); |
182 return; | 240 return; |
183 default: | 241 default: |
184 assert false : "Unexpected Tab Index"; | 242 assert false : "Unexpected Tab Index"; |
185 } | 243 } |
186 } | 244 } |
187 | 245 |
188 @Override | 246 @Override |
189 public void onTabUnselected(TabLayout.Tab tab) {} | 247 public void onTabUnselected(TabLayout.Tab tab) {} |
190 | 248 |
191 @Override | 249 @Override |
192 public void onTabReselected(TabLayout.Tab tab) {} | 250 public void onTabReselected(TabLayout.Tab tab) {} |
193 | 251 |
194 @Override | 252 @Override |
195 public void onOverflowMenuItemClicked(int itemId) { | 253 public void onOverflowMenuItemClicked(int itemId) { |
196 switch (itemId) { | 254 switch (itemId) { |
197 case TranslateMenu.ID_OVERFLOW_MORE_LANGUAGE: | 255 case TranslateMenu.ID_OVERFLOW_MORE_LANGUAGE: |
256 RecordHistogram.recordEnumeratedHistogram( | |
257 INFOBAR_HISTOGRAM, INFOBAR_MORE_LANGUAGES, INFOBAR_HISTO GRAM_BOUNDARY); | |
198 initMenuHelper(TranslateMenu.MENU_TARGET_LANGUAGE); | 258 initMenuHelper(TranslateMenu.MENU_TARGET_LANGUAGE); |
199 mLanguageMenuHelper.show(TranslateMenu.MENU_TARGET_LANGUAGE); | 259 mLanguageMenuHelper.show(TranslateMenu.MENU_TARGET_LANGUAGE); |
200 return; | 260 return; |
201 case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE: | 261 case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE: |
262 RecordHistogram.recordEnumeratedHistogram( | |
263 INFOBAR_HISTOGRAM, INFOBAR_ALWAYS_TRANSLATE, INFOBAR_HIS TOGRAM_BOUNDARY); | |
264 RecordHistogram.recordSparseSlowlyHistogram( | |
265 INFOBAR_HISTOGRAM_ALWAYS_TRANSLATE_LANGUAGE, | |
266 mOptions.sourceLanguageCode().hashCode()); | |
202 // Only show snackbar when "Always Translate" is enabled. | 267 // Only show snackbar when "Always Translate" is enabled. |
203 if (!mOptions.alwaysTranslateLanguageState()) { | 268 if (!mOptions.alwaysTranslateLanguageState()) { |
204 createAndShowSnackbar( | 269 createAndShowSnackbar( |
205 getContext().getString(R.string.translate_snackbar_a lways_translate, | 270 getContext().getString(R.string.translate_snackbar_a lways_translate, |
206 mOptions.sourceLanguageName(), mOptions.targ etLanguageName()), | 271 mOptions.sourceLanguageName(), mOptions.targ etLanguageName()), |
207 Snackbar.UMA_TRANSLATE_ALWAYS, itemId); | 272 Snackbar.UMA_TRANSLATE_ALWAYS, itemId); |
208 } else { | 273 } else { |
209 handleTranslateOptionPostSnackbar(itemId); | 274 handleTranslateOptionPostSnackbar(itemId); |
210 } | 275 } |
211 return; | 276 return; |
212 case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE: | 277 case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE: |
278 RecordHistogram.recordEnumeratedHistogram( | |
279 INFOBAR_HISTOGRAM, INFOBAR_NEVER_TRANSLATE, INFOBAR_HIST OGRAM_BOUNDARY); | |
280 RecordHistogram.recordSparseSlowlyHistogram( | |
281 INFOBAR_HISTOGRAM_NEVER_TRANSLATE_LANGUAGE, | |
282 mOptions.sourceLanguageCode().hashCode()); | |
213 createAndShowSnackbar( | 283 createAndShowSnackbar( |
214 getContext().getString(R.string.translate_snackbar_langu age_never, | 284 getContext().getString(R.string.translate_snackbar_langu age_never, |
215 mOptions.sourceLanguageName()), | 285 mOptions.sourceLanguageName()), |
216 Snackbar.UMA_TRANSLATE_NEVER, itemId); | 286 Snackbar.UMA_TRANSLATE_NEVER, itemId); |
217 return; | 287 return; |
218 case TranslateMenu.ID_OVERFLOW_NEVER_SITE: | 288 case TranslateMenu.ID_OVERFLOW_NEVER_SITE: |
289 RecordHistogram.recordEnumeratedHistogram(INFOBAR_HISTOGRAM, | |
290 INFOBAR_NEVER_TRANSLATE_SITE, INFOBAR_HISTOGRAM_BOUNDARY ); | |
219 createAndShowSnackbar( | 291 createAndShowSnackbar( |
220 getContext().getString(R.string.translate_snackbar_site_ never), | 292 getContext().getString(R.string.translate_snackbar_site_ never), |
221 Snackbar.UMA_TRANSLATE_NEVER_SITE, itemId); | 293 Snackbar.UMA_TRANSLATE_NEVER_SITE, itemId); |
222 return; | 294 return; |
223 case TranslateMenu.ID_OVERFLOW_NOT_THIS_LANGUAGE: | 295 case TranslateMenu.ID_OVERFLOW_NOT_THIS_LANGUAGE: |
296 RecordHistogram.recordEnumeratedHistogram( | |
297 INFOBAR_HISTOGRAM, INFOBAR_PAGE_NOT_IN, INFOBAR_HISTOGRA M_BOUNDARY); | |
224 initMenuHelper(TranslateMenu.MENU_SOURCE_LANGUAGE); | 298 initMenuHelper(TranslateMenu.MENU_SOURCE_LANGUAGE); |
225 mLanguageMenuHelper.show(TranslateMenu.MENU_SOURCE_LANGUAGE); | 299 mLanguageMenuHelper.show(TranslateMenu.MENU_SOURCE_LANGUAGE); |
226 return; | 300 return; |
227 default: | 301 default: |
228 assert false : "Unexpected overflow menu code"; | 302 assert false : "Unexpected overflow menu code"; |
229 } | 303 } |
230 } | 304 } |
231 | 305 |
232 @Override | 306 @Override |
233 public void onTargetMenuItemClicked(String code) { | 307 public void onTargetMenuItemClicked(String code) { |
234 // Reset target code in both UI and native. | 308 // Reset target code in both UI and native. |
235 if (mOptions.setTargetLanguage(code)) { | 309 if (mOptions.setTargetLanguage(code)) { |
310 RecordHistogram.recordSparseSlowlyHistogram(INFOBAR_HISTOGRAM_MORE_L ANGUAGES_LANGUAGE, | |
311 mOptions.targetLanguageCode().hashCode()); | |
236 nativeApplyStringTranslateOption( | 312 nativeApplyStringTranslateOption( |
237 mNativeTranslateInfoBarPtr, TranslateOption.TARGET_CODE, cod e); | 313 mNativeTranslateInfoBarPtr, TranslateOption.TARGET_CODE, cod e); |
238 // Adjust UI. | 314 // Adjust UI. |
239 mTabLayout.replaceTabTitle(TARGET_TAB_INDEX, mOptions.getRepresentat ionFromCode(code)); | 315 mTabLayout.replaceTabTitle(TARGET_TAB_INDEX, mOptions.getRepresentat ionFromCode(code)); |
240 startTranslating(mTabLayout.getSelectedTabPosition()); | 316 startTranslating(mTabLayout.getSelectedTabPosition()); |
241 } | 317 } |
242 } | 318 } |
243 | 319 |
244 @Override | 320 @Override |
245 public void onSourceMenuItemClicked(String code) { | 321 public void onSourceMenuItemClicked(String code) { |
246 // Reset source code in both UI and native. | 322 // Reset source code in both UI and native. |
247 if (mOptions.setSourceLanguage(code)) { | 323 if (mOptions.setSourceLanguage(code)) { |
324 RecordHistogram.recordSparseSlowlyHistogram(INFOBAR_HISTOGRAM_PAGE_N OT_IN_LANGUAGE, | |
325 mOptions.sourceLanguageCode().hashCode()); | |
248 nativeApplyStringTranslateOption( | 326 nativeApplyStringTranslateOption( |
249 mNativeTranslateInfoBarPtr, TranslateOption.SOURCE_CODE, cod e); | 327 mNativeTranslateInfoBarPtr, TranslateOption.SOURCE_CODE, cod e); |
250 // Adjust UI. | 328 // Adjust UI. |
251 mTabLayout.replaceTabTitle(SOURCE_TAB_INDEX, mOptions.getRepresentat ionFromCode(code)); | 329 mTabLayout.replaceTabTitle(SOURCE_TAB_INDEX, mOptions.getRepresentat ionFromCode(code)); |
252 startTranslating(mTabLayout.getSelectedTabPosition()); | 330 startTranslating(mTabLayout.getSelectedTabPosition()); |
253 } | 331 } |
254 } | 332 } |
255 | 333 |
256 private void createAndShowSnackbar(String title, int umaType, int itemId) { | 334 private void createAndShowSnackbar(String title, int umaType, int itemId) { |
257 if (getSnackbarManager() == null) { | 335 if (getSnackbarManager() == null) { |
(...skipping 26 matching lines...) Expand all Loading... | |
284 mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSL ATE_SITE, true); | 362 mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSL ATE_SITE, true); |
285 return; | 363 return; |
286 } | 364 } |
287 } | 365 } |
288 | 366 |
289 private native void nativeApplyStringTranslateOption( | 367 private native void nativeApplyStringTranslateOption( |
290 long nativeTranslateCompactInfoBar, int option, String value); | 368 long nativeTranslateCompactInfoBar, int option, String value); |
291 private native void nativeApplyBoolTranslateOption( | 369 private native void nativeApplyBoolTranslateOption( |
292 long nativeTranslateCompactInfoBar, int option, boolean value); | 370 long nativeTranslateCompactInfoBar, int option, boolean value); |
293 } | 371 } |
OLD | NEW |