package com.unity3d.ads.adplayer; import android.net.Uri; import android.webkit.RenderProcessGoneDetail; import android.webkit.WebResourceRequest; import android.webkit.WebResourceResponse; import android.webkit.WebView; import androidx.annotation.RequiresApi; import androidx.webkit.WebResourceErrorCompat; import androidx.webkit.WebViewAssetLoader; import androidx.webkit.WebViewClientCompat; import androidx.webkit.WebViewFeature; import com.unity3d.ads.adplayer.model.ErrorReason; import com.unity3d.ads.adplayer.model.WebViewClientError; import com.unity3d.ads.core.domain.GetCachedAsset; import com.unity3d.ads.core.extensions.IntExtensionKt; import com.unity3d.ads.core.extensions.ViewExtensionsKt; import com.unity3d.services.UnityAdsConstants; import java.util.List; import kotlin.collections.CollectionsKt__CollectionsKt; import kotlin.collections.CollectionsKt___CollectionsKt; import kotlin.jvm.internal.DefaultConstructorMarker; import kotlin.jvm.internal.Intrinsics; import kotlin.jvm.internal.SourceDebugExtension; import kotlinx.coroutines.CompletableDeferred; import kotlinx.coroutines.CompletableDeferredKt; import kotlinx.coroutines.Deferred; import kotlinx.coroutines.flow.FlowKt; import kotlinx.coroutines.flow.MutableStateFlow; import kotlinx.coroutines.flow.StateFlow; import kotlinx.coroutines.flow.StateFlowKt; @SourceDebugExtension({"SMAP\nAndroidWebViewClient.kt\nKotlin\n*S Kotlin\n*F\n+ 1 AndroidWebViewClient.kt\ncom/unity3d/ads/adplayer/AndroidWebViewClient\n+ 2 StateFlow.kt\nkotlinx/coroutines/flow/StateFlowKt\n*L\n1#1,137:1\n230#2,5:138\n230#2,5:143\n230#2,5:148\n230#2,5:153\n*S KotlinDebug\n*F\n+ 1 AndroidWebViewClient.kt\ncom/unity3d/ads/adplayer/AndroidWebViewClient\n*L\n42#1:138,5\n63#1:143,5\n83#1:148,5\n119#1:153,5\n*E\n"}) /* loaded from: classes4.dex */ public final class AndroidWebViewClient extends WebViewClientCompat { public static final String BLANK_PAGE = "about:blank"; public static final Companion Companion = new Companion(null); private final MutableStateFlow _isRenderProcessGone; private final CompletableDeferred _onLoadFinished; private final WebViewAssetLoader adAssetLoader; private final GetCachedAsset getCachedAsset; private final StateFlow isRenderProcessGone; private final MutableStateFlow loadErrors; private final Deferred onLoadFinished; private final WebViewAssetLoader webViewAssetLoader; public final Deferred getOnLoadFinished() { return this.onLoadFinished; } public final StateFlow isRenderProcessGone() { return this.isRenderProcessGone; } public AndroidWebViewClient(GetWebViewCacheAssetLoader getWebViewAssetLoader, GetAdAssetLoader getAdAssetLoader, GetCachedAsset getCachedAsset) { Intrinsics.checkNotNullParameter(getWebViewAssetLoader, "getWebViewAssetLoader"); Intrinsics.checkNotNullParameter(getAdAssetLoader, "getAdAssetLoader"); Intrinsics.checkNotNullParameter(getCachedAsset, "getCachedAsset"); this.getCachedAsset = getCachedAsset; this.webViewAssetLoader = (WebViewAssetLoader) getWebViewAssetLoader.invoke(); this.adAssetLoader = (WebViewAssetLoader) getAdAssetLoader.invoke(); this.loadErrors = StateFlowKt.MutableStateFlow(CollectionsKt__CollectionsKt.emptyList()); CompletableDeferred CompletableDeferred$default = CompletableDeferredKt.CompletableDeferred$default(null, 1, null); this._onLoadFinished = CompletableDeferred$default; this.onLoadFinished = CompletableDeferred$default; MutableStateFlow MutableStateFlow = StateFlowKt.MutableStateFlow(Boolean.FALSE); this._isRenderProcessGone = MutableStateFlow; this.isRenderProcessGone = FlowKt.asStateFlow(MutableStateFlow); } @Override // android.webkit.WebViewClient public void onPageFinished(WebView view, String url) { Object value; List plus; Intrinsics.checkNotNullParameter(view, "view"); Intrinsics.checkNotNullParameter(url, "url"); if (Intrinsics.areEqual(url, BLANK_PAGE)) { MutableStateFlow mutableStateFlow = this.loadErrors; do { value = mutableStateFlow.getValue(); plus = CollectionsKt___CollectionsKt.plus((List) value, new WebViewClientError(url, ErrorReason.REASON_WEB_BLANK, null, 4, null)); } while (!mutableStateFlow.compareAndSet(value, plus)); } super.onPageFinished(view, url); this._onLoadFinished.complete(this.loadErrors.getValue()); } @Override // androidx.webkit.WebViewClientCompat @RequiresApi(21) public void onReceivedError(WebView view, WebResourceRequest request, WebResourceErrorCompat error) { ErrorReason errorReason; Object value; List plus; Intrinsics.checkNotNullParameter(view, "view"); Intrinsics.checkNotNullParameter(request, "request"); Intrinsics.checkNotNullParameter(error, "error"); super.onReceivedError(view, request, error); if (WebViewFeature.isFeatureSupported(WebViewFeature.WEB_RESOURCE_ERROR_GET_CODE)) { errorReason = IntExtensionKt.webResourceToErrorReason(error.getErrorCode()); } else { errorReason = ErrorReason.REASON_UNKNOWN; } MutableStateFlow mutableStateFlow = this.loadErrors; do { value = mutableStateFlow.getValue(); plus = CollectionsKt___CollectionsKt.plus((List) value, new WebViewClientError(request.getUrl().toString(), errorReason, null, 4, null)); } while (!mutableStateFlow.compareAndSet(value, plus)); } @Override // androidx.webkit.WebViewClientCompat, android.webkit.WebViewClient, org.chromium.support_lib_boundary.WebViewClientBoundaryInterface public void onReceivedHttpError(WebView view, WebResourceRequest request, WebResourceResponse errorResponse) { Object value; List plus; Intrinsics.checkNotNullParameter(view, "view"); Intrinsics.checkNotNullParameter(request, "request"); Intrinsics.checkNotNullParameter(errorResponse, "errorResponse"); super.onReceivedHttpError(view, request, errorResponse); WebViewClientError webViewClientError = new WebViewClientError(request.getUrl().toString(), ErrorReason.REASON_WEB_ERROR_RECEIVED_HTTP, Integer.valueOf(errorResponse.getStatusCode())); MutableStateFlow mutableStateFlow = this.loadErrors; do { value = mutableStateFlow.getValue(); plus = CollectionsKt___CollectionsKt.plus((List) value, webViewClientError); } while (!mutableStateFlow.compareAndSet(value, plus)); } @Override // android.webkit.WebViewClient public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { Intrinsics.checkNotNullParameter(view, "view"); Intrinsics.checkNotNullParameter(request, "request"); Uri url = request.getUrl(); if (url == null) { return super.shouldInterceptRequest(view, request); } if (Intrinsics.areEqual(url.getLastPathSegment(), "favicon.ico")) { return new WebResourceResponse("image/png", null, null); } if (Intrinsics.areEqual(url.getScheme(), UnityAdsConstants.Cache.CACHE_SCHEME)) { GetCachedAsset getCachedAsset = this.getCachedAsset; Uri url2 = request.getUrl(); Intrinsics.checkNotNullExpressionValue(url2, "request.url"); return getCachedAsset.invoke(url2); } String host = url.getHost(); if (host != null) { int hashCode = host.hashCode(); if (hashCode != -598289184) { if (hashCode == 380656434 && host.equals(UnityAdsConstants.DefaultUrls.WEBVIEW_DOMAIN)) { return this.webViewAssetLoader.shouldInterceptRequest(url); } } else if (host.equals("cdn-creatives-cf-prd.acquire.unity3dusercontent.com")) { return this.adAssetLoader.shouldInterceptRequest(url); } } return super.shouldInterceptRequest(view, request); } @Override // android.webkit.WebViewClient public boolean onRenderProcessGone(WebView view, RenderProcessGoneDetail detail) { Object value; List plus; Intrinsics.checkNotNullParameter(view, "view"); Intrinsics.checkNotNullParameter(detail, "detail"); ViewExtensionsKt.removeViewFromParent(view); view.destroy(); if (this._onLoadFinished.isCompleted()) { this._isRenderProcessGone.setValue(Boolean.TRUE); return true; } MutableStateFlow mutableStateFlow = this.loadErrors; do { value = mutableStateFlow.getValue(); plus = CollectionsKt___CollectionsKt.plus((List) value, new WebViewClientError(String.valueOf(view.getUrl()), ErrorReason.REASON_WEBVIEW_RENDER_PROCESS_GONE, null, 4, null)); } while (!mutableStateFlow.compareAndSet(value, plus)); this._onLoadFinished.complete(this.loadErrors.getValue()); return true; } public static final class Companion { public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } private Companion() { } } }