正在查看: Zepto v25.1.4 应用的 RNCWebViewManager.java JAVA 源代码文件
本页面展示 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());
}
}