Index: chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateOptions.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateOptions.java b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateOptions.java |
index a687451aefda1185476805cd22dc577812396425..98a7ff17af98871092090bf21a5a5c944ebb2290 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateOptions.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/infobar/TranslateOptions.java |
@@ -105,20 +105,29 @@ public class TranslateOptions { |
} |
} |
- public TranslateOptions(String sourceLanguageCode, String targetLanguageCode, |
- ArrayList<TranslateLanguagePair> allLanguages, boolean alwaysTranslate, |
+ /** |
+ * Creates a TranslateOptions by the given data. |
+ */ |
+ public static TranslateOptions create(String sourceLanguageCode, String targetLanguageCode, |
+ String[] languages, String[] codes, boolean alwaysTranslate, |
boolean triggeredFromMenu) { |
- this(sourceLanguageCode, targetLanguageCode, allLanguages, false, false, alwaysTranslate, |
- triggeredFromMenu, null); |
+ assert languages.length == codes.length; |
+ |
+ ArrayList<TranslateLanguagePair> languageList = new ArrayList<TranslateLanguagePair>(); |
+ for (int i = 0; i < languages.length; ++i) { |
+ languageList.add(new TranslateLanguagePair(codes[i], languages[i])); |
+ } |
+ return new TranslateOptions(sourceLanguageCode, targetLanguageCode, languageList, false, |
+ false, alwaysTranslate, triggeredFromMenu, null); |
} |
/** |
- * Copy constructor |
+ * Returns a copy of the current instance. |
*/ |
- public TranslateOptions(TranslateOptions other) { |
- this(other.mSourceLanguageCode, other.mTargetLanguageCode, other.mAllLanguages, |
- other.mOptions[NEVER_LANGUAGE], other.mOptions[NEVER_DOMAIN], |
- other.mOptions[ALWAYS_LANGUAGE], other.mTriggeredFromMenu, other.mOriginalOptions); |
+ TranslateOptions copy() { |
+ return new TranslateOptions(mSourceLanguageCode, mTargetLanguageCode, mAllLanguages, |
+ mOptions[NEVER_LANGUAGE], mOptions[NEVER_DOMAIN], mOptions[ALWAYS_LANGUAGE], |
+ mTriggeredFromMenu, mOriginalOptions); |
} |
public String sourceLanguageName() { |