导航菜单

页面标题

页面副标题

CallApp v2.226 - ApsAdWebViewSupportClient.java 源代码

正在查看: CallApp v2.226 应用的 ApsAdWebViewSupportClient.java JAVA 源代码文件

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


package com.amazon.aps.ads.util.adview;

import a1.d0;
import android.net.Uri;
import android.webkit.RenderProcessGoneDetail;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebResourceResponse;
import android.webkit.WebView;
import androidx.fragment.app.n;
import com.amazon.aps.ads.util.ApsAdExtensionsKt;
import com.amazon.aps.shared.analytics.APSEventSeverity;
import com.amazon.aps.shared.analytics.APSEventType;
import com.amazon.device.ads.DTBAdView;
import com.amazon.device.ads.DTBMetricsConfiguration;
import com.mbridge.msdk.MBridgeConstans;
import java.io.InputStream;
import java.util.Locale;
import kotlin.Metadata;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.q0;
import kotlin.text.StringsKt;
import org.jetbrains.annotations.NotNull;

@Metadata(d1 = {"\u0000T\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\b\u0016\u0018\u0000 \u001e2\u00020\u0001:\u0001\u001eB\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0012\u0010\n\u001a\u0004\u0018\u00010\u000b2\u0006\u0010\f\u001a\u00020\u0006H\u0002J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0006H\u0002J\u001a\u0010\u0010\u001a\u00020\u00112\b\u0010\u0012\u001a\u0004\u0018\u00010\u00132\u0006\u0010\u000f\u001a\u00020\u0006H\u0016J&\u0010\u0014\u001a\u00020\u00112\b\u0010\u0012\u001a\u0004\u0018\u00010\u00132\b\u0010\u0015\u001a\u0004\u0018\u00010\u00162\b\u0010\u0017\u001a\u0004\u0018\u00010\u0018H\u0016J\u001a\u0010\u0019\u001a\u00020\u000e2\b\u0010\u0012\u001a\u0004\u0018\u00010\u00132\u0006\u0010\u001a\u001a\u00020\u001bH\u0017J\u001e\u0010\u001c\u001a\u0004\u0018\u00010\u000b2\b\u0010\u0012\u001a\u0004\u0018\u00010\u00132\b\u0010\u000f\u001a\u0004\u0018\u00010\u0006H\u0016J\u001c\u0010\u001d\u001a\u00020\u000e2\b\u0010\u0012\u001a\u0004\u0018\u00010\u00132\b\u0010\u000f\u001a\u0004\u0018\u00010\u0006H\u0016R\u0010\u0010\u0005\u001a\u00020\u0006X\u0082D¢\u0006\u0004\n\u0002\b\u0007R\u000e\u0010\b\u001a\u00020\tX\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u001f"}, d2 = {"Lcom/amazon/aps/ads/util/adview/ApsAdWebViewSupportClient;", "Lcom/amazon/aps/ads/util/adview/ApsAdWebViewSupportClientBase;", "webviewClientListener", "Lcom/amazon/aps/ads/util/adview/ApsAdWebViewClientListener;", "(Lcom/amazon/aps/ads/util/adview/ApsAdWebViewClientListener;)V", "AMAZON_APP_STORE_LINK", "", "AMAZON_APP_STORE_LINK$1", "schemeHandler", "Lcom/amazon/aps/ads/util/adview/ApsAdWebViewSchemeHandler;", "createImageInjectionResponse", "Landroid/webkit/WebResourceResponse;", "jsScript", "matchesLocalInjectionUrl", "", DTBMetricsConfiguration.APSMETRICS_URL, "onPageFinished", "", MBridgeConstans.DYNAMIC_VIEW_KEY_VIEW, "Landroid/webkit/WebView;", "onReceivedError", "request", "Landroid/webkit/WebResourceRequest;", "error", "Landroid/webkit/WebResourceError;", "onRenderProcessGone", "detail", "Landroid/webkit/RenderProcessGoneDetail;", "shouldInterceptRequest", "shouldOverrideUrlLoading", "Companion", "DTBAndroidSDK_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public class ApsAdWebViewSupportClient extends ApsAdWebViewSupportClientBase {

    @NotNull
    public static final String AMAZON_APP_STORE_LINK = "https://www.amazon.com/gp/mas/dl/android?";

    @NotNull
    public static final String AMAZON_SCHEME = "amzn";

    @NotNull
    public static final String GOOGLE_PLAY_STORE_LINK = "https://play.google.com/store/apps/";

    @NotNull
    public static final String MARKET_SCHEME = "market";

    @NotNull
    public static final String MOBILE_SHOPPING_SCHEME = "com.amazon.mobile.shopping";

    @NotNull
    public static final String MOBILE_SHOPPING_WEB_SCHEME = "com.amazon.mobile.shopping.web";

    @NotNull
    private final String AMAZON_APP_STORE_LINK;

    @NotNull
    private final ApsAdWebViewSchemeHandler schemeHandler;

    @NotNull
    private final ApsAdWebViewClientListener webviewClientListener;

    public ApsAdWebViewSupportClient(@NotNull ApsAdWebViewClientListener apsAdWebViewClientListener) {
        Intrinsics.checkNotNullParameter(apsAdWebViewClientListener, "webviewClientListener");
        this.webviewClientListener = apsAdWebViewClientListener;
        this.AMAZON_APP_STORE_LINK = AMAZON_APP_STORE_LINK;
        this.schemeHandler = new ApsAdWebViewSchemeHandler(apsAdWebViewClientListener);
    }

    private final WebResourceResponse createImageInjectionResponse(String jsScript) {
        try {
            InputStream open = this.webviewClientListener.getAdViewContext().getAssets().open(jsScript);
            Intrinsics.checkNotNullExpressionValue(open, "webviewClientListener.ad…ext.assets.open(jsScript)");
            return new WebResourceResponse("image/png", "UTF-8", open);
        } catch (Exception e6) {
            ApsAdExtensionsKt.logEvent(this, APSEventSeverity.ERROR, APSEventType.EXCEPTION, d0.C("Failed to get injection response: ", jsScript), e6);
            return null;
        }
    }

    private final boolean matchesLocalInjectionUrl(String url) {
        try {
            Locale locale = Locale.US;
            Intrinsics.checkNotNullExpressionValue(locale, "US");
            String lowerCase = url.toLowerCase(locale);
            Intrinsics.checkNotNullExpressionValue(lowerCase, "this as java.lang.String).toLowerCase(locale)");
            Uri parse = Uri.parse(lowerCase);
            if (parse != null) {
                return "local".equals(parse.getScheme());
            }
            return false;
        } catch (RuntimeException unused) {
            return false;
        }
    }

    @Override
    public void onPageFinished(WebView view, @NotNull String url) {
        Intrinsics.checkNotNullParameter(url, DTBMetricsConfiguration.APSMETRICS_URL);
        ApsAdExtensionsKt.d(this, "Page load completed: " + url);
        this.webviewClientListener.onPageFinished(url, view);
    }

    @Override
    public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
        super.onReceivedError(view, request, error);
        ApsAdExtensionsKt.e(this, "WebView client received OnReceivedError");
        try {
            this.webviewClientListener.onLoadError();
        } catch (RuntimeException e6) {
            ApsAdExtensionsKt.logEvent(this, APSEventSeverity.ERROR, APSEventType.EXCEPTION, "Fail to execute onReceivedError method", e6);
        }
    }

    @Override
    public boolean onRenderProcessGone(WebView view, @NotNull RenderProcessGoneDetail detail) {
        String str;
        Intrinsics.checkNotNullParameter(detail, "detail");
        super.onRenderProcessGone(view, detail);
        setCrashed(true);
        ApsAdExtensionsKt.e(this, "WebView client crashed");
        StringBuilder sb = new StringBuilder("Fail to render ad due to webView crash.");
        if (view != null) {
            if (view instanceof DTBAdView) {
                q0 q0Var = q0.a;
                str = n.o("Webview didCrash :%s , Webview rendererPriorityAtExit : %d", "format(format, *args)", 2, new Object[]{Boolean.valueOf(detail.didCrash()), Integer.valueOf(detail.rendererPriorityAtExit())});
            } else {
                str = "";
            }
            this.webviewClientListener.onCrash(view, sb, str);
        }
        return true;
    }

    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        try {
            ApsAdExtensionsKt.d(this, "Should intercept Resource url: " + url);
            if (url == null || !matchesLocalInjectionUrl(url)) {
                return super.shouldInterceptRequest(view, url);
            }
            String substring = url.substring(StringsKt.L(url, '/', 0, 6) + 1);
            Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String).substring(startIndex)");
            return createImageInjectionResponse(substring);
        } catch (RuntimeException e6) {
            ApsAdExtensionsKt.logEvent(this, APSEventSeverity.ERROR, APSEventType.EXCEPTION, "Fail to execute shouldInterceptRequest method", e6);
            return null;
        }
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null) {
            try {
                if (this.webviewClientListener.isTwoPartExpand()) {
                    return false;
                }
                return this.schemeHandler.openUrl(url);
            } catch (RuntimeException e6) {
                ApsAdExtensionsKt.logEvent(this, APSEventSeverity.ERROR, APSEventType.EXCEPTION, "Fail to execute shouldOverrideUrlLoading method", e6);
            }
        }
        return false;
    }
}