光速虚拟机 v3.8.2版本的 MD5 值为:68970fb34f75fa0f2632de9e93032f55
以下内容为反编译后的 s.java 源代码,内容仅作参考
package com.applovin.impl.sdk;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import com.applovin.impl.sdk.utils.StringUtils;
import com.applovin.sdk.AppLovinSdk;
import com.safedk.android.analytics.AppLovinBridge;
import com.safedk.android.internal.partials.AppLovinNetworkBridge;
import java.io.UnsupportedEncodingException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.bouncycastle.i18n.ErrorBundle;
public class s {
private static final int c = (int) TimeUnit.SECONDS.toMillis(30);
protected final o a;
protected final y b;
private final Map<a, Long> d = Collections.synchronizedMap(new HashMap());
public enum a {
ANR("anr"),
BLACK_VIEW("black_view"),
CRASH("crash"),
JAVA_8_EXCEPTION("java_8_exception"),
TASK_EXCEPTION("task_exception"),
CAUGHT_EXCEPTION("caught_exception"),
WEB_VIEW_ERROR("web_view_error"),
INTEGRATION_ERROR("integration_error");
private final String i;
a(String str) {
this.i = str;
}
public String a() {
return this.i;
}
}
public s(o oVar) {
this.a = oVar;
this.b = oVar.F();
}
private Map<String, String> a(String str, Map<String, String> map) {
HashMap hashMap = new HashMap();
hashMap.put("type", str);
if (this.a.M() != null) {
hashMap.put(AppLovinBridge.e, this.a.L().v());
} else {
hashMap.put(AppLovinBridge.e, this.a.K().f());
}
hashMap.put("applovin_random_token", this.a.s());
hashMap.put("compass_random_token", this.a.r());
hashMap.put("model", Build.MODEL);
hashMap.put("brand", Build.MANUFACTURER);
hashMap.put("brand_name", Build.BRAND);
hashMap.put("hardware", Build.HARDWARE);
hashMap.put("revision", Build.DEVICE);
hashMap.put("os", Build.VERSION.RELEASE);
hashMap.put("api_level", String.valueOf(Build.VERSION.SDK_INT));
hashMap.put("sdk_version", String.valueOf(AppLovinSdk.VERSION));
hashMap.put("aei", String.valueOf(this.a.a(com.applovin.impl.sdk.c.b.aw)));
hashMap.put("mei", String.valueOf(this.a.a(com.applovin.impl.sdk.c.b.ax)));
a(hashMap);
b(hashMap);
if (map != null) {
hashMap.putAll(map);
}
return hashMap;
}
private void a(Map<String, String> map) {
String str;
PackageInfo packageInfo;
PackageManager packageManager;
try {
packageManager = o.au().getPackageManager();
str = o.au().getPackageName();
} catch (Throwable unused) {
str = "";
}
try {
packageInfo = packageManager.getPackageInfo(str, 0);
} catch (Throwable unused2) {
packageInfo = null;
map.put("package_name", str);
map.put("app_version", packageInfo != null ? packageInfo.versionName : "");
map.put("app_version_code", String.valueOf(packageInfo != null ? packageInfo.versionCode : 0));
}
map.put("package_name", str);
map.put("app_version", packageInfo != null ? packageInfo.versionName : "");
map.put("app_version_code", String.valueOf(packageInfo != null ? packageInfo.versionCode : 0));
}
private boolean a(a aVar, long j) {
return System.currentTimeMillis() - (this.d.containsKey(aVar) ? this.d.get(aVar).longValue() : -1L) < j;
}
public void b(a aVar, Map<String, String> map) {
if (y.a()) {
y yVar = this.b;
yVar.b("ErrorReporter", "Reporting " + aVar.a() + " error...");
}
try {
HttpURLConnection httpURLConnection = (HttpURLConnection) c(aVar, map).openConnection();
int i = c;
httpURLConnection.setConnectTimeout(i);
httpURLConnection.setReadTimeout(i);
httpURLConnection.setDefaultUseCaches(false);
httpURLConnection.setAllowUserInteraction(false);
httpURLConnection.setUseCaches(false);
httpURLConnection.setInstanceFollowRedirects(true);
httpURLConnection.setDoOutput(false);
httpURLConnection.setRequestMethod("POST");
int httpUrlConnectionGetResponseCode = AppLovinNetworkBridge.httpUrlConnectionGetResponseCode(httpURLConnection);
if (y.a()) {
y yVar2 = this.b;
yVar2.b("ErrorReporter", aVar.a() + " reported with code " + httpUrlConnectionGetResponseCode);
}
this.d.put(aVar, Long.valueOf(System.currentTimeMillis()));
} catch (Throwable th) {
if (y.a()) {
y yVar3 = this.b;
yVar3.a("ErrorReporter", "Failed to report " + aVar.a(), th);
}
}
}
private void b(Map<String, String> map) {
Object c2 = this.a.V().c();
if (c2 instanceof com.applovin.impl.sdk.ad.e) {
map.put("fs_ad_network", "AppLovin");
map.put("fs_ad_creative_id", Long.toString(((com.applovin.impl.sdk.ad.e) c2).getAdIdNumber()));
} else if (!(c2 instanceof com.applovin.impl.mediation.a.a)) {
map.put("fs_ad_network", "None");
map.put("fs_ad_creative_id", "None");
} else {
com.applovin.impl.mediation.a.a aVar = (com.applovin.impl.mediation.a.a) c2;
map.put("fs_ad_network", aVar.getNetworkName());
map.put("fs_ad_creative_id", aVar.getCreativeId());
}
}
private URL c(a aVar, Map<String, String> map) throws MalformedURLException, UnsupportedEncodingException {
StringBuilder sb = new StringBuilder("https://ms.applovin.com/1.0/sdk/error");
sb.append("?");
Iterator<Map.Entry<String, String>> it = a(aVar.a(), map).entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> next = it.next();
String encode = URLEncoder.encode(next.getKey(), "UTF-8");
String encode2 = URLEncoder.encode(next.getValue(), "UTF-8");
sb.append(encode);
sb.append("=");
sb.append(encode2);
if (it.hasNext()) {
sb.append("&");
}
}
return new URL(sb.toString());
}
public void a(a aVar) {
a(aVar, (Map<String, String>) null);
}
public void a(a aVar, Map<String, String> map) {
a(aVar, map, 0L);
}
public void a(final a aVar, final Map<String, String> map, long j) {
if (a(aVar, j)) {
return;
}
if (com.applovin.impl.sdk.utils.w.b()) {
new Thread(new Runnable() {
@Override
public void run() {
s.this.b(aVar, map);
}
}).start();
} else {
b(aVar, map);
}
}
public void a(String str, String str2, Throwable th) {
HashMap hashMap = new HashMap(3);
hashMap.put("source", str);
hashMap.put(ErrorBundle.DETAIL_ENTRY, StringUtils.emptyIfNull(str2));
hashMap.put("top_main_method", th.toString());
a(a.CAUGHT_EXCEPTION, hashMap);
}
public void a(String str, Throwable th) {
a(str, (String) null, th);
}
}