| 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() {
|
|
|