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; |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 | 134 |
135 @Override | 135 @Override |
136 public void onOverflowMenuItemClicked(int itemId) { | 136 public void onOverflowMenuItemClicked(int itemId) { |
137 switch (itemId) { | 137 switch (itemId) { |
138 case TranslateMenu.ID_OVERFLOW_MORE_LANGUAGE: | 138 case TranslateMenu.ID_OVERFLOW_MORE_LANGUAGE: |
139 mMenuHelper.show(TranslateMenu.MENU_TARGET_LANGUAGE); | 139 mMenuHelper.show(TranslateMenu.MENU_TARGET_LANGUAGE); |
140 return; | 140 return; |
141 case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE: | 141 case TranslateMenu.ID_OVERFLOW_ALWAYS_TRANSLATE: |
142 nativeApplyBoolTranslateOption( | 142 nativeApplyBoolTranslateOption( |
143 mNativeTranslateInfoBarPtr, TranslateOption.ALWAYS_TRANS
LATE, true); | 143 mNativeTranslateInfoBarPtr, TranslateOption.ALWAYS_TRANS
LATE, true); |
| 144 showSnackbar(TranslateSnackbarType.ALWAYS_TRANSLATE); |
144 return; | 145 return; |
145 case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE: | 146 case TranslateMenu.ID_OVERFLOW_NEVER_LANGUAGE: |
146 nativeApplyBoolTranslateOption( | 147 nativeApplyBoolTranslateOption( |
147 mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSL
ATE, true); | 148 mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSL
ATE, true); |
| 149 showSnackbar(TranslateSnackbarType.NEVER_TRANSLATE); |
148 return; | 150 return; |
149 case TranslateMenu.ID_OVERFLOW_NEVER_SITE: | 151 case TranslateMenu.ID_OVERFLOW_NEVER_SITE: |
150 nativeApplyBoolTranslateOption( | 152 nativeApplyBoolTranslateOption( |
151 mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSL
ATE_SITE, true); | 153 mNativeTranslateInfoBarPtr, TranslateOption.NEVER_TRANSL
ATE_SITE, true); |
| 154 showSnackbar(TranslateSnackbarType.NEVER_TRANSLATE_SITE); |
152 return; | 155 return; |
153 case TranslateMenu.ID_OVERFLOW_NOT_THIS_LANGUAGE: | 156 case TranslateMenu.ID_OVERFLOW_NOT_THIS_LANGUAGE: |
154 mMenuHelper.show(TranslateMenu.MENU_SOURCE_LANGUAGE); | 157 mMenuHelper.show(TranslateMenu.MENU_SOURCE_LANGUAGE); |
155 return; | 158 return; |
156 default: | 159 default: |
157 assert false : "Unexpected overflow menu code"; | 160 assert false : "Unexpected overflow menu code"; |
158 } | 161 } |
159 } | 162 } |
160 | 163 |
| 164 private void showSnackbar(int snackbarType) { |
| 165 // TODO(ramyasharma): Show snackbar. |
| 166 } |
| 167 |
161 @Override | 168 @Override |
162 public void onTargetMenuItemClicked(String code) { | 169 public void onTargetMenuItemClicked(String code) { |
163 // Reset target code in both UI and native. | 170 // Reset target code in both UI and native. |
164 if (mOptions.setTargetLanguage(code)) { | 171 if (mOptions.setTargetLanguage(code)) { |
165 nativeApplyStringTranslateOption( | 172 nativeApplyStringTranslateOption( |
166 mNativeTranslateInfoBarPtr, TranslateOption.TARGET_CODE, cod
e); | 173 mNativeTranslateInfoBarPtr, TranslateOption.TARGET_CODE, cod
e); |
167 // Adjust UI. | 174 // Adjust UI. |
168 mTabLayout.replaceTabTitle(TARGET_TAB_INDEX, mOptions.getRepresentat
ionFromCode(code)); | 175 mTabLayout.replaceTabTitle(TARGET_TAB_INDEX, mOptions.getRepresentat
ionFromCode(code)); |
169 startTranslating(mTabLayout.getSelectedTabPosition()); | 176 startTranslating(mTabLayout.getSelectedTabPosition()); |
170 } | 177 } |
171 } | 178 } |
172 | 179 |
173 @Override | 180 @Override |
174 public void onSourceMenuItemClicked(String code) { | 181 public void onSourceMenuItemClicked(String code) { |
175 // Reset source code in both UI and native. | 182 // Reset source code in both UI and native. |
176 if (mOptions.setSourceLanguage(code)) { | 183 if (mOptions.setSourceLanguage(code)) { |
177 nativeApplyStringTranslateOption( | 184 nativeApplyStringTranslateOption( |
178 mNativeTranslateInfoBarPtr, TranslateOption.SOURCE_CODE, cod
e); | 185 mNativeTranslateInfoBarPtr, TranslateOption.SOURCE_CODE, cod
e); |
179 // Adjust UI. | 186 // Adjust UI. |
180 mTabLayout.replaceTabTitle(SOURCE_TAB_INDEX, mOptions.getRepresentat
ionFromCode(code)); | 187 mTabLayout.replaceTabTitle(SOURCE_TAB_INDEX, mOptions.getRepresentat
ionFromCode(code)); |
181 startTranslating(mTabLayout.getSelectedTabPosition()); | 188 startTranslating(mTabLayout.getSelectedTabPosition()); |
182 } | 189 } |
183 } | 190 } |
184 | 191 |
185 private native void nativeApplyStringTranslateOption( | 192 private native void nativeApplyStringTranslateOption( |
186 long nativeTranslateCompactInfoBar, int option, String value); | 193 long nativeTranslateCompactInfoBar, int option, String value); |
187 private native void nativeApplyBoolTranslateOption( | 194 private native void nativeApplyBoolTranslateOption( |
188 long nativeTranslateCompactInfoBar, int option, boolean value); | 195 long nativeTranslateCompactInfoBar, int option, boolean value); |
189 } | 196 } |
OLD | NEW |