正在查看: Barstool v5.21.2 应用的 ApsAdViewFetchUtils.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Barstool v5.21.2 应用的 ApsAdViewFetchUtils.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.amazon.aps.ads.util.adview;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.webkit.WebView;
import androidx.constraintlayout.widget.ConstraintLayout;
import com.amazon.aps.ads.util.ApsAdExtensionsKt;
import com.amazon.aps.shared.ApsMetrics;
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.DTBExpectedSizeProvider;
import com.amazon.device.ads.DTBMetricsConfiguration;
import com.amazon.device.ads.DtbCommonUtils;
import com.amazon.device.ads.DtbConstants;
import com.amazon.device.ads.DtbDeviceData;
import com.amazon.device.ads.DtbOmSdkSessionManager;
import com.amazon.device.ads.DtbSharedPreferences;
import com.amazon.device.ads.WebResourceService;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import kotlin.Metadata;
import kotlin.jvm.JvmStatic;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.StringCompanionObject;
import kotlin.text.StringsKt;
import org.json.JSONObject;
@Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\u0018\u0000 \u00032\u00020\u0001:\u0001\u0003B\u0007\b\u0002¢\u0006\u0002\u0010\u0002¨\u0006\u0004"}, d2 = {"Lcom/amazon/aps/ads/util/adview/ApsAdViewFetchUtils;", "", "()V", "Companion", "DTBAndroidSDK_release"}, k = 1, mv = {1, 6, 0}, xi = ConstraintLayout.LayoutParams.Table.LAYOUT_CONSTRAINT_VERTICAL_CHAINSTYLE)
public final class ApsAdViewFetchUtils {
public static final Companion INSTANCE = new Companion(null);
@JvmStatic
public static final void fetchAdWithLocation(Context context, WebView webView, boolean z, String str) {
INSTANCE.fetchAdWithLocation(context, webView, z, str);
}
@JvmStatic
public static final void getAdInfo(String str, Bundle bundle) {
INSTANCE.getAdInfo(str, bundle);
}
@JvmStatic
public static final String getEnvironment(Context context, Bundle bundle) {
return INSTANCE.getEnvironment(context, bundle);
}
@JvmStatic
public static final String getMobileDeviceInfo() {
return INSTANCE.getMobileDeviceInfo();
}
@JvmStatic
public static final void loadLocalFile(Context context, boolean z, String str, StringBuilder sb) {
INSTANCE.loadLocalFile(context, z, str, sb);
}
@Metadata(d1 = {"\u0000N\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010$\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0002\b\f\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J*\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\b2\b\u0010\t\u001a\u0004\u0018\u00010\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\fJ0\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u00062\b\u0010\t\u001a\u0004\u0018\u00010\n2\u0016\u0010\r\u001a\u0012\u0012\u0006\u0012\u0004\u0018\u00010\n\u0012\u0004\u0012\u00020\u0001\u0018\u00010\u000eJ*\u0010\u000f\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0005\u001a\u00020\u00122\u0006\u0010\u0013\u001a\u00020\u00142\b\u0010\u0015\u001a\u0004\u0018\u00010\nH\u0007J\u001a\u0010\u0016\u001a\u00020\u00042\b\u0010\u0017\u001a\u0004\u0018\u00010\n2\u0006\u0010\u0018\u001a\u00020\fH\u0007J$\u0010\u0019\u001a\u0004\u0018\u00010\f2\u0006\u0010\u001a\u001a\u00020\b2\b\u0010\t\u001a\u0004\u0018\u00010\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\fJ\u001c\u0010\u001b\u001a\u0004\u0018\u00010\n2\u0006\u0010\u0010\u001a\u00020\u00112\b\u0010\u001c\u001a\u0004\u0018\u00010\fH\u0007J\b\u0010\u001d\u001a\u00020\nH\u0007J,\u0010\u001e\u001a\u00020\u00042\u0006\u0010\u0010\u001a\u00020\u00112\u0006\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u001f\u001a\u00020\n2\n\u0010 \u001a\u00060!j\u0002`\"H\u0007¨\u0006#"}, d2 = {"Lcom/amazon/aps/ads/util/adview/ApsAdViewFetchUtils$Companion;", "", "()V", "fetchAd", "", "webView", "Lcom/amazon/aps/ads/util/adview/ApsAdViewImpl;", "mraidListener", "Lcom/amazon/device/ads/DTBAdMRAIDController;", "adHtml", "", "extraData", "Landroid/os/Bundle;", "extra", "", "fetchAdWithLocation", "context", "Landroid/content/Context;", "Landroid/webkit/WebView;", "localOnly", "", DTBMetricsConfiguration.APSMETRICS_URL, "getAdInfo", "adhtml", "adInfoBundle", "getBundleForFetchAd", "mraidHandler", "getEnvironment", "extras", "getMobileDeviceInfo", "loadLocalFile", "name", "sb", "Ljava/lang/StringBuilder;", "Lkotlin/text/StringBuilder;", "DTBAndroidSDK_release"}, k = 1, mv = {1, 6, 0}, xi = ConstraintLayout.LayoutParams.Table.LAYOUT_CONSTRAINT_VERTICAL_CHAINSTYLE)
public static final class Companion {
public Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
@JvmStatic
public final void getAdInfo(String adhtml, Bundle adInfoBundle) {
Intrinsics.checkNotNullParameter(adInfoBundle, "adInfoBundle");
if (adhtml != null) {
String str = adhtml;
if (StringsKt.contains$default(str, "amzn.dtb.loadAd", false, 2, (Object) null)) {
Matcher matcher = Pattern.compile("amzn.dtb.loadAd\\(\\\"(.*)\\\", \\\"(.*)\\\", \\\"(.*)\\\".*isv: (\\w+)").matcher(str);
if (matcher.find() && matcher.groupCount() == 4) {
adInfoBundle.putString("event_server_parameter", matcher.group(1));
adInfoBundle.putString("bid_identifier", matcher.group(2));
adInfoBundle.putString("hostname_identifier", matcher.group(3));
adInfoBundle.putBoolean("video_flag", Boolean.parseBoolean(matcher.group(4)));
}
}
}
}
public final Bundle getBundleForFetchAd(DTBAdMRAIDController mraidHandler, String adHtml, Bundle extraData) {
Intrinsics.checkNotNullParameter(mraidHandler, "mraidHandler");
if (adHtml == null && extraData != null) {
adHtml = extraData.getString("bid_html_template", null);
}
if (extraData != null && (mraidHandler instanceof DTBAdMRAIDBannerController)) {
DTBAdBannerListener dTBAdBannerListener = ((DTBAdMRAIDBannerController) mraidHandler).bannerListener;
int i = extraData.getInt("expected_width", 0);
int i2 = extraData.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") || extraData != null) {
return extraData;
}
Bundle bundle = new Bundle();
getAdInfo(adHtml, bundle);
StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
String format = String.format("{bidID:'%s',aaxHost:'%s',pricePoint:'%s'}", Arrays.copyOf(new Object[]{bundle.getString("bid_identifier"), bundle.getString("hostname_identifier"), bundle.getString("event_server_parameter")}, 3));
Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
bundle.putString("amazon_ad_info", format);
return bundle;
}
public final void fetchAd(ApsAdViewImpl webView, String adHtml, Map<String, ? extends Object> extra) {
Intrinsics.checkNotNullParameter(webView, "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());
}
}
}
webView.fetchAd(adHtml, initializeEmptyBundle);
} catch (RuntimeException e) {
ApsAdExtensionsKt.logEvent(this, APSEventSeverity.FATAL, APSEventType.EXCEPTION, "Fail to execute fetchAd method with map bundle", e);
}
}
public final void fetchAd(ApsAdViewImpl webView, DTBAdMRAIDController mraidListener, String adHtml, Bundle extraData) {
Intrinsics.checkNotNullParameter(webView, "webView");
Intrinsics.checkNotNullParameter(mraidListener, "mraidListener");
try {
StringBuilder sb = new StringBuilder();
sb.append("<!DOCTYPE html><html><head>");
sb.append("<script>");
sb.append(getEnvironment(webView.getAdViewContext(), extraData));
sb.append("</script>");
Context context = webView.getContext();
Intrinsics.checkNotNullExpressionValue(context, "webView.context");
loadLocalFile(context, webView.getLocalOnly(), "aps-mraid", sb);
Context context2 = webView.getContext();
Intrinsics.checkNotNullExpressionValue(context2, "webView.context");
loadLocalFile(context2, webView.getLocalOnly(), "dtb-m", sb);
if (DtbOmSdkSessionManager.getFeatureEnableFlag()) {
Context context3 = webView.getContext();
Intrinsics.checkNotNullExpressionValue(context3, "webView.context");
loadLocalFile(context3, webView.getLocalOnly(), "omsdk-v1", sb);
}
sb.append("</head>");
sb.append("<body style='margin:0;padding:0;'>");
sb.append(adHtml);
sb.append("</body></html>");
if (DTBMetricsConfiguration.getInstance().isFeatureEnabled("additional_webview_metric")) {
if (mraidListener instanceof DTBAdMRAIDBannerController) {
ApsMetrics.INSTANCE.customEvent("bannerCreativeRenderingStart", webView.getBidId(), null);
} else {
ApsMetrics.INSTANCE.customEvent("interstitialCreativeRenderingStart", webView.getBidId(), null);
}
}
webView.loadDataWithBaseURL("https://c.amazon-adsystem.com/", sb.toString(), "text/html", "UTF-8", null);
} catch (RuntimeException e) {
ApsAdExtensionsKt.logEvent(this, APSEventSeverity.FATAL, APSEventType.EXCEPTION, "Fail to execute fetchAd method with bundle", e);
}
}
@JvmStatic
public final void fetchAdWithLocation(Context context, WebView webView, boolean localOnly, String url) {
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(webView, "webView");
try {
StringBuilder sb = new StringBuilder();
sb.append("<script>");
sb.append(getEnvironment(context, null));
sb.append("</script>");
loadLocalFile(context, localOnly, "aps-mraid", sb);
sb.append("<script>");
sb.append("window.location=\"").append(url).append("\";");
sb.append("</script>");
webView.loadDataWithBaseURL("https://c.amazon-adsystem.com/", sb.toString(), "text/html", "UTF-8", null);
} catch (RuntimeException e) {
ApsAdExtensionsKt.logEvent(this, APSEventSeverity.FATAL, APSEventType.EXCEPTION, "Fail to execute fetchAdWithLocation method", e);
}
}
@JvmStatic
public final String getMobileDeviceInfo() {
String str;
String str2;
String str3;
String str4;
String str5;
String str6;
String str7;
JSONObject paramsJson;
String str8 = "";
try {
paramsJson = DtbDeviceData.getDeviceDataInstance().getParamsJson();
} catch (RuntimeException e) {
e = e;
str = "";
str2 = str;
str3 = str2;
}
if (paramsJson != null) {
if (paramsJson.has(DtbDeviceData.DEVICE_DATA_OS_VERSION_KEY)) {
str3 = paramsJson.getString(DtbDeviceData.DEVICE_DATA_OS_VERSION_KEY);
Intrinsics.checkNotNullExpressionValue(str3, "it.getString(\n … )");
} else {
str3 = "";
}
try {
if (paramsJson.has(DtbDeviceData.DEVICE_DATA_MODEL_KEY)) {
str2 = paramsJson.getString(DtbDeviceData.DEVICE_DATA_MODEL_KEY);
Intrinsics.checkNotNullExpressionValue(str2, "it.getString(\n … )");
} else {
str2 = "";
}
try {
if (paramsJson.has(DtbDeviceData.DEVICE_DATA_SCREEN_SIZE_KEY)) {
str = paramsJson.getString(DtbDeviceData.DEVICE_DATA_SCREEN_SIZE_KEY);
Intrinsics.checkNotNullExpressionValue(str, "it.getString(\n … )");
} else {
str = "";
}
} catch (RuntimeException e2) {
e = e2;
str = "";
}
} catch (RuntimeException e3) {
e = e3;
str = "";
str2 = str;
}
try {
if (paramsJson.has(DtbDeviceData.DEVICE_DATA_ORIENTATION_KEY)) {
String string = paramsJson.getString(DtbDeviceData.DEVICE_DATA_ORIENTATION_KEY);
Intrinsics.checkNotNullExpressionValue(string, "it.getString(\n … )");
str8 = string;
}
} catch (RuntimeException e4) {
e = e4;
ApsAdExtensionsKt.logEvent(this, APSEventSeverity.FATAL, APSEventType.EXCEPTION, "Fail to parse deviceData in getMobileDeviceInfo method", e);
str4 = str;
str5 = str2;
str6 = str3;
str7 = str8;
StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
String format = String.format("{os:'%s',fwk:'%s',osVersion:'%s',model:'%s',screenSize:'%s',orientation:'%s'}", Arrays.copyOf(new Object[]{DtbConstants.NATIVE_OS_NAME, DtbCommonUtils.getSDKFramework(), str6, str5, str4, str7}, 6));
Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
return format;
}
str4 = str;
str5 = str2;
str6 = str3;
str7 = str8;
StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE;
String format2 = String.format("{os:'%s',fwk:'%s',osVersion:'%s',model:'%s',screenSize:'%s',orientation:'%s'}", Arrays.copyOf(new Object[]{DtbConstants.NATIVE_OS_NAME, DtbCommonUtils.getSDKFramework(), str6, str5, str4, str7}, 6));
Intrinsics.checkNotNullExpressionValue(format2, "format(format, *args)");
return format2;
}
str6 = "";
str5 = str6;
str4 = str5;
str7 = str4;
StringCompanionObject stringCompanionObject22 = StringCompanionObject.INSTANCE;
String format22 = String.format("{os:'%s',fwk:'%s',osVersion:'%s',model:'%s',screenSize:'%s',orientation:'%s'}", Arrays.copyOf(new Object[]{DtbConstants.NATIVE_OS_NAME, DtbCommonUtils.getSDKFramework(), str6, str5, str4, str7}, 6));
Intrinsics.checkNotNullExpressionValue(format22, "format(format, *args)");
return format22;
}
@JvmStatic
public final String getEnvironment(Context context, Bundle extras) {
String str;
CharSequence applicationLabel;
Intrinsics.checkNotNullParameter(context, "context");
String string = extras != null ? extras.getString("amazon_ad_info") : null;
PackageManager packageManager = context.getPackageManager();
ApplicationInfo applicationInfo = context.getApplicationInfo();
if (packageManager != null && (applicationLabel = packageManager.getApplicationLabel(applicationInfo)) != null) {
str = (String) applicationLabel;
} else {
str = "";
}
String str2 = str;
String idfa = DtbSharedPreferences.getInstance().getIdfa();
if (DtbCommonUtils.isNullOrEmpty(idfa)) {
idfa = "unknown";
}
String str3 = idfa;
boolean optOut = DtbSharedPreferences.getInstance().getOptOut();
if (optOut == null) {
optOut = false;
}
Boolean bool = optOut;
String mobileDeviceInfo = getMobileDeviceInfo();
if (string == null) {
StringCompanionObject stringCompanionObject = StringCompanionObject.INSTANCE;
String format = String.format("window.MRAID_ENV={version:'%s',sdk:'%s',sdkVersion:'%s',appId:'%s',ifa:'%s',limitAdTracking:%b,coppa:%b,impFired:true,mobileDeviceInfo:%s};", Arrays.copyOf(new Object[]{"3.0", DtbCommonUtils.getSDKMRAIDVersion(), DtbConstants.SDK_VERSION, StringsKt.replace$default(str2, "'", "\\'", false, 4, (Object) null), str3, bool, false, mobileDeviceInfo}, 8));
Intrinsics.checkNotNullExpressionValue(format, "format(format, *args)");
return format;
}
StringCompanionObject stringCompanionObject2 = StringCompanionObject.INSTANCE;
String format2 = String.format("window.MRAID_ENV={version:'%s',sdk:'%s',sdkVersion:'%s',appId:'%s',ifa:'%s',limitAdTracking:%b,coppa:%b,amznAdInfo:%s,impFired:true,mobileDeviceInfo:%s};", Arrays.copyOf(new Object[]{"3.0", DtbCommonUtils.getSDKMRAIDVersion(), DtbConstants.SDK_VERSION, StringsKt.replace$default(str2, "'", "\\'", false, 4, (Object) null), str3, bool, false, string, mobileDeviceInfo}, 9));
Intrinsics.checkNotNullExpressionValue(format2, "format(format, *args)");
return format2;
}
@JvmStatic
public final void loadLocalFile(Context context, boolean localOnly, String name, StringBuilder sb) {
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(name, "name");
Intrinsics.checkNotNullParameter(sb, "sb");
if (!localOnly) {
try {
String loadFile = WebResourceService.getInstance().loadFile(name);
if (loadFile != null) {
sb.append("<script>").append(loadFile).append("</script>");
return;
}
} catch (Exception unused) {
ApsAdExtensionsKt.e(this, "Failed to read local file");
}
}
sb.append("<script>");
try {
InputStream open = context.getAssets().open(Intrinsics.stringPlus(name, ".js"));
Intrinsics.checkNotNullExpressionValue(open, "context.assets.open(\"$name.js\")");
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(open));
while (true) {
String readLine = bufferedReader.readLine();
if (readLine == null) {
break;
} else {
sb.append(StringsKt.trim(readLine).toString()).append("\n");
}
}
bufferedReader.close();
open.close();
} catch (Exception unused2) {
ApsAdExtensionsKt.e(this, Intrinsics.stringPlus("Error reading file:", name));
}
sb.append("</script>");
}
}
private ApsAdViewFetchUtils() {
}
}