181 lines
8.0 KiB
Java
181 lines
8.0 KiB
Java
package com.ea.InAppWebBrowser;
|
|
|
|
import android.app.Activity;
|
|
import android.graphics.Paint;
|
|
import android.view.MotionEvent;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.webkit.WebView;
|
|
import android.widget.RelativeLayout;
|
|
import java.util.UUID;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class BrowserAndroid {
|
|
public static int gInstanceCount;
|
|
public static Activity mActivity;
|
|
public static ViewGroup mViewGroup;
|
|
public RelativeLayout mLayout;
|
|
public WebView mWebView;
|
|
public InAppWebBrowserWebViewClient mWebViewClient;
|
|
public final int SCROLLBAR_VISIBLE = 0;
|
|
public final int SCROLLBAR_INVISIBLE = 1;
|
|
public final int JAVASCRIPT_DISABLE = 0;
|
|
public final int JAVASCRIPT_ENABLE = 1;
|
|
public final int SCROLLBARSTYLE_DEFAULT = 0;
|
|
public final int SCROLLBARSTYLE_INSIDE_OVERLAY = 1;
|
|
public final int SCROLLBARSTYLE_INSIDE_INSET = 2;
|
|
public final int SCROLLBARSTYLE_OUTSIDE_OVERLAY = 3;
|
|
public final int SCROLLBARSTYLE_OUTSIDE_INSET = 4;
|
|
public int mInstanceID = 0;
|
|
|
|
private static native void ShutdownNativeImpl();
|
|
|
|
private static native void StartupNativeImpl();
|
|
|
|
public void BrowserAndroid() {
|
|
}
|
|
|
|
public static void Startup(Activity activity, ViewGroup viewGroup) {
|
|
mActivity = activity;
|
|
mViewGroup = viewGroup;
|
|
StartupNativeImpl();
|
|
}
|
|
|
|
public static void Shutdown() {
|
|
ShutdownNativeImpl();
|
|
}
|
|
|
|
public void init(final int i, final int i2, final int i3, final int i4, final int i5, final int i6, final int i7, final boolean z, final boolean z2) {
|
|
int i8 = gInstanceCount;
|
|
gInstanceCount = i8 + 1;
|
|
this.mInstanceID = i8;
|
|
mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.1
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
BrowserAndroid.this.mLayout = new RelativeLayout(BrowserAndroid.mActivity);
|
|
BrowserAndroid.this.mWebView = new WebView(BrowserAndroid.mActivity);
|
|
BrowserAndroid.this.mWebViewClient = new InAppWebBrowserWebViewClient();
|
|
BrowserAndroid.this.mWebViewClient.mInstanceID = BrowserAndroid.this.mInstanceID;
|
|
BrowserAndroid.this.mWebView.setWebViewClient(BrowserAndroid.this.mWebViewClient);
|
|
if (z2) {
|
|
BrowserAndroid.this.mWebView.setBackgroundColor(0);
|
|
Class<?> cls = BrowserAndroid.this.mWebView.getClass();
|
|
try {
|
|
cls.getMethod("setLayerType", Integer.TYPE, Paint.class).invoke(BrowserAndroid.this.mWebView, Integer.valueOf(((Integer) cls.getField("LAYER_TYPE_SOFTWARE").get(BrowserAndroid.this.mWebView)).intValue()), null);
|
|
} catch (Exception unused) {
|
|
}
|
|
}
|
|
if (!z) {
|
|
Class<?> cls2 = BrowserAndroid.this.mWebView.getClass();
|
|
try {
|
|
cls2.getMethod("setOverScrollMode", Integer.TYPE).invoke(BrowserAndroid.this.mWebView, Integer.valueOf(((Integer) cls2.getField("OVER_SCROLL_NEVER").get(BrowserAndroid.this.mWebView)).intValue()));
|
|
} catch (Exception unused2) {
|
|
}
|
|
}
|
|
BrowserAndroid.this.mWebView.requestFocus(130);
|
|
BrowserAndroid.this.mWebView.setOnTouchListener(new View.OnTouchListener() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.1.1
|
|
@Override // android.view.View.OnTouchListener
|
|
public boolean onTouch(View view, MotionEvent motionEvent) {
|
|
switch (motionEvent.getAction()) {
|
|
case 0:
|
|
case 1:
|
|
if (!view.hasFocus()) {
|
|
view.requestFocus();
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
return false;
|
|
}
|
|
});
|
|
if (i5 == 1) {
|
|
BrowserAndroid.this.mWebView.getSettings().setJavaScriptEnabled(true);
|
|
}
|
|
BrowserAndroid.this.mWebView.setVerticalScrollBarEnabled(i6 == 0);
|
|
BrowserAndroid.this.mWebView.setHorizontalScrollBarEnabled(i6 == 0);
|
|
BrowserAndroid.this.mWebView.addJavascriptInterface(new JavascriptInterface(BrowserAndroid.this.mWebViewClient), "JavascriptCallback");
|
|
switch (i7) {
|
|
case 1:
|
|
BrowserAndroid.this.mWebView.setScrollBarStyle(0);
|
|
break;
|
|
case 2:
|
|
BrowserAndroid.this.mWebView.setScrollBarStyle(16777216);
|
|
break;
|
|
case 3:
|
|
BrowserAndroid.this.mWebView.setScrollBarStyle(33554432);
|
|
break;
|
|
case 4:
|
|
BrowserAndroid.this.mWebView.setScrollBarStyle(50331648);
|
|
break;
|
|
}
|
|
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(i3, i4);
|
|
layoutParams.leftMargin = i;
|
|
layoutParams.topMargin = i2;
|
|
BrowserAndroid.this.mLayout.addView(BrowserAndroid.this.mWebView, layoutParams);
|
|
BrowserAndroid.mViewGroup.addView(BrowserAndroid.this.mLayout);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void OpenUrl(final String str) {
|
|
mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.2
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
BrowserAndroid.this.mWebView.loadUrl(str);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void LoadHTML(final String str) {
|
|
mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.3
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
BrowserAndroid.this.mWebView.loadData(str, "text/html", null);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void SetViewFrame(final int i, final int i2, final int i3, final int i4) {
|
|
if (this.mWebView == null) {
|
|
return;
|
|
}
|
|
mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.4
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(i3, i4);
|
|
layoutParams.leftMargin = i;
|
|
layoutParams.topMargin = i2;
|
|
BrowserAndroid.this.mLayout.updateViewLayout(BrowserAndroid.this.mWebView, layoutParams);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void EvaluateJavaScript(final String str) {
|
|
mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.5
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
UUID randomUUID;
|
|
do {
|
|
randomUUID = UUID.randomUUID();
|
|
} while (!BrowserAndroid.this.mWebViewClient.addUUID(randomUUID));
|
|
BrowserAndroid.this.mWebView.loadUrl("javascript: JavascriptCallback.ReceiveResult(eval(" + str + "), '" + randomUUID.toString() + "');");
|
|
}
|
|
});
|
|
}
|
|
|
|
public void destroy() {
|
|
mActivity.runOnUiThread(new Runnable() { // from class: com.ea.InAppWebBrowser.BrowserAndroid.6
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
BrowserAndroid.this.mWebView.stopLoading();
|
|
BrowserAndroid.this.mWebView.setWebViewClient(null);
|
|
BrowserAndroid.this.mWebViewClient = null;
|
|
BrowserAndroid.this.mLayout.removeView(BrowserAndroid.this.mWebView);
|
|
BrowserAndroid.mViewGroup.removeView(BrowserAndroid.this.mLayout);
|
|
BrowserAndroid.this.mWebView = null;
|
|
BrowserAndroid.this.mLayout = null;
|
|
}
|
|
});
|
|
}
|
|
}
|