Craftsman 4 v1.20.43版本的 MD5 值为:44824ed1b4bf939cc4a771f5f317f768
以下内容为反编译后的 e.java 源代码,内容仅作参考
package com.ironsource.environment;
import android.content.Context;
import android.content.SharedPreferences;
import android.net.ConnectivityManager;
import android.net.Network;
import android.net.NetworkCapabilities;
import android.net.NetworkInfo;
import android.os.Build;
import android.text.TextUtils;
import android.util.Log;
import com.google.android.vending.expansion.downloader.impl.DownloadsDB;
import com.safedk.android.analytics.events.MaxEvent;
import com.safedk.android.internal.partials.IronSourceNetworkBridge;
import java.io.DataOutputStream;
import java.lang.Thread;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
public class e {
private static final String f2435j = "1.0.5";
public static String f2436k = "";
private JSONObject f2437a;
private String f2438b;
private String f2439c;
private String f2440d;
private String f2441e;
private Context f2442f;
private Thread.UncaughtExceptionHandler f2443g;
private String f2444h;
private String f2445i;
class a implements com.ironsource.environment.b {
a() {
}
@Override
public void a() {
Map<Thread, StackTraceElement[]> allStackTraces = Thread.getAllStackTraces();
StringBuilder sb = new StringBuilder(128);
for (Thread thread : allStackTraces.keySet()) {
StackTraceElement[] stackTrace = thread.getStackTrace();
if (stackTrace != null && stackTrace.length > 0) {
sb.append("*** Thread Name ");
sb.append(thread.getName());
sb.append(" Thread ID ");
sb.append(thread.getId());
sb.append(" (");
sb.append(thread.getState().toString());
sb.append(") ***\n");
for (StackTraceElement stackTraceElement : stackTrace) {
sb.append(stackTraceElement.toString());
sb.append(" ");
sb.append(thread.getState().toString());
sb.append("\n");
}
}
}
e.f2436k = sb.toString();
}
@Override
public void b() {
}
}
class b implements Runnable {
final Context f2447a;
final String f2448b;
b(Context context, String str) {
this.f2447a = context;
this.f2448b = str;
}
@Override
public void run() {
try {
String N = com.ironsource.services.a.N(this.f2447a);
if (!TextUtils.isEmpty(N)) {
e.this.f2439c = N;
}
String O = com.ironsource.services.a.O(this.f2447a);
if (!TextUtils.isEmpty(O)) {
e.this.f2441e = O;
}
SharedPreferences.Editor edit = this.f2447a.getSharedPreferences("CRep", 0).edit();
edit.putString("String1", e.this.f2439c);
edit.putString(n.f2541m, this.f2448b);
edit.apply();
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
public class c implements Runnable {
c() {
}
@Override
public void run() {
try {
HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(e.d().f2444h).openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
httpURLConnection.setRequestProperty("Accept", com.ironsource.sdk.constants.b.J);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
Log.i("JSON", e.this.f2437a.toString());
DataOutputStream dataOutputStream = new DataOutputStream(IronSourceNetworkBridge.urlConnectionGetOutputStream(httpURLConnection));
dataOutputStream.writeBytes(e.this.f2437a.toString());
dataOutputStream.flush();
dataOutputStream.close();
Log.i(DownloadsDB.DownloadColumns.STATUS, String.valueOf(IronSourceNetworkBridge.httpUrlConnectionGetResponseCode(httpURLConnection)));
Log.i("MSG", httpURLConnection.getResponseMessage());
IronSourceNetworkBridge.httpUrlConnectionDisconnect(httpURLConnection);
} catch (Exception e2) {
e2.printStackTrace();
}
}
}
public static class d {
static volatile e f2451a = new e(null);
private d() {
}
}
private e() {
this.f2437a = new JSONObject();
Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
this.f2443g = defaultUncaughtExceptionHandler;
this.f2445i = " ";
this.f2444h = "https://outcome-crash-report.supersonicads.com/reporter";
Thread.setDefaultUncaughtExceptionHandler(new com.ironsource.environment.d(defaultUncaughtExceptionHandler));
}
e(a aVar) {
this();
}
private String a(Context context) {
ConnectivityManager connectivityManager;
Network activeNetwork;
NetworkCapabilities networkCapabilities;
boolean hasTransport;
boolean hasTransport2;
if (context == null || (connectivityManager = (ConnectivityManager) context.getSystemService("connectivity")) == null) {
return "none";
}
try {
if (Build.VERSION.SDK_INT >= 23) {
activeNetwork = connectivityManager.getActiveNetwork();
networkCapabilities = connectivityManager.getNetworkCapabilities(activeNetwork);
if (networkCapabilities == null) {
return "none";
}
hasTransport = networkCapabilities.hasTransport(1);
if (hasTransport) {
return com.ironsource.network.b.f4361b;
}
hasTransport2 = networkCapabilities.hasTransport(0);
if (hasTransport2) {
return com.ironsource.network.b.f4366g;
}
} else {
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetworkInfo != null && activeNetworkInfo.isConnected()) {
if (activeNetworkInfo.getTypeName().equalsIgnoreCase("WIFI")) {
return com.ironsource.network.b.f4361b;
}
if (activeNetworkInfo.getTypeName().equalsIgnoreCase("MOBILE")) {
return com.ironsource.network.b.f4366g;
}
}
}
return "none";
} catch (Exception e2) {
e2.printStackTrace();
return "none";
}
}
private void a(Context context, HashSet<String> hashSet) {
String a2 = a(a());
if (a2.equals("none")) {
return;
}
SharedPreferences sharedPreferences = context.getSharedPreferences("CRep", 0);
String string = sharedPreferences.getString("String1", this.f2439c);
String string2 = sharedPreferences.getString(n.f2541m, this.f2440d);
for (h hVar : f.b()) {
String b2 = hVar.b();
String e2 = hVar.e();
String d2 = hVar.d();
String packageName = context.getPackageName();
JSONObject jSONObject = new JSONObject();
try {
jSONObject.put("crashDate", b2);
jSONObject.put("stacktraceCrash", e2);
jSONObject.put("crashType", d2);
jSONObject.put("CrashReporterVersion", f2435j);
jSONObject.put("SDKVersion", "7.6.0");
jSONObject.put("deviceLanguage", com.ironsource.services.a.k(context));
jSONObject.put("appVersion", com.ironsource.environment.c.b(context, packageName));
jSONObject.put("deviceOSVersion", com.ironsource.services.a.c());
jSONObject.put(MaxEvent.f6317d, a2);
jSONObject.put("deviceApiLevel", com.ironsource.services.a.b());
jSONObject.put("deviceModel", com.ironsource.services.a.j());
jSONObject.put(n.p0, com.ironsource.services.a.l());
jSONObject.put(n.h1, string);
jSONObject.put("deviceOEM", com.ironsource.services.a.k());
jSONObject.put("systemProperties", System.getProperties());
jSONObject.put("bundleId", packageName);
jSONObject.put(n.f2541m, string2);
if (!TextUtils.isEmpty(this.f2441e)) {
jSONObject.put("isLimitAdTrackingEnabled", Boolean.parseBoolean(this.f2441e));
}
JSONObject jSONObject2 = new JSONObject();
if (hashSet != null && !hashSet.isEmpty()) {
Iterator<String> it = hashSet.iterator();
while (it.hasNext()) {
String next = it.next();
try {
if (jSONObject.has(next)) {
jSONObject2.put(next, jSONObject.opt(next));
}
} catch (Exception e3) {
e3.printStackTrace();
}
}
jSONObject = jSONObject2;
}
this.f2437a = jSONObject;
} catch (Exception unused) {
}
if (this.f2437a.length() == 0) {
Log.d("ISCrashReport", " Is Empty");
} else {
new Thread(new c()).start();
f.a();
}
}
}
static List<h> c() {
return null;
}
public static e d() {
return d.f2451a;
}
public Context a() {
return this.f2442f;
}
public void a(Context context, HashSet<String> hashSet, String str, String str2, boolean z, String str3, int i2, boolean z2) {
if (context != null) {
Log.d("automation_log", "init ISCrashReporter");
this.f2442f = context;
if (!TextUtils.isEmpty(str2)) {
this.f2445i = str2;
}
if (!TextUtils.isEmpty(str)) {
this.f2444h = str;
}
this.f2440d = str3;
if (z) {
new com.ironsource.environment.a(i2).a(z2).b(true).a(new a()).start();
}
a(context, hashSet);
new Thread(new b(context, str3)).start();
}
}
public String b() {
return f2435j;
}
public String e() {
return this.f2445i;
}
}