Перенос с маленькими правками

This commit is contained in:
2025-03-30 18:08:41 +03:00
parent 0134f6d689
commit 4b7a924752
544 changed files with 45301 additions and 0 deletions
@@ -0,0 +1,180 @@
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;
}
});
}
}
@@ -0,0 +1,74 @@
package com.ea.InAppWebBrowser;
import android.graphics.Bitmap;
import android.util.Log;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import java.util.Collections;
import java.util.SortedSet;
import java.util.TreeSet;
import java.util.UUID;
/* loaded from: classes.dex */
public class InAppWebBrowserWebViewClient extends WebViewClient {
public int mInstanceID = 0;
private SortedSet<UUID> mJavascriptIds = Collections.synchronizedSortedSet(new TreeSet());
public native void OnJavascriptResult(String str, int i);
public native void OnLoadError(String str, int i);
public native void OnLoadFinished(String str, int i);
public native void OnLoadStarted(String str, int i);
public native boolean ShouldLoadURL(String str, int i);
@Override // android.webkit.WebViewClient
public boolean shouldOverrideUrlLoading(WebView webView, String str) {
Log.e("InAppWebBrowserWebViewClient", "shouldOverrideUrlLoading: " + str);
return !ShouldLoadURL(str, this.mInstanceID);
}
@Override // android.webkit.WebViewClient
public void onLoadResource(WebView webView, String str) {
Log.e("InAppWebBrowserWebViewClient", "onLoadResource: " + str);
OnLoadStarted(str, this.mInstanceID);
}
@Override // android.webkit.WebViewClient
public void onPageStarted(WebView webView, String str, Bitmap bitmap) {
Log.e("InAppWebBrowserWebViewClient", "onPageStarted: " + str);
OnLoadStarted(str, this.mInstanceID);
}
@Override // android.webkit.WebViewClient
public void onPageFinished(WebView webView, String str) {
Log.e("InAppWebBrowserWebViewClient", "onPageFinished: " + str);
OnLoadFinished(str, this.mInstanceID);
}
@Override // android.webkit.WebViewClient
public void onReceivedError(WebView webView, int i, String str, String str2) {
Log.e("InAppWebBrowserWebViewClient", "onReceivedError");
OnLoadError("Loading Error. URL: " + str2 + " ErrorCode: " + i + " Description: " + str, this.mInstanceID);
}
public void onJavascriptResult(String str, String str2) throws Exception {
UUID fromString = UUID.fromString(str2);
if (fromString != null && this.mJavascriptIds.contains(fromString)) {
this.mJavascriptIds.remove(fromString);
OnJavascriptResult(str, this.mInstanceID);
return;
}
throw new Exception("Unable to verify validity of script result.");
}
public boolean addUUID(UUID uuid) {
if (this.mJavascriptIds.contains(uuid)) {
return false;
}
this.mJavascriptIds.add(uuid);
return true;
}
}
@@ -0,0 +1,14 @@
package com.ea.InAppWebBrowser;
/* loaded from: classes.dex */
public class JavascriptInterface {
private InAppWebBrowserWebViewClient mWebViewClient;
public JavascriptInterface(InAppWebBrowserWebViewClient inAppWebBrowserWebViewClient) {
this.mWebViewClient = inAppWebBrowserWebViewClient;
}
public void ReceiveResult(String str, String str2) throws Exception {
this.mWebViewClient.onJavascriptResult(str, str2);
}
}