blob: 00d9d4024f892454557df6893835b1cfa76531e4 [file] [log] [blame]
// 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;
/**
* Translate JNI methods
*/
public class TranslateInfoBarDelegate {
private TranslateInfoBar mInfoBar;
private TranslateInfoBarDelegate() {}
@CalledByNative
public static TranslateInfoBarDelegate create() {
return new TranslateInfoBarDelegate();
}
@CalledByNative
boolean changeTranslateInfoBarTypeAndPointer(
long newNativeInfoBar, int translateBarType) {
mInfoBar.changeInfoBarTypeAndNativePointer(
translateBarType, newNativeInfoBar);
return true;
}
@CalledByNative
InfoBar showTranslateInfoBar(
long nativeInfoBar, int translateBarType,
int sourceLanguageIndex, int targetLanguageIndex, boolean autoTranslatePair,
boolean showNeverInfobar, boolean triggeredFromMenu,
String[] languages) {
mInfoBar = new TranslateInfoBar(nativeInfoBar, this, translateBarType,
sourceLanguageIndex, targetLanguageIndex, autoTranslatePair, showNeverInfobar,
triggeredFromMenu, languages);
return mInfoBar;
}
public void applyTranslateOptions(long nativeTranslateInfoBar,
int sourceLanguageIndex, int targetLanguageIndex, boolean alwaysTranslate,
boolean neverTranslateLanguage, boolean neverTranslateSite) {
nativeApplyTranslateOptions(nativeTranslateInfoBar, sourceLanguageIndex,
targetLanguageIndex, alwaysTranslate, neverTranslateLanguage, neverTranslateSite);
}
private native void nativeApplyTranslateOptions(long nativeTranslateInfoBar,
int sourceLanguageIndex, int targetLanguageIndex, boolean alwaysTranslate,
boolean neverTranslateLanguage, boolean neverTranslateSite);
}