导航菜单

页面标题

页面副标题

万能钥匙 v1.1.23 - FinAppletWebView.java 源代码

正在查看: 万能钥匙 v1.1.23 应用的 FinAppletWebView.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.finogeeks.lib.applet.modules.webview;

import ah0.l;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Build;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.PermissionRequest;
import android.webkit.URLUtil;
import android.webkit.ValueCallback;
import android.webkit.WebBackForwardList;
import android.webkit.WebChromeClient;
import android.webkit.WebHistoryItem;
import android.webkit.WebResourceRequest;
import android.widget.ProgressBar;
import android.widget.RelativeLayout;
import androidx.annotation.RequiresApi;
import com.finogeeks.lib.applet.R;
import com.finogeeks.lib.applet.client.FinAppConfig;
import com.finogeeks.lib.applet.jsbridge.IJSExecutor;
import com.finogeeks.lib.applet.main.FinAppEnv;
import com.finogeeks.lib.applet.model.Event;
import com.finogeeks.lib.applet.modules.log.FLogCommonTag;
import com.finogeeks.lib.applet.modules.permission.PermissionKt;
import com.finogeeks.lib.applet.page.view.webview.FinHTMLWebViewFilePicker;
import com.finogeeks.lib.applet.page.view.webview.FinWebView;
import com.finogeeks.lib.applet.utils.FinFileResourceUtil;
import com.finogeeks.lib.applet.utils.ThemeModeUtil;
import com.finogeeks.lib.applet.webview.IWebView;
import com.finogeeks.lib.applet.webview.WebViewClient;
import java.util.Arrays;
import java.util.HashSet;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.n;
import kotlin.jvm.internal.p;
import lg0.e0;
import lg0.t;

@Metadata(d1 = {"\u0000\u0080\u0001\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0010\n\u0002\u0018\u0002\n\u0002\b\n\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\b\b\u0007\u0018\u00002\u00020\u0001:\u0005STUVWB)\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0004\u0012\u0006\u0010\u0007\u001a\u00020\u0006\u0012\b\u0010\t\u001a\u0004\u0018\u00010\b¢\u0006\u0004\b\n\u0010\u000bJ\r\u0010\r\u001a\u00020\f¢\u0006\u0004\b\r\u0010\u000eJ3\u0010\u0014\u001a\u00020\u00132\b\u0010\u000f\u001a\u0004\u0018\u00010\u00042\b\u0010\u0010\u001a\u0004\u0018\u00010\u00042\u0010\u0010\u0012\u001a\f\u0012\u0006\u0012\u0004\u0018\u00010\u0004\u0018\u00010\u0011¢\u0006\u0004\b\u0014\u0010\u0015J\u000f\u0010\u0016\u001a\u00020\bH\u0002¢\u0006\u0004\b\u0016\u0010\u0017J\u000f\u0010\u0018\u001a\u00020\u0013H\u0002¢\u0006\u0004\b\u0018\u0010\u0019J\r\u0010\u001a\u001a\u00020\u0013¢\u0006\u0004\b\u001a\u0010\u0019J\u000f\u0010\u001b\u001a\u00020\u0013H\u0002¢\u0006\u0004\b\u001b\u0010\u0019J\u000f\u0010\u001c\u001a\u00020\u0013H\u0002¢\u0006\u0004\b\u001c\u0010\u0019J\u0015\u0010\u001e\u001a\u00020\u00132\u0006\u0010\u001d\u001a\u00020\u0004¢\u0006\u0004\b\u001e\u0010\u001fJ\u0015\u0010!\u001a\u00020\u00132\u0006\u0010 \u001a\u00020\u0004¢\u0006\u0004\b!\u0010\u001fJ'\u0010%\u001a\u00020\u00132\u0006\u0010\"\u001a\u00020\f2\u0006\u0010#\u001a\u00020\f2\b\u0010\u001d\u001a\u0004\u0018\u00010$¢\u0006\u0004\b%\u0010&J\r\u0010'\u001a\u00020\u0013¢\u0006\u0004\b'\u0010\u0019J\r\u0010(\u001a\u00020\u0013¢\u0006\u0004\b(\u0010\u0019J\u0017\u0010*\u001a\u00020\u00132\b\u0010)\u001a\u0004\u0018\u00010$¢\u0006\u0004\b*\u0010+J\r\u0010,\u001a\u00020\u0013¢\u0006\u0004\b,\u0010\u0019J\r\u0010-\u001a\u00020\u0013¢\u0006\u0004\b-\u0010\u0019J\r\u0010.\u001a\u00020\u0013¢\u0006\u0004\b.\u0010\u0019J\u0015\u00101\u001a\u00020\u00132\u0006\u00100\u001a\u00020/¢\u0006\u0004\b1\u00102J\u0017\u00105\u001a\u00020\u00132\b\u00104\u001a\u0004\u0018\u000103¢\u0006\u0004\b5\u00106J\r\u00107\u001a\u00020\b¢\u0006\u0004\b7\u0010\u0017R\u0014\u0010:\u001a\u00020\u00048BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b8\u00109R\u0014\u0010\u0003\u001a\u00020\u00028\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0003\u0010;R\u0016\u0010=\u001a\u00020<8\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\b=\u0010>R\u0014\u0010\u0005\u001a\u00020\u00048\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0005\u0010?R\u0018\u0010A\u001a\u0004\u0018\u00010@8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\bA\u0010BR\u0014\u0010\u0007\u001a\u00020\u00068\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0007\u0010CR\u0018\u00100\u001a\u0004\u0018\u00010/8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b0\u0010DR\u0016\u0010F\u001a\u00020E8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\bF\u0010GR\u001a\u0010I\u001a\u00060HR\u00020\u00008\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\bI\u0010JR\u0018\u0010K\u001a\u0004\u0018\u0001038\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\bK\u0010LR\u0016\u0010N\u001a\u00020M8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\bN\u0010OR\u001a\u0010Q\u001a\u00060PR\u00020\u00008\u0002@\u0002X\u0082.¢\u0006\u0006\n\u0004\bQ\u0010R¨\u0006X"}, d2 = {"Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView;", "Landroid/widget/RelativeLayout;", "Landroid/app/Activity;", "activity", "", "appId", "Lcom/finogeeks/lib/applet/client/FinAppConfig;", "finAppConfig", "", "disableTbsFromRequest", "<init>", "(Landroid/app/Activity;Ljava/lang/String;Lcom/finogeeks/lib/applet/client/FinAppConfig;Ljava/lang/Boolean;)V", "", "getWebViewId", "()I", FinFileResourceUtil.KEY_EVENT, "params", "Landroid/webkit/ValueCallback;", "valueCallback", "Llg0/e0;", "callJS", "(Ljava/lang/String;Ljava/lang/String;Landroid/webkit/ValueCallback;)V", "canWebViewGoBack", "()Z", "initApisManager", "()V", "initFilePicker", "initWebView", "injectJsIntoWindow", "data", "loadData", "(Ljava/lang/String;)V", "url", "loadUrl", "requestCode", "resultCode", "Landroid/content/Intent;", "onActivityResult", "(IILandroid/content/Intent;)V", "onCreate", "onDestroy", "intent", "onNewIntent", "(Landroid/content/Intent;)V", "onPause", "onResume", "reload", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$OnWebViewScrollListener;", "onWebViewScrollListener", "setOnWebViewScrollListener", "(Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$OnWebViewScrollListener;)V", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$WebChromeClientCallback;", "callback", "setWebChromeClientCallback", "(Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$WebChromeClientCallback;)V", "webViewGoBack", "getRouterUrlScheme", "()Ljava/lang/String;", "routerUrlScheme", "Landroid/app/Activity;", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletApisManager;", "apisManager", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletApisManager;", "Ljava/lang/String;", "Lcom/finogeeks/lib/applet/page/view/webview/FinHTMLWebViewFilePicker;", "filePicker", "Lcom/finogeeks/lib/applet/page/view/webview/FinHTMLWebViewFilePicker;", "Lcom/finogeeks/lib/applet/client/FinAppConfig;", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$OnWebViewScrollListener;", "Landroid/widget/ProgressBar;", "progressBar", "Landroid/widget/ProgressBar;", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$FinAppletWebChromeClient;", "webChromeClient", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$FinAppletWebChromeClient;", "webChromeClientCallback", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$WebChromeClientCallback;", "Lcom/finogeeks/lib/applet/page/view/webview/FinWebView;", "webView", "Lcom/finogeeks/lib/applet/page/view/webview/FinWebView;", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$FinAppletWebViewClient;", "webViewClient", "Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$FinAppletWebViewClient;", "Companion", "FinAppletWebChromeClient", "FinAppletWebViewClient", "OnWebViewScrollListener", "WebChromeClientCallback", "finapplet_release"}, k = 1, mv = {1, 4, 0})
@SuppressLint({"ViewConstructor"})
public final class FinAppletWebView extends RelativeLayout {
    private FinWebView a;
    private ProgressBar b;
    private com.finogeeks.lib.applet.modules.webview.a c;
    private d d;
    private c e;
    private f f;
    private e g;
    private FinHTMLWebViewFilePicker h;
    private final Activity i;
    private final String j;
    private final FinAppConfig k;

    public static final class a extends FinWebView {
        public a(FinAppletWebView finAppletWebView, Boolean bool, Context context, FinAppConfig finAppConfig, boolean z10, Boolean bool2) {
            super(context, finAppConfig, z10, bool2);
        }

        @Override
        public String tag() {
            return "FinAppletWebView";
        }
    }

    public static final class b {
        private b() {
        }

        public b(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }
    }

    @Metadata(d1 = {"\u0000T\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0011\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\b\u0082\u0004\u0018\u00002\u00020\u0001B\u000f\u0012\u0006\u0010\u0003\u001a\u00020\u0002¢\u0006\u0004\b\u0004\u0010\u0005J\u001f\u0010\u000b\u001a\u00020\n2\u0006\u0010\u0007\u001a\u00020\u00062\u0006\u0010\t\u001a\u00020\bH\u0016¢\u0006\u0004\b\u000b\u0010\fJ!\u0010\u000f\u001a\u00020\n2\u0006\u0010\u0007\u001a\u00020\u00062\b\u0010\u000e\u001a\u0004\u0018\u00010\rH\u0016¢\u0006\u0004\b\u000f\u0010\u0010J-\u0010\u0016\u001a\u00020\n2\f\u0010\u0013\u001a\b\u0012\u0004\u0012\u00020\u00120\u00112\u0006\u0010\u0014\u001a\u00020\r2\u0006\u0010\u0015\u001a\u00020\rH\u0016¢\u0006\u0004\b\u0016\u0010\u0017J5\u0010\u001d\u001a\u00020\u001c2\u0006\u0010\u0007\u001a\u00020\u00062\u0014\u0010\u0019\u001a\u0010\u0012\f\u0012\n\u0012\u0006\u0012\u0004\u0018\u00010\u00120\u00180\u00112\u0006\u0010\u001b\u001a\u00020\u001aH\u0016¢\u0006\u0004\b\u001d\u0010\u001eJ\u0017\u0010!\u001a\u00020\n2\u0006\u0010 \u001a\u00020\u001fH\u0016¢\u0006\u0004\b!\u0010\"¨\u0006#"}, d2 = {"Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView$FinAppletWebChromeClient;", "Lcom/finogeeks/lib/applet/page/view/webview/BaseWebChromeClient;", "Landroid/app/Activity;", "activity", "<init>", "(Lcom/finogeeks/lib/applet/modules/webview/FinAppletWebView;Landroid/app/Activity;)V", "Lcom/finogeeks/lib/applet/webview/IWebView;", "webView", "", "newProgress", "Llg0/e0;", "onProgressChanged", "(Lcom/finogeeks/lib/applet/webview/IWebView;I)V", "", "title", "onReceivedTitle", "(Lcom/finogeeks/lib/applet/webview/IWebView;Ljava/lang/String;)V", "Landroid/webkit/ValueCallback;", "Landroid/net/Uri;", "valueCallback", "acceptType", "capture", "openFileChooser", "(Landroid/webkit/ValueCallback;Ljava/lang/String;Ljava/lang/String;)V", "", "filePathCallback", "Landroid/webkit/WebChromeClient$FileChooserParams;", "fileChooserParams", "", "onShowFileChooser", "(Lcom/finogeeks/lib/applet/webview/IWebView;Landroid/webkit/ValueCallback;Landroid/webkit/WebChromeClient$FileChooserParams;)Z", "Landroid/webkit/PermissionRequest;", FLogCommonTag.REQUEST, "onPermissionRequest", "(Landroid/webkit/PermissionRequest;)V", "finapplet_release"}, k = 1, mv = {1, 4, 0})
    public final class c extends com.finogeeks.lib.applet.page.view.webview.a {
        final FinAppletWebView h;

        public static final class a extends p implements ah0.a<e0> {
            final PermissionRequest a;
            final String[] b;

            public a(PermissionRequest permissionRequest, String[] strArr) {
                super(0);
                this.a = permissionRequest;
                this.b = strArr;
            }

            public Object invoke() {
                m625invoke();
                return e0.a;
            }

            public final void m625invoke() {
                this.a.grant(this.b);
            }
        }

        public static final class b extends p implements l<String[], e0> {
            final PermissionRequest a;

            public b(PermissionRequest permissionRequest) {
                super(1);
                this.a = permissionRequest;
            }

            public final void a(String[] strArr) {
                n.j(strArr, "it");
                this.a.deny();
            }

            public Object invoke(Object obj) {
                a((String[]) obj);
                return e0.a;
            }
        }

        public static final class C0216c extends p implements ah0.a<e0> {
            final PermissionRequest a;

            public C0216c(PermissionRequest permissionRequest) {
                super(0);
                this.a = permissionRequest;
            }

            public Object invoke() {
                m626invoke();
                return e0.a;
            }

            public final void m626invoke() {
                this.a.deny();
            }
        }

        public c(FinAppletWebView finAppletWebView, Activity activity) {
            super(activity, null);
            n.j(activity, "activity");
            this.h = finAppletWebView;
        }

        @Override
        public void onPermissionRequest(PermissionRequest request) {
            n.j(request, FLogCommonTag.REQUEST);
            String[] resources = request.getResources();
            HashSet hashSet = new HashSet();
            n.e(resources, "resources");
            if (mg0.l.z(resources, "android.webkit.resource.AUDIO_CAPTURE")) {
                hashSet.add("android.permission.RECORD_AUDIO");
            }
            if (mg0.l.z(resources, "android.webkit.resource.VIDEO_CAPTURE")) {
                hashSet.add("android.permission.CAMERA");
            }
            Object[] array = hashSet.toArray(new String[0]);
            if (array == null) {
                throw new t("null cannot be cast to non-null type kotlin.Array<T>");
            }
            String[] strArr = (String[]) array;
            if (PermissionKt.isPermissionGranted(a(), (String[]) Arrays.copyOf(strArr, strArr.length))) {
                request.grant(resources);
                return;
            }
            PermissionKt.checkPermissions$default(a(), (String[]) Arrays.copyOf(strArr, strArr.length), new a(request, resources), null, new b(request), new C0216c(request), 4, null);
        }

        @Override
        public void onProgressChanged(IWebView webView, int newProgress) {
            n.j(webView, "webView");
            super.onProgressChanged(webView, newProgress);
            String url = webView.getUrl();
            Log.d("FinAppletWebView", "onProgressChanged webView url : " + url);
            if (URLUtil.isNetworkUrl(url)) {
                this.h.b.setProgress(newProgress);
                if (1 <= newProgress && 99 >= newProgress) {
                    this.h.b.setVisibility(0);
                } else {
                    this.h.b.setVisibility(8);
                }
            }
        }

        @Override
        public void onReceivedTitle(IWebView webView, String title) {
            f fVar;
            n.j(webView, "webView");
            super.onReceivedTitle(webView, title);
            Log.d("FinAppletWebView", "onReceivedTitle title : " + title);
            if (URLUtil.isValidUrl(title) || URLUtil.isAboutUrl(title) || (fVar = this.h.f) == null) {
                return;
            }
            fVar.a(title);
        }

        @Override
        public boolean onShowFileChooser(IWebView webView, ValueCallback<Uri[]> filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) {
            n.j(webView, "webView");
            n.j(filePathCallback, "filePathCallback");
            n.j(fileChooserParams, "fileChooserParams");
            FinHTMLWebViewFilePicker finHTMLWebViewFilePicker = this.h.h;
            return n.d(finHTMLWebViewFilePicker != null ? Boolean.valueOf(finHTMLWebViewFilePicker.onShowFileChooser(filePathCallback, fileChooserParams)) : null, Boolean.TRUE);
        }

        @Override
        public void openFileChooser(ValueCallback<Uri> valueCallback, String acceptType, String capture) {
            n.j(valueCallback, "valueCallback");
            n.j(acceptType, "acceptType");
            n.j(capture, "capture");
            FinHTMLWebViewFilePicker finHTMLWebViewFilePicker = this.h.h;
            if (finHTMLWebViewFilePicker != null) {
                finHTMLWebViewFilePicker.openFileChooser(valueCallback, acceptType);
            }
        }
    }

    public final class d extends WebViewClient {
        public d() {
        }

        private final boolean a(String str) {
            if (str == null || !tj0.t.L(str, FinAppletWebView.this.getRouterUrlScheme(), false, 2, (Object) null)) {
                return false;
            }
            FinAppletWebView.this.getContext().startActivity(new Intent("android.intent.action.VIEW", Uri.parse(str)));
            return true;
        }

        @Override
        public void onPageStarted(IWebView iWebView, String str, Bitmap bitmap) {
            n.j(iWebView, "webView");
            super.onPageStarted(iWebView, str, bitmap);
            FinAppletWebView.this.f();
        }

        @Override
        @RequiresApi(21)
        public boolean shouldOverrideUrlLoading(IWebView iWebView, WebResourceRequest webResourceRequest) {
            n.j(iWebView, "webView");
            n.j(webResourceRequest, FLogCommonTag.REQUEST);
            Uri url = webResourceRequest.getUrl();
            if (a(url != null ? url.toString() : null)) {
                return true;
            }
            return super.shouldOverrideUrlLoading(iWebView, webResourceRequest);
        }

        @Override
        public boolean shouldOverrideUrlLoading(IWebView iWebView, String str) {
            n.j(iWebView, "webView");
            if (a(str)) {
                return true;
            }
            return super.shouldOverrideUrlLoading(iWebView, str);
        }
    }

    public interface e {
        void onScrollChanged(int i, int i2, int i3, int i4);
    }

    public interface f {
        void a(String str);
    }

    public static final class g extends com.finogeeks.lib.applet.jsbridge.a {
        private final String a = "FinAppletWebView";

        public g() {
        }

        @Override
        public void a(String str, String str2, String str3) {
            n.j(str3, "callbackId");
            if (n.d("initPage", str)) {
                b(str3, String.valueOf(FinAppletWebView.this.getWebViewId()));
            } else {
                FinAppletWebView.a(FinAppletWebView.this).a(new Event(FinAppletWebView.this.j, str, str2, str3), this);
            }
        }

        @Override
        public void b(String str, String str2) {
            IJSExecutor.a.a(FinAppletWebView.this.a, "javascript:FinChatJSBridge.webInvokeCallbackHandler(" + str + ',' + str2 + ')', null, 2, null);
        }

        @Override
        public String getBridgeTag() {
            return this.a;
        }
    }

    public static final class h implements FinWebView.OnScrollListener {
        public h() {
        }

        @Override
        public void onScrollChanged(int i, int i2, int i3, int i4) {
            e eVar = FinAppletWebView.this.g;
            if (eVar != null) {
                eVar.onScrollChanged(i, i2, i3, i4);
            }
        }
    }

    static {
        new b(null);
    }

    public FinAppletWebView(Activity activity, String str, FinAppConfig finAppConfig, Boolean bool) {
        super(activity);
        n.j(activity, "activity");
        n.j(str, "appId");
        n.j(finAppConfig, "finAppConfig");
        this.i = activity;
        this.j = str;
        this.k = finAppConfig;
        View inflate = LayoutInflater.from(getContext()).inflate(R.layout.fin_applet_web_view, this);
        Context context = getContext();
        n.e(context, "context");
        this.a = new a(this, bool, context, finAppConfig, false, bool);
        RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(-1, -1);
        int i = R.id.progressBar;
        layoutParams.addRule(3, i);
        if (inflate == null) {
            throw new t("null cannot be cast to non-null type android.view.ViewGroup");
        }
        ((ViewGroup) inflate).addView(this.a, layoutParams);
        View findViewById = findViewById(i);
        n.e(findViewById, "findViewById(R.id.progressBar)");
        this.b = (ProgressBar) findViewById;
        d();
        e();
    }

    public static final com.finogeeks.lib.applet.modules.webview.a a(FinAppletWebView finAppletWebView) {
        com.finogeeks.lib.applet.modules.webview.a aVar = finAppletWebView.c;
        if (aVar == null) {
            n.z("apisManager");
        }
        return aVar;
    }

    private final boolean c() {
        WebBackForwardList copyBackForwardList = this.a.copyBackForwardList();
        int currentIndex = copyBackForwardList.getCurrentIndex();
        if (currentIndex == 0) {
            return false;
        }
        if (currentIndex != 1) {
            return this.a.canGoBack();
        }
        WebHistoryItem itemAtIndex = copyBackForwardList.getItemAtIndex(currentIndex - 1);
        return itemAtIndex != null && this.a.canGoBack() && URLUtil.isNetworkUrl(itemAtIndex.getUrl());
    }

    private final void d() {
        this.c = new com.finogeeks.lib.applet.modules.webview.a(this.i);
    }

    private final void e() {
        this.d = new d();
        this.e = new c(this, this.i);
        FinWebView finWebView = this.a;
        d dVar = this.d;
        if (dVar == null) {
            n.z("webViewClient");
        }
        finWebView.setWebViewClient(dVar);
        FinWebView finWebView2 = this.a;
        c cVar = this.e;
        if (cVar == null) {
            n.z("webChromeClient");
        }
        finWebView2.setWebChromeClient(cVar);
        this.a.setJSBridge(null, new g());
        this.a.setOnScrollListener(new h());
        if (Build.VERSION.SDK_INT >= 29) {
            FinAppConfig.UIConfig uiConfig = this.k.getUiConfig();
            Context context = getContext();
            n.e(context, "context");
            if (ThemeModeUtil.isNeedSetDarkMode(uiConfig, context)) {
                this.a.setForceDarkAllowed(true);
                this.a.getSettings().setForceDark(2);
            } else {
                this.a.setForceDarkAllowed(false);
                this.a.getSettings().setForceDark(0);
            }
        }
    }

    public final void f() {
        IJSExecutor.a.a(this.a, com.finogeeks.lib.applet.service.d.a(true, Integer.valueOf(FinAppEnv.INSTANCE.getFinAppConfig().getPageCountLimit())), null, 2, null);
    }

    public final String getRouterUrlScheme() {
        String string = getContext().getString(R.string.fin_applet_router_url_scheme);
        n.e(string, "context.getString(R.stri…applet_router_url_scheme)");
        return string;
    }

    public final void a() {
        this.h = new FinHTMLWebViewFilePicker(this.i, this.j);
    }

    public final void a(int i, int i2, Intent intent) {
        com.finogeeks.lib.applet.modules.webview.a aVar = this.c;
        if (aVar == null) {
            n.z("apisManager");
        }
        aVar.a(i, i2, intent);
        FinHTMLWebViewFilePicker finHTMLWebViewFilePicker = this.h;
        if (finHTMLWebViewFilePicker != null) {
            finHTMLWebViewFilePicker.onActivityResult(i, i2, intent);
        }
    }

    public final void a(String str) {
        n.j(str, "data");
        this.a.loadDataWithBaseURL(null, str, "text/html", "utf-8", null);
    }

    public final void b(String str) {
        n.j(str, "url");
        this.a.loadUrl(str);
    }

    public final boolean b() {
        if (!c()) {
            return false;
        }
        this.a.goBack();
        return true;
    }

    public final int getWebViewId() {
        return this.a.hashCode();
    }

    public final void setOnWebViewScrollListener(e eVar) {
        n.j(eVar, "onWebViewScrollListener");
        this.g = eVar;
    }

    public final void setWebChromeClientCallback(f fVar) {
        this.f = fVar;
    }
}