正在查看: CallApp v2.226 应用的 ApsAdWebViewSupportClient.java JAVA 源代码文件
本页面展示 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;
}
}