// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.infobar;
import org.chromium.base.CalledByNative;
import org.chromium.chrome.browser.infobar.InfoBar;
/**
* Translate JNI methods
*/
public class TranslateInfoBarDelegate {
private TranslateInfoBar mInfoBar;
private TranslateInfoBarDelegate() {}
@CalledByNative
public static TranslateInfoBarDelegate create() {
return new TranslateInfoBarDelegate();
}
@CalledByNative
boolean changeTranslateInfoBarTypeAndPointer(
int newNativeInfoBar, int translateBarType) {
mInfoBar.changeInfoBarTypeAndNativePointer(translateBarType, newNativeInfoBar);
return true;
}
@CalledByNative
InfoBar showTranslateInfoBar(
int nativeInfoBar, int translateBarType,
int sourceLanguageIndex, int targetLanguageIndex, boolean autoTranslatePair,
boolean showNeverInfobar, String[] languages) {
mInfoBar = new TranslateInfoBar(nativeInfoBar, this, translateBarType,
sourceLanguageIndex, targetLanguageIndex, autoTranslatePair, showNeverInfobar,
languages);
return mInfoBar;
}
public void applyTranslateOptions(int nativeTranslateInfoBar,
int sourceLanguageIndex, int targetLanguageIndex, boolean alwaysTranslate,
boolean neverTranslateLanguage, boolean neverTranslateSite) {
nativeApplyTranslateOptions(nativeTranslateInfoBar, sourceLanguageIndex,
targetLanguageIndex, alwaysTranslate, neverTranslateLanguage, neverTranslateSite);
}
private native void nativeApplyTranslateOptions(int nativeTranslateInfoBar,
int sourceLanguageIndex, int targetLanguageIndex, boolean alwaysTranslate,
boolean neverTranslateLanguage, boolean neverTranslateSite);
}