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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchPolicy.java

Issue 1354763003: [Contextual Search] Trigger the translation one-box. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Disable for non-English users, for now. Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
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.
// --------------------------------------------------------------------------------------------

Powered by Google App Engine
This is Rietveld 408576698