导航菜单

页面标题

页面副标题

Zepto v25.1.4 - RNCWebViewManager.java 源代码

正在查看: Zepto v25.1.4 应用的 RNCWebViewManager.java JAVA 源代码文件

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


package com.reactnativecommunity.webview;

import android.os.Build;
import android.webkit.CookieManager;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.webkit.WebViewFeature;
import androidx.webkit.internal.ApiFeature;
import androidx.webkit.internal.ApiHelperForQ;
import androidx.webkit.internal.WebViewFeatureInternal;
import androidx.webkit.internal.WebViewGlueCommunicator;
import com.facebook.react.bridge.ReadableArray;
import com.facebook.react.bridge.ReadableMap;
import com.facebook.react.bridge.ReadableMapKeySetIterator;
import com.facebook.react.common.MapBuilder;
import com.facebook.react.uimanager.ThemedReactContext;
import com.facebook.react.uimanager.ViewGroupManager;
import com.facebook.react.uimanager.annotations.ReactProp;
import com.facebook.react.views.scroll.ScrollEventType;
import com.reactnativecommunity.webview.RNCWebView;
import java.io.UnsupportedEncodingException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.Charsets;
import kotlin.text.StringsKt;
import org.apache.commons.lang3.CharEncoding;
import org.chromium.support_lib_boundary.WebSettingsBoundaryInterface;
import org.chromium.support_lib_boundary.util.BoundaryInterfaceReflectionUtil;
import org.json.JSONException;
import org.json.JSONObject;

public class RNCWebViewManager extends ViewGroupManager<RNCWebViewWrapper> {
    private final RNCWebViewManagerImpl mRNCWebViewManagerImpl = new RNCWebViewManagerImpl();

    @Nullable
    public Map<String, Integer> getCommandsMap() {
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        MapBuilder.Builder a = MapBuilder.a();
        a.b("goBack", Integer.valueOf(rNCWebViewManagerImpl.p));
        a.b("goForward", Integer.valueOf(rNCWebViewManagerImpl.q));
        a.b("reload", Integer.valueOf(rNCWebViewManagerImpl.r));
        a.b("stopLoading", Integer.valueOf(rNCWebViewManagerImpl.s));
        a.b("postMessage", Integer.valueOf(rNCWebViewManagerImpl.t));
        a.b("injectJavaScript", Integer.valueOf(rNCWebViewManagerImpl.u));
        a.b("loadUrl", Integer.valueOf(rNCWebViewManagerImpl.v));
        a.b("requestFocus", Integer.valueOf(rNCWebViewManagerImpl.w));
        a.b("clearFormData", Integer.valueOf(rNCWebViewManagerImpl.x));
        a.b("clearCache", Integer.valueOf(rNCWebViewManagerImpl.y));
        a.b("clearHistory", Integer.valueOf(rNCWebViewManagerImpl.z));
        return a.a();
    }

    public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
        Map<String, Object> exportedCustomDirectEventTypeConstants = super/*com.facebook.react.uimanager.BaseViewManager*/.getExportedCustomDirectEventTypeConstants();
        if (exportedCustomDirectEventTypeConstants == null) {
            exportedCustomDirectEventTypeConstants = new HashMap<>();
        }
        exportedCustomDirectEventTypeConstants.put("topLoadingStart", MapBuilder.f("registrationName", "onLoadingStart"));
        exportedCustomDirectEventTypeConstants.put("topLoadingFinish", MapBuilder.f("registrationName", "onLoadingFinish"));
        exportedCustomDirectEventTypeConstants.put("topLoadingError", MapBuilder.f("registrationName", "onLoadingError"));
        exportedCustomDirectEventTypeConstants.put("topMessage", MapBuilder.f("registrationName", "onMessage"));
        exportedCustomDirectEventTypeConstants.put("topLoadingProgress", MapBuilder.f("registrationName", "onLoadingProgress"));
        exportedCustomDirectEventTypeConstants.put("topShouldStartLoadWithRequest", MapBuilder.f("registrationName", "onShouldStartLoadWithRequest"));
        exportedCustomDirectEventTypeConstants.put(ScrollEventType.a(ScrollEventType.c), MapBuilder.f("registrationName", "onScroll"));
        exportedCustomDirectEventTypeConstants.put("topHttpError", MapBuilder.f("registrationName", "onHttpError"));
        exportedCustomDirectEventTypeConstants.put("topRenderProcessGone", MapBuilder.f("registrationName", "onRenderProcessGone"));
        exportedCustomDirectEventTypeConstants.put("topCustomMenuSelection", MapBuilder.f("registrationName", "onCustomMenuSelection"));
        exportedCustomDirectEventTypeConstants.put("topOpenWindow", MapBuilder.f("registrationName", "onOpenWindow"));
        return exportedCustomDirectEventTypeConstants;
    }

    public String getName() {
        return "RNCWebView";
    }

    @ReactProp(name = "allowFileAccess")
    public void setAllowFileAccess(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setAllowFileAccess(z);
    }

    @ReactProp(name = "allowFileAccessFromFileURLs")
    public void setAllowFileAccessFromFileURLs(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setAllowFileAccessFromFileURLs(z);
    }

    @ReactProp(name = "allowUniversalAccessFromFileURLs")
    public void setAllowUniversalAccessFromFileURLs(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setAllowUniversalAccessFromFileURLs(z);
    }

    @ReactProp(name = "allowsFullscreenVideo")
    public void setAllowsFullscreenVideo(RNCWebViewWrapper viewWrapper, boolean z) {
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        rNCWebViewManagerImpl.c = z;
        rNCWebViewManagerImpl.c(webView);
    }

    @ReactProp(name = "allowsProtectedMedia")
    public void setAllowsProtectedMedia(RNCWebViewWrapper viewWrapper, boolean z) {
        WebChromeClient webChromeClient;
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        rNCWebViewManagerImpl.f2451d = z;
        if (Build.VERSION.SDK_INT < 26 || (webChromeClient = webView.getWebChromeClient()) == null || !(webChromeClient instanceof RNCWebChromeClient)) {
            return;
        }
        ((RNCWebChromeClient) webChromeClient).f2434k = z;
    }

    @ReactProp(name = "androidLayerType")
    public void setAndroidLayerType(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().setLayerType(Intrinsics.c(str, "hardware") ? 2 : Intrinsics.c(str, "software") ? 1 : 0, null);
    }

    @ReactProp(name = "applicationNameForUserAgent")
    public void setApplicationNameForUserAgent(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        if (str != null) {
            rNCWebViewManagerImpl.f2456i = android.support.v4.media.a.m(WebSettings.getDefaultUserAgent(viewWrapper.getWebView().getContext()), " ", str);
        } else {
            rNCWebViewManagerImpl.f2456i = null;
        }
        rNCWebViewManagerImpl.b(viewWrapper);
    }

    @ReactProp(name = "basicAuthCredential")
    public void setBasicAuthCredential(RNCWebViewWrapper viewWrapper, @Nullable ReadableMap readableMap) {
        RNCBasicAuthCredential rNCBasicAuthCredential;
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        if (readableMap != null && readableMap.hasKey("username") && readableMap.hasKey("password")) {
            String string = readableMap.getString("username");
            String string2 = readableMap.getString("password");
            rNCBasicAuthCredential = new RNCBasicAuthCredential();
            rNCBasicAuthCredential.a = string;
            rNCBasicAuthCredential.b = string2;
        } else {
            rNCBasicAuthCredential = null;
        }
        viewWrapper.getWebView().setBasicAuthCredential(rNCBasicAuthCredential);
    }

    @ReactProp(name = "cacheEnabled")
    public void setCacheEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setCacheMode(z ? -1 : 2);
    }

    @ReactProp(name = "cacheMode")
    public void setCacheMode(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        WebSettings settings = viewWrapper.getWebView().getSettings();
        int i2 = -1;
        if (str != null) {
            switch (str.hashCode()) {
                case -2059164003:
                    if (str.equals("LOAD_NO_CACHE")) {
                        i2 = 2;
                        break;
                    }
                    break;
                case -1215135800:
                    str.equals("LOAD_DEFAULT");
                    break;
                case -873877826:
                    if (str.equals("LOAD_CACHE_ELSE_NETWORK")) {
                        i2 = 1;
                        break;
                    }
                    break;
                case 1548620642:
                    if (str.equals("LOAD_CACHE_ONLY")) {
                        i2 = 3;
                        break;
                    }
                    break;
            }
        }
        settings.setCacheMode(i2);
    }

    @ReactProp(name = "domStorageEnabled")
    public void setDomStorageEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setDomStorageEnabled(z);
    }

    @ReactProp(name = "downloadingMessage")
    public void setDownloadingMessage(RNCWebViewWrapper rNCWebViewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.f2452e = str;
    }

    @ReactProp(name = "forceDarkOn")
    public void setForceDarkOn(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        if (Build.VERSION.SDK_INT > 28) {
            if (WebViewFeature.a("FORCE_DARK")) {
                int i2 = z ? 2 : 0;
                WebSettings settings = webView.getSettings();
                ApiFeature.Q q = WebViewFeatureInternal.i;
                if (q.b()) {
                    ApiHelperForQ.d(settings, i2);
                } else {
                    if (!q.c()) {
                        throw WebViewFeatureInternal.a();
                    }
                    ((WebSettingsBoundaryInterface) BoundaryInterfaceReflectionUtil.a(WebSettingsBoundaryInterface.class, WebViewGlueCommunicator.b().a.convertSettings(settings))).setForceDark(i2);
                }
            }
            if (z && WebViewFeature.a("FORCE_DARK_STRATEGY")) {
                WebSettings settings2 = webView.getSettings();
                if (!WebViewFeatureInternal.j.c()) {
                    throw WebViewFeatureInternal.a();
                }
                ((WebSettingsBoundaryInterface) BoundaryInterfaceReflectionUtil.a(WebSettingsBoundaryInterface.class, WebViewGlueCommunicator.b().a.convertSettings(settings2))).setForceDarkBehavior(2);
            }
        }
    }

    @ReactProp(name = "geolocationEnabled")
    public void setGeolocationEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setGeolocationEnabled(z);
    }

    @ReactProp(name = "hasOnOpenWindowEvent")
    public void setHasOnOpenWindowEvent(RNCWebViewWrapper viewWrapper, boolean z) {
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        rNCWebViewManagerImpl.f2454g = z;
        rNCWebViewManagerImpl.c(webView);
    }

    @ReactProp(name = "hasOnScroll")
    public void setHasOnScroll(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().setHasScrollEvent(z);
    }

    @ReactProp(name = "incognito")
    public void setIncognito(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        if (z) {
            CookieManager.getInstance().removeAllCookies(null);
            webView.getSettings().setCacheMode(2);
            webView.clearHistory();
            webView.clearCache(true);
            webView.clearFormData();
            webView.getSettings().setSavePassword(false);
            webView.getSettings().setSaveFormData(false);
        }
    }

    @ReactProp(name = "injectedJavaScript")
    public void setInjectedJavaScript(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().a = str;
    }

    @ReactProp(name = "injectedJavaScriptBeforeContentLoaded")
    public void setInjectedJavaScriptBeforeContentLoaded(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().b = str;
    }

    @ReactProp(name = "injectedJavaScriptBeforeContentLoadedForMainFrameOnly")
    public void setInjectedJavaScriptBeforeContentLoadedForMainFrameOnly(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getClass();
    }

    @ReactProp(name = "injectedJavaScriptForMainFrameOnly")
    public void setInjectedJavaScriptForMainFrameOnly(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getClass();
    }

    @ReactProp(name = "injectedJavaScriptObject")
    public void setInjectedJavaScriptObject(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().setInjectedJavaScriptObject(str);
    }

    @ReactProp(name = "javaScriptCanOpenWindowsAutomatically")
    public void setJavaScriptCanOpenWindowsAutomatically(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setJavaScriptCanOpenWindowsAutomatically(z);
    }

    @ReactProp(name = "javaScriptEnabled")
    public void setJavaScriptEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setJavaScriptEnabled(z);
    }

    @ReactProp(name = "lackPermissionToDownloadMessage")
    public void setLackPermissionToDownloadMessage(RNCWebViewWrapper rNCWebViewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.f2453f = str;
    }

    @ReactProp(name = "mediaPlaybackRequiresUserAction")
    public void setMediaPlaybackRequiresUserAction(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setMediaPlaybackRequiresUserGesture(z);
    }

    @ReactProp(name = "menuItems")
    public void setMenuCustomItems(RNCWebViewWrapper viewWrapper, @Nullable ReadableArray value) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        Intrinsics.checkNotNullParameter(value, "value");
        RNCWebView webView = viewWrapper.getWebView();
        ArrayList arrayList = value.toArrayList();
        Intrinsics.f(arrayList, "null cannot be cast to non-null type kotlin.collections.List<kotlin.collections.Map<kotlin.String, kotlin.String>>");
        webView.setMenuCustomItems(arrayList);
    }

    @ReactProp(name = "messagingEnabled")
    public void setMessagingEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().setMessagingEnabled(z);
    }

    @ReactProp(name = "messagingModuleName")
    public void setMessagingModuleName(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().f2438e = str;
    }

    @ReactProp(name = "minimumFontSize")
    public void setMinimumFontSize(RNCWebViewWrapper viewWrapper, int i2) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setMinimumFontSize(i2);
    }

    @ReactProp(name = "mixedContentMode")
    public void setMixedContentMode(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        if (str == null || Intrinsics.c("never", str)) {
            webView.getSettings().setMixedContentMode(1);
        } else if (Intrinsics.c("always", str)) {
            webView.getSettings().setMixedContentMode(0);
        } else if (Intrinsics.c("compatibility", str)) {
            webView.getSettings().setMixedContentMode(2);
        }
    }

    @ReactProp(name = "nestedScrollEnabled")
    public void setNestedScrollEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().f2444k = z;
    }

    @ReactProp(name = "overScrollMode")
    public void setOverScrollMode(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        int i2 = 0;
        if (str != null) {
            int hashCode = str.hashCode();
            if (hashCode == -1414557169) {
                str.equals("always");
            } else if (hashCode != 104712844) {
                if (hashCode == 951530617 && str.equals("content")) {
                    i2 = 1;
                }
            } else if (str.equals("never")) {
                i2 = 2;
            }
        }
        webView.setOverScrollMode(i2);
    }

    @ReactProp(name = "saveFormDataDisabled")
    public void setSaveFormDataDisabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setSaveFormData(!z);
    }

    @ReactProp(name = "scalesPageToFit")
    public void setScalesPageToFit(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        webView.getSettings().setLoadWithOverviewMode(z);
        webView.getSettings().setUseWideViewPort(z);
    }

    @ReactProp(name = "setBuiltInZoomControls")
    public void setSetBuiltInZoomControls(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setBuiltInZoomControls(z);
    }

    @ReactProp(name = "setDisplayZoomControls")
    public void setSetDisplayZoomControls(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setDisplayZoomControls(z);
    }

    @ReactProp(name = "setSupportMultipleWindows")
    public void setSetSupportMultipleWindows(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setSupportMultipleWindows(z);
    }

    @ReactProp(name = "showsHorizontalScrollIndicator")
    public void setShowsHorizontalScrollIndicator(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().setHorizontalScrollBarEnabled(z);
    }

    @ReactProp(name = "showsVerticalScrollIndicator")
    public void setShowsVerticalScrollIndicator(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().setVerticalScrollBarEnabled(z);
    }

    @ReactProp(name = "source")
    public void setSource(RNCWebViewWrapper viewWrapper, @Nullable ReadableMap readableMap) {
        byte[] bArr;
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        if (readableMap != null) {
            if (readableMap.hasKey("html")) {
                String string = readableMap.getString("html");
                String string2 = readableMap.hasKey("baseUrl") ? readableMap.getString("baseUrl") : "";
                Intrinsics.e(string);
                webView.loadDataWithBaseURL(string2, string, rNCWebViewManagerImpl.f2458k, rNCWebViewManagerImpl.f2457j, null);
                return;
            }
            if (readableMap.hasKey("uri")) {
                String string3 = readableMap.getString("uri");
                String url = webView.getUrl();
                if (url == null || !Intrinsics.c(url, string3)) {
                    if (readableMap.hasKey("method") && StringsKt.r(readableMap.getString("method"), rNCWebViewManagerImpl.f2459l, true)) {
                        if (readableMap.hasKey("body")) {
                            String string4 = readableMap.getString("body");
                            try {
                                Intrinsics.e(string4);
                                Charset forName = Charset.forName(CharEncoding.UTF_8);
                                Intrinsics.checkNotNullExpressionValue(forName, "forName(charsetName)");
                                bArr = string4.getBytes(forName);
                                Intrinsics.checkNotNullExpressionValue(bArr, "this as java.lang.String).getBytes(charset)");
                            } catch (UnsupportedEncodingException unused) {
                                Intrinsics.e(string4);
                                bArr = string4.getBytes(Charsets.UTF_8);
                                Intrinsics.checkNotNullExpressionValue(bArr, "this as java.lang.String).getBytes(charset)");
                            }
                        } else {
                            bArr = null;
                        }
                        if (bArr == null) {
                            bArr = new byte[0];
                        }
                        Intrinsics.e(string3);
                        webView.postUrl(string3, bArr);
                        return;
                    }
                    HashMap hashMap = new HashMap();
                    if (readableMap.hasKey("headers")) {
                        ReadableMap map = readableMap.getMap("headers");
                        Intrinsics.e(map);
                        ReadableMapKeySetIterator keySetIterator = map.keySetIterator();
                        Intrinsics.checkNotNullExpressionValue(keySetIterator, "headers!!.keySetIterator()");
                        while (keySetIterator.hasNextKey()) {
                            String key = keySetIterator.nextKey();
                            Intrinsics.checkNotNullExpressionValue(key, "key");
                            Locale locale = Locale.ENGLISH;
                            if (Intrinsics.c("user-agent", androidx.fragment.app.a.w(locale, "ENGLISH", key, locale, "this as java.lang.String).toLowerCase(locale)"))) {
                                webView.getSettings().setUserAgentString(map.getString(key));
                            } else {
                                hashMap.put(key, map.getString(key));
                            }
                        }
                    }
                    Intrinsics.e(string3);
                    webView.loadUrl(string3, hashMap);
                    return;
                }
                return;
            }
        }
        webView.loadUrl(rNCWebViewManagerImpl.f2460m);
    }

    @ReactProp(name = "textZoom")
    public void setTextZoom(RNCWebViewWrapper viewWrapper, int i2) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        viewWrapper.getWebView().getSettings().setTextZoom(i2);
    }

    @ReactProp(name = "thirdPartyCookiesEnabled")
    public void setThirdPartyCookiesEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        CookieManager.getInstance().setAcceptThirdPartyCookies(viewWrapper.getWebView(), z);
    }

    @ReactProp(name = "userAgent")
    public void setUserAgent(RNCWebViewWrapper viewWrapper, @Nullable String str) {
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        rNCWebViewManagerImpl.f2455h = str;
        rNCWebViewManagerImpl.b(viewWrapper);
    }

    @ReactProp(name = "webviewDebuggingEnabled")
    public void setWebviewDebuggingEnabled(RNCWebViewWrapper viewWrapper, boolean z) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        WebView.setWebContentsDebuggingEnabled(z);
    }

    public void addEventEmitters(@NonNull ThemedReactContext themedReactContext, RNCWebViewWrapper rNCWebViewWrapper) {
        rNCWebViewWrapper.getWebView().setWebViewClient(new RNCWebViewClient());
    }

    public RNCWebViewWrapper createViewInstance(ThemedReactContext context) {
        RNCWebViewManagerImpl rNCWebViewManagerImpl = this.mRNCWebViewManagerImpl;
        rNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(context, "context");
        Intrinsics.checkNotNullParameter(context, "context");
        RNCWebView rNCWebView = new RNCWebView(context);
        rNCWebView.f2437d = false;
        rNCWebView.f2441h = false;
        rNCWebView.f2443j = false;
        rNCWebView.f2444k = false;
        ThemedReactContext context2 = rNCWebView.getContext();
        if (context2 != null) {
            rNCWebView.f2440g = context2.getCatalystInstance();
        }
        RNCWebView.ProgressChangedFilter progressChangedFilter = new RNCWebView.ProgressChangedFilter();
        progressChangedFilter.a = false;
        rNCWebView.f2445l = progressChangedFilter;
        return rNCWebViewManagerImpl.a(context, rNCWebView);
    }

    public void onDropViewInstance(@NonNull RNCWebViewWrapper viewWrapper) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        RNCWebView webView = viewWrapper.getWebView();
        webView.getThemedReactContext().removeLifecycleEventListener(webView);
        webView.setWebViewClient(null);
        webView.destroy();
        webView.f2447n = null;
        super/*com.facebook.react.uimanager.ViewManager*/.onDropViewInstance(viewWrapper);
    }

    public void receiveCommand(@NonNull RNCWebViewWrapper viewWrapper, String commandId, @Nullable ReadableArray args) {
        this.mRNCWebViewManagerImpl.getClass();
        Intrinsics.checkNotNullParameter(viewWrapper, "viewWrapper");
        Intrinsics.checkNotNullParameter(commandId, "commandId");
        Intrinsics.checkNotNullParameter(args, "args");
        RNCWebView webView = viewWrapper.getWebView();
        switch (commandId.hashCode()) {
            case -1241591313:
                if (commandId.equals("goBack")) {
                    webView.goBack();
                    break;
                }
                break;
            case -948122918:
                if (commandId.equals("stopLoading")) {
                    webView.stopLoading();
                    break;
                }
                break;
            case -934641255:
                if (commandId.equals("reload")) {
                    webView.reload();
                    break;
                }
                break;
            case -759238347:
                if (commandId.equals("clearCache")) {
                    webView.clearCache(args.getBoolean(0));
                    break;
                }
                break;
            case -318289731:
                if (commandId.equals("goForward")) {
                    webView.goForward();
                    break;
                }
                break;
            case -265032709:
                if (commandId.equals("clearFormData")) {
                    webView.clearFormData();
                    break;
                }
                break;
            case 336631465:
                if (commandId.equals("loadUrl")) {
                    webView.f2445l.a = false;
                    webView.loadUrl(args.getString(0));
                    break;
                }
                break;
            case 903120263:
                if (commandId.equals("clearHistory")) {
                    webView.clearHistory();
                    break;
                }
                break;
            case 1280029577:
                if (commandId.equals("requestFocus")) {
                    webView.requestFocus();
                    break;
                }
                break;
            case 1490029383:
                if (commandId.equals("postMessage")) {
                    try {
                        JSONObject jSONObject = new JSONObject();
                        jSONObject.put("data", args.getString(0));
                        webView.evaluateJavascript("(function () {var event;var data = " + jSONObject + ";try {event = new MessageEvent('message', data);} catch (e) {event = document.createEvent('MessageEvent');event.initMessageEvent('message', true, true, data.data, data.origin, data.lastEventId, data.source);}document.dispatchEvent(event);})();", null);
                        break;
                    } catch (JSONException e2) {
                        throw new RuntimeException(e2);
                    }
                }
                break;
            case 2104576510:
                if (commandId.equals("injectJavaScript")) {
                    webView.evaluateJavascript(args.getString(0), null);
                    break;
                }
                break;
        }
        super/*com.facebook.react.uimanager.ViewManager*/.receiveCommand(viewWrapper, commandId, args);
    }

    public RNCWebViewWrapper createViewInstance(ThemedReactContext themedReactContext, RNCWebViewWrapper rNCWebViewWrapper) {
        return this.mRNCWebViewManagerImpl.a(themedReactContext, rNCWebViewWrapper.getWebView());
    }
}