Picsart v24.6版本的 MD5 值为:21a61631d94e54da68d2ad9268b8b9d9
以下内容为反编译后的 g.java 源代码,内容仅作参考
package myobfuscated.n7;
import android.content.Context;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.webkit.ValueCallback;
import android.webkit.WebView;
import com.amazon.aps.ads.util.adview.ApsAdViewBase;
import com.amazon.aps.shared.analytics.APSEventSeverity;
import com.amazon.aps.shared.analytics.APSEventType;
import com.amazon.device.ads.DTBAdBannerListener;
import com.amazon.device.ads.DTBAdMRAIDBannerController;
import com.amazon.device.ads.DTBAdMRAIDController;
import com.amazon.device.ads.DTBAdView;
import com.amazon.device.ads.DTBExpectedSizeProvider;
import com.amazon.device.ads.DTBMetricsConfiguration;
import com.amazon.device.ads.DtbCommonUtils;
import com.amazon.device.ads.DtbOmSdkSessionManager;
import com.amazon.device.ads.WebResourceOptions;
import com.amazon.device.ads.WebResourceService;
import java.util.Arrays;
import java.util.Date;
import java.util.Map;
import kotlin.jvm.internal.Intrinsics;
import myobfuscated.n7.d;
import myobfuscated.o7.b;
import org.jetbrains.annotations.NotNull;
public class g extends ApsAdViewBase implements n, j {
@NotNull
private final Context adViewContext;
private final boolean localOnly;
protected i webBridge;
private m webClient;
public g(@NotNull Context context) {
super(context);
Intrinsics.checkNotNullParameter(context, "context");
this.localOnly = WebResourceOptions.isLocalSourcesOnly();
this.adViewContext = context;
}
public static void d(g gVar, String str, ValueCallback valueCallback) {
m325evaluateApsJavascript$lambda11$lambda10(gVar, str, valueCallback);
}
public static void e(g gVar, String str) {
m327loadUrl$lambda9$lambda8(gVar, str);
}
public static final void m325evaluateApsJavascript$lambda11$lambda10(g this$0, String str, ValueCallback valueCallback) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
super.evaluateJavascript(str, valueCallback);
}
private final long handleClick(MotionEvent motionEvent, long j) {
if (j - this.timeClicked < 1000) {
return this.timePressed;
}
if (j - this.timePressed < 500) {
this.timeClicked = j;
if (getMraidHandler() == null) {
myobfuscated.o7.a.b(APSEventSeverity.FATAL, APSEventType.LOG, "Null controller instance onAdClick callback", null);
return 0L;
}
DTBAdMRAIDController mraidHandler = getMraidHandler();
Intrinsics.e(mraidHandler);
mraidHandler.onAdClicked();
return 0L;
}
return 0L;
}
public static final boolean m326initWebView$lambda3(g this$0, View view, MotionEvent motionEvent) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
return this$0.detectAdClick(motionEvent);
}
public static final void m327loadUrl$lambda9$lambda8(g this$0, String url) {
Intrinsics.checkNotNullParameter(this$0, "this$0");
Intrinsics.checkNotNullParameter(url, "$url");
try {
super.loadUrl(url);
} catch (Exception e) {
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.EXCEPTION;
String l = Intrinsics.l(url, "WebView crash noticed during super.loadUrl method. URL:");
Intrinsics.checkNotNullParameter(this$0, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, l, e);
}
}
@Override
public void cleanup() {
try {
super.cleanup();
removeJavascriptInterface("amzn_bridge");
DtbOmSdkSessionManager omSdkManager = getOmSdkManager();
if (omSdkManager != null) {
omSdkManager.stopOmAdSession();
}
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler != null) {
mraidHandler.cleanup();
}
setMraidHandler(null);
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.EXCEPTION;
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, "Error in ApsAdView cleanup", e);
}
}
public boolean detectAdClick(MotionEvent motionEvent) {
if (isVideo() || motionEvent == null) {
return false;
}
int action = motionEvent.getAction();
long time = new Date().getTime();
if (action != 0) {
time = action != 1 ? this.timePressed : handleClick(motionEvent, time);
}
this.timePressed = time;
return false;
}
public void evaluateApsJavascript(String str, ValueCallback<String> valueCallback) {
if (str == null) {
return;
}
new Handler(Looper.getMainLooper()).post(new f(this, 0, str, valueCallback));
}
public void fetchAd(Bundle bundle) {
fetchAd((String) null, bundle);
}
public void fetchAd(String str) {
fetchAd(str, (Bundle) null);
}
public final void fetchAd(String str, Bundle bundle) {
Bundle bundle2;
long currentTimeMillis = System.currentTimeMillis();
if (myobfuscated.mn2.k.n(str, null, false) || myobfuscated.mn2.k.n(str, "", false)) {
str = bundle == null ? null : bundle.getString("bid_html_template", null);
}
DTBAdMRAIDController mraidListener = getMraidHandler();
if (mraidListener != null) {
d.a aVar = d.a;
Intrinsics.checkNotNullParameter(mraidListener, "mraidHandler");
String string = (str != null || bundle == null) ? str : bundle.getString("bid_html_template", null);
if (bundle != null && (mraidListener instanceof DTBAdMRAIDBannerController)) {
DTBAdBannerListener dTBAdBannerListener = ((DTBAdMRAIDBannerController) mraidListener).bannerListener;
int i = bundle.getInt("expected_width", 0);
int i2 = bundle.getInt("expected_height", 0);
if (i2 > 0 && i > 0 && (dTBAdBannerListener instanceof DTBExpectedSizeProvider)) {
DTBExpectedSizeProvider dTBExpectedSizeProvider = (DTBExpectedSizeProvider) dTBAdBannerListener;
dTBExpectedSizeProvider.setExpectedWidth(i);
dTBExpectedSizeProvider.setExpectedHeight(i2);
}
}
if (DTBMetricsConfiguration.getInstance().isFeatureEnabled("webviewAdInfo_feature") && bundle == null) {
bundle2 = new Bundle();
d.a.a(string, bundle2);
bundle2.putString("amazon_ad_info", myobfuscated.ud0.d.b(new Object[]{bundle2.getString("bid_identifier"), bundle2.getString("hostname_identifier"), bundle2.getString("event_server_parameter")}, 3, "{bidID:'%s',aaxHost:'%s',pricePoint:'%s'}", "format(format, *args)"));
} else {
bundle2 = bundle;
}
if (bundle2 != null) {
setBidId(bundle2.getString("bid_identifier"));
setHostname(bundle2.getString("hostname_identifier"));
setVideo(bundle2.getBoolean("video_flag"));
}
setStartTime(new Date().getTime());
Intrinsics.checkNotNullParameter(this, "webView");
Intrinsics.checkNotNullParameter(mraidListener, "mraidListener");
try {
StringBuilder sb = new StringBuilder();
sb.append("<!DOCTYPE html><html><head>");
sb.append("<script>");
sb.append(aVar.b(getAdViewContext(), bundle));
sb.append("</script>");
Context context = getContext();
Intrinsics.checkNotNullExpressionValue(context, "webView.context");
aVar.c(context, getLocalOnly(), "aps-mraid", sb);
Context context2 = getContext();
Intrinsics.checkNotNullExpressionValue(context2, "webView.context");
aVar.c(context2, getLocalOnly(), "dtb-m", sb);
if (DtbOmSdkSessionManager.getFeatureEnableFlag()) {
Context context3 = getContext();
Intrinsics.checkNotNullExpressionValue(context3, "webView.context");
aVar.c(context3, getLocalOnly(), "omsdk-v1", sb);
}
sb.append("</head>");
sb.append("<body style='margin:0;padding:0;'>");
sb.append(str);
sb.append("</body></html>");
if (DTBMetricsConfiguration.getInstance().isFeatureEnabled("additional_webview_metric")) {
if (mraidListener instanceof DTBAdMRAIDBannerController) {
b.a.c("bannerCreativeRenderingStart", getBidId());
} else {
b.a.c("interstitialCreativeRenderingStart", getBidId());
}
}
loadDataWithBaseURL("https://c.amazon-adsystem.com/", sb.toString(), "text/html", "UTF-8", null);
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.EXCEPTION;
Intrinsics.checkNotNullParameter(aVar, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, "Fail to execute fetchAd method with bundle", e);
}
}
String bidId = getBidId();
myobfuscated.p7.b bVar = new myobfuscated.p7.b();
bVar.b(getBidId());
myobfuscated.q7.l lVar = bVar.a;
myobfuscated.q7.i iVar = lVar.h;
if (iVar == null) {
iVar = new myobfuscated.q7.i(null);
}
lVar.h = iVar;
iVar.b = currentTimeMillis;
b.a.a(bidId, bVar);
}
public void fetchAd(String str, @NotNull Map<String, ? extends Object> extra) {
Intrinsics.checkNotNullParameter(extra, "extra");
d.a aVar = d.a;
Intrinsics.checkNotNullParameter(this, "webView");
try {
Bundle initializeEmptyBundle = DtbCommonUtils.initializeEmptyBundle();
if (extra != null) {
for (Map.Entry<String, ? extends Object> entry : extra.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
if (value instanceof String) {
initializeEmptyBundle.putString(key, (String) value);
} else if (value instanceof Boolean) {
initializeEmptyBundle.putBoolean(key, ((Boolean) value).booleanValue());
} else if (value instanceof Integer) {
initializeEmptyBundle.putInt(key, ((Number) value).intValue());
} else if (value instanceof Long) {
initializeEmptyBundle.putLong(key, ((Number) value).longValue());
}
}
}
fetchAd(str, initializeEmptyBundle);
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.EXCEPTION;
Intrinsics.checkNotNullParameter(aVar, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, "Fail to execute fetchAd method with map bundle", e);
}
}
public void fetchAd(Map<String, ? extends Object> map) {
if (map == null) {
throw new NullPointerException("null cannot be cast to non-null type kotlin.collections.Map<kotlin.String?, kotlin.Any>");
}
fetchAd((String) null, map);
}
public final void fetchAdWithLocation(String str) {
Context context = getContext();
if (context == null) {
return;
}
d.a aVar = d.a;
boolean localOnly = getLocalOnly();
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(this, "webView");
try {
StringBuilder sb = new StringBuilder();
sb.append("<script>");
sb.append(aVar.b(context, null));
sb.append("</script>");
aVar.c(context, localOnly, "aps-mraid", sb);
sb.append("<script>");
sb.append("window.location=\"");
sb.append(str);
sb.append("\";");
sb.append("</script>");
loadDataWithBaseURL("https://c.amazon-adsystem.com/", sb.toString(), "text/html", "UTF-8", null);
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.EXCEPTION;
Intrinsics.checkNotNullParameter(aVar, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, "Fail to execute fetchAdWithLocation method", e);
}
}
public final void getAdInfo(@NotNull String adhtml, @NotNull Bundle adInfoBundle) {
Intrinsics.checkNotNullParameter(adhtml, "adhtml");
Intrinsics.checkNotNullParameter(adInfoBundle, "adInfoBundle");
d.a.a(adhtml, adInfoBundle);
}
@Override
@NotNull
public Context getAdViewContext() {
return this.adViewContext;
}
@Override
public DTBAdMRAIDController getApsMraidHandler() {
return getMraidHandler();
}
public final boolean getLocalOnly() {
return this.localOnly;
}
public final m getWebClient() {
return this.webClient;
}
@Override
public void initWebView() {
super.initWebView();
m lVar = new l(this);
setWebViewClient(lVar);
setWebClient(lVar);
setAdViewScrollEnabled(false);
i iVar = new i(this);
this.webBridge = iVar;
addJavascriptInterface(iVar, "amzn_bridge");
WebResourceService.init();
initLayoutListeners();
setOnTouchListener(new e(this, 0));
}
@Override
public boolean isTwoPartExpand() {
if (getMraidHandler() != null) {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler != null) {
return mraidHandler.isTwoPartExpand();
}
throw new NullPointerException("null cannot be cast to non-null type com.amazon.device.ads.DTBAdMRAIDController");
}
return false;
}
public final void loadLocalFile(@NotNull String filename, @NotNull StringBuilder sb) {
Intrinsics.checkNotNullParameter(filename, "filename");
Intrinsics.checkNotNullParameter(sb, "sb");
d.a aVar = d.a;
Context context = getContext();
Intrinsics.checkNotNullExpressionValue(context, "context");
aVar.c(context, this.localOnly, filename, sb);
}
@Override
public void loadUrl(@NotNull String url) {
Intrinsics.checkNotNullParameter(url, "url");
try {
m mVar = this.webClient;
if (mVar == null) {
return;
}
if (!mVar.a) {
new Handler(Looper.getMainLooper()).post(new myobfuscated.h4.e(1, this, url));
return;
}
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.LOG;
String l = Intrinsics.l(url, "WebView is corrupted. loadUrl method will not be executed. URL:");
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, l, null);
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity2 = APSEventSeverity.FATAL;
APSEventType aPSEventType2 = APSEventType.EXCEPTION;
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity2, aPSEventType2, "Failed to execute loadUrl method", e);
}
}
@Override
public void onAdLeftApplication() {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.onAdLeftApplication();
}
@Override
public void onAdOpened() {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.onAdOpened();
}
public final void onAdRemoved() {
if (getMraidHandler() != null) {
DTBAdMRAIDController mraidHandler = getMraidHandler();
Intrinsics.e(mraidHandler);
mraidHandler.onAdRemoved();
return;
}
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.LOG;
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, "Null controller instance onAdRemoved", null);
}
@Override
public void onCrash(@NotNull WebView webView, @NotNull StringBuilder errorInfo, @NotNull String errorDetail) {
DtbOmSdkSessionManager omSdkManager;
Intrinsics.checkNotNullParameter(webView, "webView");
Intrinsics.checkNotNullParameter(errorInfo, "errorInfo");
Intrinsics.checkNotNullParameter(errorDetail, "errorDetail");
try {
if (webView instanceof DTBAdView) {
String userAgentString = ((DTBAdView) webView).getSettings().getUserAgentString();
if (userAgentString != null) {
String format = String.format("webViewUserAgentInfo = %s;", Arrays.copyOf(new Object[]{userAgentString}, 1));
Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
errorInfo.append(format);
}
if (getBidId() != null) {
String format2 = String.format("webViewBidId = %s;", Arrays.copyOf(new Object[]{getBidId()}, 1));
Intrinsics.checkNotNullExpressionValue(format2, "format(format, *args)");
errorInfo.append(format2);
}
onAdRemoved();
if (getMraidHandler() != null && (omSdkManager = getOmSdkManager()) != null) {
omSdkManager.stopOmAdSession();
}
ViewParent parent = ((DTBAdView) webView).getParent();
if (parent != null && (parent instanceof ViewGroup)) {
((ViewGroup) parent).removeView(this);
}
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler != null) {
mraidHandler.onLoadError();
cleanup();
}
webView.removeAllViews();
}
String substring = errorDetail.substring(0, Math.min(100, errorDetail.length()));
Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
String format3 = String.format("webViewErrorDetail = %s", Arrays.copyOf(new Object[]{substring}, 1));
Intrinsics.checkNotNullExpressionValue(format3, "format(format, *args)");
errorInfo.append(format3);
APSEventSeverity aPSEventSeverity = APSEventSeverity.FATAL;
APSEventType aPSEventType = APSEventType.EXCEPTION;
String sb = errorInfo.toString();
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, sb, null);
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity2 = APSEventSeverity.FATAL;
APSEventType aPSEventType2 = APSEventType.EXCEPTION;
String sb2 = errorInfo.toString();
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity2, aPSEventType2, sb2, e);
}
}
@Override
public void onExposureChange(int i, @NotNull Rect adViewRect) {
Intrinsics.checkNotNullParameter(adViewRect, "adViewRect");
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.fireExposureChange(i, adViewRect);
}
@Override
public void onLoadError() {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.onLoadError();
}
@Override
public void onPageFinished(@NotNull String url, WebView webView) {
DtbOmSdkSessionManager omSdkManager;
Intrinsics.checkNotNullParameter(url, "url");
try {
myobfuscated.m7.a.a(this, Intrinsics.l(url, "Page finished:"));
if (webView instanceof DTBAdView) {
if (kotlin.text.d.w(url, "MRAID_ENV", false)) {
onPageLoaded();
} else if (url.equals("https://c.amazon-adsystem.com/")) {
if ((getMraidHandler() instanceof DTBAdMRAIDBannerController) && (omSdkManager = getOmSdkManager()) != null) {
omSdkManager.stopOmAdSession();
if (isVideo()) {
omSdkManager.initJavaScriptOmAdSession(this, url);
} else {
omSdkManager.initHtmlDisplayOmAdSession(this, url);
}
omSdkManager.registerAdView(this);
omSdkManager.startAdSession();
}
onPageLoaded();
}
}
} catch (RuntimeException e) {
APSEventSeverity aPSEventSeverity = APSEventSeverity.ERROR;
APSEventType aPSEventType = APSEventType.EXCEPTION;
Intrinsics.checkNotNullParameter(this, "<this>");
myobfuscated.o7.a.b(aPSEventSeverity, aPSEventType, "Fail to execute onPageFinished method", e);
}
}
public void onPageLoaded() {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.onPageLoad();
}
@Override
public void onPositionChanged(@NotNull Rect adViewRect) {
Intrinsics.checkNotNullParameter(adViewRect, "adViewRect");
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.onPositionChanged(adViewRect);
}
@Override
public void onViewabilityChanged(boolean z) {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.onViewabilityChanged(z);
}
@Override
public void setCurrentPositionProperty() {
DTBAdMRAIDController mraidHandler = getMraidHandler();
if (mraidHandler == null) {
return;
}
mraidHandler.setCurrentPositionProperty();
}
public final void setIgnoreDetachment() {
this.ignoreDetachment = true;
}
public final void setWebClient(m mVar) {
if (mVar == null) {
return;
}
this.webClient = mVar;
setWebViewClient(mVar);
}
}