Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java |
| index b7da20b266ae7e53bf201457264cf565b3ef22d4..908628a65436494908884c634d62f2aa5f640d82 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java |
| @@ -5,6 +5,7 @@ |
| package org.chromium.chrome.browser.contextualsearch; |
| import android.content.Context; |
| +import android.text.TextUtils; |
| import org.chromium.base.VisibleForTesting; |
| import org.chromium.chrome.browser.ChromeVersionInfo; |
| @@ -15,6 +16,7 @@ import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| import org.chromium.content.browser.ContentViewCore; |
| import java.net.URL; |
| +import java.util.List; |
| import java.util.regex.Pattern; |
| import javax.annotation.Nullable; |
| @@ -356,6 +358,41 @@ class ContextualSearchPolicy { |
| return mPreferenceManager.getContextualSearchTapCount(); |
| } |
| + /** |
| + * Determines whether translation is needed between the given languages. |
| + * @param sourceLanguage The source language code; language we're translating from. |
| + * @param targetLanguages A list of target language codes; languages we might translate to. |
| + * @return Whether translation is needed or not. |
| + */ |
| + boolean needsTranslation(String sourceLanguage, List<String> targetLanguages) { |
| + // For now, we just look for a language match. |
| + for (String targetLanguage : targetLanguages) { |
| + if (TextUtils.equals(sourceLanguage, targetLanguage)) { |
| + return false; |
| + } |
| + } |
| + return true; |
| + } |
| + |
| + /** |
| + * Determines the best target language. |
| + */ |
| + String bestTargetLanguage(List<String> targetLanguages) { |
| + // For now, we just return the first language, unless it's English. |
|
pedro (no code reviews)
2015/10/23 08:50:36
Nit: Put a TODO here to improve this logic. If thi
Donn Denman
2015/10/28 22:17:15
Done.
|
| + if (targetLanguages.get(0) == "en" && targetLanguages.size() > 1) { |
|
pedro (no code reviews)
2015/10/23 08:50:36
Nit: Add constant for string.
Donn Denman
2015/10/28 22:17:15
Done.
|
| + return targetLanguages.get(1); |
| + } else { |
| + return targetLanguages.get(0); |
| + } |
| + } |
| + |
| + /** |
| + * @return Whether translation should be enabled or not. |
| + */ |
| + boolean isTranslationEnabled() { |
| + return ContextualSearchFieldTrial.isTranslationOneboxEnabled(); |
| + } |
| + |
| // -------------------------------------------------------------------------------------------- |
| // Private helpers. |
| // -------------------------------------------------------------------------------------------- |