Initial commit
This commit is contained in:
53
sources/com/baidu/uaq/agent/android/crashes/a.java
Normal file
53
sources/com/baidu/uaq/agent/android/crashes/a.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import com.tencent.open.SocialConstants;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* compiled from: ApplicationInfo.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class a extends com.baidu.uaq.agent.android.harvest.type.d {
|
||||
private String b;
|
||||
private String c;
|
||||
private String d;
|
||||
|
||||
public a() {
|
||||
this.b = "";
|
||||
this.c = "";
|
||||
this.d = "";
|
||||
}
|
||||
|
||||
public static a a(JSONObject jSONObject) {
|
||||
a aVar = new a();
|
||||
try {
|
||||
aVar.b = jSONObject.getString(SocialConstants.PARAM_APPNAME);
|
||||
aVar.c = jSONObject.getString("appVersion");
|
||||
aVar.d = jSONObject.getString("bundleId");
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return aVar;
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.harvest.type.a
|
||||
public JSONObject d() {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
try {
|
||||
jSONObject.put(SocialConstants.PARAM_APPNAME, this.b);
|
||||
jSONObject.put("appVersion", this.c);
|
||||
jSONObject.put("bundleId", this.d);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return jSONObject;
|
||||
}
|
||||
|
||||
public a(com.baidu.uaq.agent.android.harvest.bean.a aVar) {
|
||||
this.b = "";
|
||||
this.c = "";
|
||||
this.d = "";
|
||||
this.b = aVar.g();
|
||||
this.c = aVar.e();
|
||||
this.d = aVar.f();
|
||||
}
|
||||
}
|
122
sources/com/baidu/uaq/agent/android/crashes/b.java
Normal file
122
sources/com/baidu/uaq/agent/android/crashes/b.java
Normal file
@@ -0,0 +1,122 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import com.baidu.uaq.agent.android.UAQ;
|
||||
import com.baidu.uaq.agent.android.util.l;
|
||||
import com.ubt.jimu.diy.view.fragment.BuildStepFragment;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* compiled from: Crash.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class b extends com.baidu.uaq.agent.android.harvest.type.d {
|
||||
private static final UAQ l = UAQ.getInstance();
|
||||
private int b;
|
||||
private final UUID c;
|
||||
private final String d;
|
||||
private final long e;
|
||||
private final String f;
|
||||
private final String g;
|
||||
private e h;
|
||||
private a i;
|
||||
private f j;
|
||||
private List<h> k;
|
||||
|
||||
public b(UUID uuid, String str, long j) {
|
||||
this.b = 1;
|
||||
this.c = uuid;
|
||||
this.d = str;
|
||||
this.e = j;
|
||||
this.f = l.getConfig().getAPIKey();
|
||||
this.g = l.getConfig().getCuid();
|
||||
}
|
||||
|
||||
private static Throwable a(Throwable th) {
|
||||
Throwable cause = th.getCause();
|
||||
return cause == null ? th : a(cause);
|
||||
}
|
||||
|
||||
public static b b(String str) {
|
||||
b bVar;
|
||||
JSONObject jSONObject;
|
||||
try {
|
||||
jSONObject = new JSONObject(str);
|
||||
bVar = new b(UUID.fromString(jSONObject.getString(BuildStepFragment.UUID)), jSONObject.getString("buildId"), jSONObject.getLong("timestamp"));
|
||||
} catch (JSONException e) {
|
||||
e = e;
|
||||
bVar = null;
|
||||
}
|
||||
try {
|
||||
bVar.h = e.a(jSONObject.getJSONObject("deviceInfo"));
|
||||
bVar.i = a.a(jSONObject.getJSONObject("appInfo"));
|
||||
bVar.j = f.a(jSONObject.getJSONObject("exception"));
|
||||
bVar.k = h.b(jSONObject.getJSONArray("threads"));
|
||||
} catch (JSONException e2) {
|
||||
e = e2;
|
||||
e.printStackTrace();
|
||||
return bVar;
|
||||
}
|
||||
return bVar;
|
||||
}
|
||||
|
||||
public static String f() {
|
||||
return "";
|
||||
}
|
||||
|
||||
private JSONArray g() {
|
||||
JSONArray jSONArray = new JSONArray();
|
||||
Iterator<h> it = this.k.iterator();
|
||||
while (it.hasNext()) {
|
||||
jSONArray.put(it.next().d());
|
||||
}
|
||||
return jSONArray;
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.harvest.type.a
|
||||
public JSONObject d() {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
try {
|
||||
jSONObject.put("protocolVersion", this.b);
|
||||
jSONObject.put("platform", "Android");
|
||||
jSONObject.put(BuildStepFragment.UUID, this.c.toString());
|
||||
jSONObject.put("buildId", this.d);
|
||||
jSONObject.put("timestamp", Long.valueOf(this.e));
|
||||
jSONObject.put("appToken", this.f);
|
||||
jSONObject.put("cuid", com.baidu.uaq.agent.android.util.e.a(this.g));
|
||||
jSONObject.put("deviceInfo", this.h.d());
|
||||
jSONObject.put("appInfo", this.i.d());
|
||||
jSONObject.put("exception", this.j.d());
|
||||
jSONObject.put("threads", g());
|
||||
jSONObject.put("activityHistory", new JSONArray());
|
||||
com.baidu.uaq.agent.android.harvest.bean.b j = com.baidu.uaq.agent.android.harvest.multiharvest.d.c().j();
|
||||
if (j != null) {
|
||||
jSONObject.put("dataToken", j.a());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return jSONObject;
|
||||
}
|
||||
|
||||
public UUID e() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public b(Throwable th) {
|
||||
this.b = 1;
|
||||
com.baidu.uaq.agent.android.b a = com.baidu.uaq.agent.android.a.a();
|
||||
Throwable a2 = a(th);
|
||||
this.c = new UUID(l.a().nextLong(), l.a().nextLong());
|
||||
this.d = f();
|
||||
this.e = System.currentTimeMillis() / 1000;
|
||||
this.f = l.getConfig().getAPIKey();
|
||||
this.g = l.getConfig().getCuid();
|
||||
this.h = new e(a.a(), a.e());
|
||||
this.i = new a(a.b());
|
||||
this.j = new f(a2);
|
||||
this.k = h.a(a2);
|
||||
}
|
||||
}
|
260
sources/com/baidu/uaq/agent/android/crashes/c.java
Normal file
260
sources/com/baidu/uaq/agent/android/crashes/c.java
Normal file
@@ -0,0 +1,260 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import com.baidu.uaq.agent.android.UAQ;
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.lang.Thread;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.util.Iterator;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
import java.util.concurrent.atomic.AtomicBoolean;
|
||||
|
||||
/* compiled from: CrashReporter.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class c {
|
||||
private static d f;
|
||||
private static ExecutorService h;
|
||||
private Thread.UncaughtExceptionHandler a;
|
||||
private boolean b;
|
||||
private static final com.baidu.uaq.agent.android.logging.a c = com.baidu.uaq.agent.android.logging.b.a();
|
||||
private static final UAQ d = UAQ.getInstance();
|
||||
private static final c e = new c();
|
||||
private static final AtomicBoolean g = new AtomicBoolean(false);
|
||||
|
||||
/* compiled from: CrashReporter.java */
|
||||
private static class a implements Runnable {
|
||||
private final com.baidu.uaq.agent.android.crashes.b a;
|
||||
|
||||
a(com.baidu.uaq.agent.android.crashes.b bVar) {
|
||||
this.a = bVar;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Type inference failed for: r2v22 */
|
||||
/* JADX WARN: Type inference failed for: r2v23 */
|
||||
/* JADX WARN: Type inference failed for: r2v24, types: [java.io.InputStream] */
|
||||
/* JADX WARN: Type inference failed for: r2v26, types: [java.io.InputStream] */
|
||||
/* JADX WARN: Type inference failed for: r2v27 */
|
||||
/* JADX WARN: Type inference failed for: r2v4, types: [java.lang.StringBuilder] */
|
||||
/* JADX WARN: Type inference failed for: r2v5, types: [java.io.InputStream] */
|
||||
/* JADX WARN: Type inference failed for: r2v6 */
|
||||
/* JADX WARN: Type inference failed for: r2v7 */
|
||||
/* JADX WARN: Type inference failed for: r2v8, types: [java.io.InputStream] */
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
HttpURLConnection httpURLConnection;
|
||||
String str = c.d.getConfig().isUseSsl() ? "https://" : "http://";
|
||||
String str2 = ":" + c.d.getConfig().getCollectorPort();
|
||||
?? sb = new StringBuilder();
|
||||
sb.append(str);
|
||||
sb.append(c.d.getConfig().getCollectorHost());
|
||||
sb.append(str2);
|
||||
sb.append("/sdk_push_crash");
|
||||
String sb2 = sb.toString();
|
||||
InputStreamReader inputStreamReader = null;
|
||||
try {
|
||||
try {
|
||||
try {
|
||||
c.c.d("Crash url = " + sb2);
|
||||
httpURLConnection = (HttpURLConnection) new URL(sb2).openConnection();
|
||||
} catch (Exception e) {
|
||||
e = e;
|
||||
sb = 0;
|
||||
} catch (Throwable th) {
|
||||
th = th;
|
||||
sb = 0;
|
||||
}
|
||||
if (httpURLConnection == null) {
|
||||
c.c.d("connection is null when send crash data!");
|
||||
return;
|
||||
}
|
||||
httpURLConnection.setConnectTimeout(5000);
|
||||
httpURLConnection.setRequestMethod("POST");
|
||||
httpURLConnection.setDoInput(true);
|
||||
httpURLConnection.setDoOutput(true);
|
||||
httpURLConnection.setRequestProperty("Content-Type", "application/json");
|
||||
httpURLConnection.setRequestProperty("X-App-License-Key", c.d.getConfig().getAPIKey());
|
||||
httpURLConnection.setRequestProperty("Content-Encoding", "gzip");
|
||||
byte[] a = com.baidu.uaq.agent.android.util.b.a(this.a.c() + "\n", "utf-8");
|
||||
httpURLConnection.setFixedLengthStreamingMode(a.length);
|
||||
httpURLConnection.setRequestProperty("Content-Length", String.valueOf(a.length));
|
||||
OutputStream outputStream = httpURLConnection.getOutputStream();
|
||||
outputStream.write(a);
|
||||
outputStream.flush();
|
||||
outputStream.close();
|
||||
if (httpURLConnection.getResponseCode() == 200) {
|
||||
c.c.d("Crash " + this.a.e().toString() + " successfully submitted.");
|
||||
sb = httpURLConnection.getInputStream();
|
||||
try {
|
||||
InputStreamReader inputStreamReader2 = new InputStreamReader(sb);
|
||||
try {
|
||||
BufferedReader bufferedReader = new BufferedReader(inputStreamReader2);
|
||||
StringBuilder sb3 = new StringBuilder();
|
||||
while (true) {
|
||||
String readLine = bufferedReader.readLine();
|
||||
if (readLine == null) {
|
||||
break;
|
||||
} else {
|
||||
sb3.append(readLine);
|
||||
}
|
||||
}
|
||||
c.c.d("send crash success, response: " + sb3.toString());
|
||||
c.f.b(this.a);
|
||||
inputStreamReader = inputStreamReader2;
|
||||
sb = sb;
|
||||
} catch (Exception e2) {
|
||||
e = e2;
|
||||
inputStreamReader = inputStreamReader2;
|
||||
c.c.a("Unable to report crash to UAQ, will try again later.", e);
|
||||
if (inputStreamReader != null) {
|
||||
try {
|
||||
inputStreamReader.close();
|
||||
} catch (IOException e3) {
|
||||
e3.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (sb != 0) {
|
||||
sb.close();
|
||||
}
|
||||
return;
|
||||
} catch (Throwable th2) {
|
||||
th = th2;
|
||||
inputStreamReader = inputStreamReader2;
|
||||
if (inputStreamReader != null) {
|
||||
try {
|
||||
inputStreamReader.close();
|
||||
} catch (IOException e4) {
|
||||
e4.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (sb == 0) {
|
||||
throw th;
|
||||
}
|
||||
try {
|
||||
sb.close();
|
||||
throw th;
|
||||
} catch (IOException e5) {
|
||||
e5.printStackTrace();
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
} catch (Exception e6) {
|
||||
e = e6;
|
||||
}
|
||||
} else {
|
||||
c.c.a("Something went wrong while submitting a crash (will try again later) - Response code " + httpURLConnection.getResponseCode());
|
||||
sb = 0;
|
||||
}
|
||||
httpURLConnection.disconnect();
|
||||
if (inputStreamReader != null) {
|
||||
try {
|
||||
inputStreamReader.close();
|
||||
} catch (IOException e7) {
|
||||
e7.printStackTrace();
|
||||
}
|
||||
}
|
||||
if (sb != 0) {
|
||||
sb.close();
|
||||
}
|
||||
} catch (IOException e8) {
|
||||
e8.printStackTrace();
|
||||
}
|
||||
} catch (Throwable th3) {
|
||||
th = th3;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* compiled from: CrashReporter.java */
|
||||
private class b implements Thread.UncaughtExceptionHandler {
|
||||
private final AtomicBoolean a;
|
||||
|
||||
private void a(Thread thread, Throwable th) {
|
||||
if (c.this.a != null) {
|
||||
c.c.d("Chaining crash reporting duties to " + c.this.a.getClass().getSimpleName());
|
||||
c.this.a.uncaughtException(thread, th);
|
||||
}
|
||||
}
|
||||
|
||||
@Override // java.lang.Thread.UncaughtExceptionHandler
|
||||
public void uncaughtException(Thread thread, Throwable th) {
|
||||
if (!this.a.compareAndSet(false, true)) {
|
||||
com.baidu.uaq.agent.android.stats.a.b().a("Supportability/AgentHealth/Recursion/UncaughtExceptionHandler");
|
||||
return;
|
||||
}
|
||||
if (!c.d.getConfig().isReportCrashes() || !c.e.b) {
|
||||
c.c.d("A crash has been detected but crash reporting is disabled!");
|
||||
a(thread, th);
|
||||
return;
|
||||
}
|
||||
try {
|
||||
com.baidu.uaq.agent.android.stats.b bVar = new com.baidu.uaq.agent.android.stats.b();
|
||||
bVar.a();
|
||||
c.c.d("A crash has been detected in " + thread.getStackTrace()[0].getClassName() + " and will be reported ASAP.");
|
||||
com.baidu.uaq.agent.android.crashes.b bVar2 = new com.baidu.uaq.agent.android.crashes.b(th);
|
||||
c unused = c.e;
|
||||
c.f.a(bVar2);
|
||||
c.a(bVar2);
|
||||
c.c.d("Crash collection took " + bVar.b() + "ms");
|
||||
a(thread, th);
|
||||
} catch (Throwable unused2) {
|
||||
a(thread, th);
|
||||
}
|
||||
}
|
||||
|
||||
private b() {
|
||||
this.a = new AtomicBoolean(false);
|
||||
}
|
||||
}
|
||||
|
||||
public c() {
|
||||
h = Executors.newCachedThreadPool(new com.baidu.uaq.agent.android.util.g("CrashReporter"));
|
||||
this.b = false;
|
||||
}
|
||||
|
||||
public static void a(d dVar) {
|
||||
e.b = true;
|
||||
if (g.compareAndSet(false, true)) {
|
||||
f = dVar;
|
||||
h.submit(new Runnable() { // from class: com.baidu.uaq.agent.android.crashes.c.1
|
||||
@Override // java.lang.Runnable
|
||||
public void run() {
|
||||
c.e.a();
|
||||
}
|
||||
});
|
||||
e.b();
|
||||
}
|
||||
}
|
||||
|
||||
private void b() {
|
||||
Thread.UncaughtExceptionHandler defaultUncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler();
|
||||
if (defaultUncaughtExceptionHandler == null) {
|
||||
c.d("Installing UAQ crash handler.");
|
||||
} else {
|
||||
if (defaultUncaughtExceptionHandler instanceof b) {
|
||||
c.d("UAQ crash handler already installed.");
|
||||
return;
|
||||
}
|
||||
this.a = defaultUncaughtExceptionHandler;
|
||||
c.d("Installing UAQ crash handler and chaining " + this.a.getClass().getName());
|
||||
}
|
||||
Thread.setDefaultUncaughtExceptionHandler(new b());
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public void a() {
|
||||
c.d("reportSavedCrashes, size=" + f.b());
|
||||
Iterator<com.baidu.uaq.agent.android.crashes.b> it = f.a().iterator();
|
||||
while (it.hasNext()) {
|
||||
a(it.next());
|
||||
}
|
||||
}
|
||||
|
||||
public static void a(com.baidu.uaq.agent.android.crashes.b bVar) {
|
||||
h.submit(new a(bVar));
|
||||
}
|
||||
}
|
15
sources/com/baidu/uaq/agent/android/crashes/d.java
Normal file
15
sources/com/baidu/uaq/agent/android/crashes/d.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/* compiled from: CrashStore.java */
|
||||
/* loaded from: classes.dex */
|
||||
public interface d {
|
||||
List<b> a();
|
||||
|
||||
void a(b bVar);
|
||||
|
||||
int b();
|
||||
|
||||
void b(b bVar);
|
||||
}
|
104
sources/com/baidu/uaq/agent/android/crashes/e.java
Normal file
104
sources/com/baidu/uaq/agent/android/crashes/e.java
Normal file
@@ -0,0 +1,104 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import com.unity3d.ads.adunit.AdUnitActivity;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* compiled from: DeviceInfo.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class e extends com.baidu.uaq.agent.android.harvest.type.d {
|
||||
private long b;
|
||||
private int c;
|
||||
private String d;
|
||||
private long[] e;
|
||||
private String f;
|
||||
private String g;
|
||||
private String h;
|
||||
private String i;
|
||||
private String j;
|
||||
private String k;
|
||||
private String l;
|
||||
private String m;
|
||||
|
||||
public e() {
|
||||
}
|
||||
|
||||
public static e a(JSONObject jSONObject) {
|
||||
e eVar = new e();
|
||||
try {
|
||||
eVar.b = jSONObject.getLong("memoryUsage");
|
||||
eVar.c = jSONObject.getInt(AdUnitActivity.EXTRA_ORIENTATION);
|
||||
eVar.d = jSONObject.getString("networkStatus");
|
||||
eVar.e = a(jSONObject.getJSONArray("diskAvailable"));
|
||||
eVar.f = jSONObject.getString("OSVersion");
|
||||
eVar.g = jSONObject.getString("deviceName");
|
||||
eVar.h = jSONObject.getString("OSBuild");
|
||||
eVar.i = jSONObject.getString("architecture");
|
||||
eVar.m = jSONObject.getString("runTime");
|
||||
eVar.j = jSONObject.getString("modelNumber");
|
||||
eVar.k = jSONObject.getString("screenResolution");
|
||||
eVar.l = jSONObject.getString("deviceUuid");
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return eVar;
|
||||
}
|
||||
|
||||
private JSONArray e() {
|
||||
JSONArray jSONArray = new JSONArray();
|
||||
for (long j : this.e) {
|
||||
jSONArray.put(Long.valueOf(j));
|
||||
}
|
||||
return jSONArray;
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.harvest.type.a
|
||||
public JSONObject d() {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
try {
|
||||
jSONObject.put("memoryUsage", Long.valueOf(this.b));
|
||||
jSONObject.put(AdUnitActivity.EXTRA_ORIENTATION, Integer.valueOf(this.c));
|
||||
jSONObject.put("networkStatus", this.d);
|
||||
jSONObject.put("diskAvailable", e());
|
||||
jSONObject.put("OSVersion", this.f);
|
||||
jSONObject.put("deviceName", this.g);
|
||||
jSONObject.put("OSBuild", this.h);
|
||||
jSONObject.put("architecture", this.i);
|
||||
jSONObject.put("runTime", this.m);
|
||||
jSONObject.put("modelNumber", this.j);
|
||||
jSONObject.put("screenResolution", this.k);
|
||||
jSONObject.put("deviceUuid", this.l);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return jSONObject;
|
||||
}
|
||||
|
||||
public e(com.baidu.uaq.agent.android.harvest.bean.c cVar, com.baidu.uaq.agent.android.harvest.bean.d dVar) {
|
||||
this.b = dVar.a();
|
||||
this.c = dVar.d();
|
||||
this.d = dVar.b();
|
||||
this.e = dVar.c();
|
||||
this.f = cVar.e();
|
||||
this.g = cVar.m();
|
||||
this.h = cVar.i();
|
||||
this.i = cVar.f();
|
||||
this.j = cVar.n();
|
||||
this.k = cVar.h();
|
||||
this.l = cVar.l();
|
||||
this.m = cVar.g();
|
||||
}
|
||||
|
||||
private static long[] a(JSONArray jSONArray) {
|
||||
long[] jArr = new long[jSONArray.length()];
|
||||
for (int i = 0; i < jSONArray.length(); i++) {
|
||||
try {
|
||||
jArr[i] = jSONArray.getLong(i);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return jArr;
|
||||
}
|
||||
}
|
47
sources/com/baidu/uaq/agent/android/crashes/f.java
Normal file
47
sources/com/baidu/uaq/agent/android/crashes/f.java
Normal file
@@ -0,0 +1,47 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import com.unity3d.ads.metadata.MediationMetaData;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* compiled from: ExceptionInfo.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class f extends com.baidu.uaq.agent.android.harvest.type.d {
|
||||
private String b;
|
||||
private String c;
|
||||
|
||||
public f() {
|
||||
}
|
||||
|
||||
public static f a(JSONObject jSONObject) {
|
||||
f fVar = new f();
|
||||
try {
|
||||
fVar.b = jSONObject.getString(MediationMetaData.KEY_NAME);
|
||||
fVar.c = jSONObject.getString("cause");
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return fVar;
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.harvest.type.a
|
||||
public JSONObject d() {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
try {
|
||||
jSONObject.put(MediationMetaData.KEY_NAME, this.b);
|
||||
jSONObject.put("cause", this.c);
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return jSONObject;
|
||||
}
|
||||
|
||||
public f(Throwable th) {
|
||||
this.b = th.getClass().getName();
|
||||
if (th.getMessage() != null) {
|
||||
this.c = th.getMessage();
|
||||
} else {
|
||||
this.c = "";
|
||||
}
|
||||
}
|
||||
}
|
61
sources/com/baidu/uaq/agent/android/crashes/g.java
Normal file
61
sources/com/baidu/uaq/agent/android/crashes/g.java
Normal file
@@ -0,0 +1,61 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/* compiled from: JsonCrashStore.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class g implements d {
|
||||
private static final com.baidu.uaq.agent.android.logging.a b = com.baidu.uaq.agent.android.logging.b.a();
|
||||
private final Context a;
|
||||
|
||||
public g(Context context) {
|
||||
this.a = context;
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.crashes.d
|
||||
public void a(b bVar) {
|
||||
synchronized (this) {
|
||||
SharedPreferences.Editor edit = this.a.getSharedPreferences("APMCrashStore", 0).edit();
|
||||
edit.putString(bVar.e().toString(), bVar.c());
|
||||
edit.commit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.crashes.d
|
||||
public int b() {
|
||||
return this.a.getSharedPreferences("APMCrashStore", 0).getAll().size();
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.crashes.d
|
||||
public void b(b bVar) {
|
||||
synchronized (this) {
|
||||
SharedPreferences.Editor edit = this.a.getSharedPreferences("APMCrashStore", 0).edit();
|
||||
edit.remove(bVar.e().toString());
|
||||
edit.commit();
|
||||
}
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.crashes.d
|
||||
public List<b> a() {
|
||||
Map<String, ?> all;
|
||||
SharedPreferences sharedPreferences = this.a.getSharedPreferences("APMCrashStore", 0);
|
||||
ArrayList arrayList = new ArrayList();
|
||||
synchronized (this) {
|
||||
all = sharedPreferences.getAll();
|
||||
}
|
||||
for (Object obj : all.values()) {
|
||||
if (obj instanceof String) {
|
||||
try {
|
||||
arrayList.add(b.b((String) obj));
|
||||
} catch (Exception e) {
|
||||
b.a("Exception encountered while deserializing crash", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
}
|
144
sources/com/baidu/uaq/agent/android/crashes/h.java
Normal file
144
sources/com/baidu/uaq/agent/android/crashes/h.java
Normal file
@@ -0,0 +1,144 @@
|
||||
package com.baidu.uaq.agent.android.crashes;
|
||||
|
||||
import com.ubt.jimu.diy.model.CategoryModel;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
/* compiled from: ThreadInfo.java */
|
||||
/* loaded from: classes.dex */
|
||||
public class h extends com.baidu.uaq.agent.android.harvest.type.d {
|
||||
private boolean b;
|
||||
private long c;
|
||||
private String d;
|
||||
private int e;
|
||||
private StackTraceElement[] f;
|
||||
private String g;
|
||||
|
||||
private h() {
|
||||
}
|
||||
|
||||
public static List<h> a(Throwable th) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
h hVar = new h(th);
|
||||
long e = hVar.e();
|
||||
arrayList.add(hVar);
|
||||
for (Map.Entry<Thread, StackTraceElement[]> entry : Thread.getAllStackTraces().entrySet()) {
|
||||
Thread key = entry.getKey();
|
||||
StackTraceElement[] value = entry.getValue();
|
||||
if (key.getId() != e) {
|
||||
arrayList.add(new h(key, value));
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
public static List<h> b(JSONArray jSONArray) {
|
||||
ArrayList arrayList = new ArrayList();
|
||||
for (int i = 0; i < jSONArray.length(); i++) {
|
||||
try {
|
||||
arrayList.add(a(jSONArray.getJSONObject(i)));
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
private JSONArray f() {
|
||||
JSONArray jSONArray = new JSONArray();
|
||||
for (StackTraceElement stackTraceElement : this.f) {
|
||||
try {
|
||||
if (stackTraceElement != null) {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
if (stackTraceElement.getFileName() != null) {
|
||||
jSONObject.put("fileName", stackTraceElement.getFileName());
|
||||
}
|
||||
jSONObject.put("className", stackTraceElement.getClassName());
|
||||
jSONObject.put("methodName", stackTraceElement.getMethodName());
|
||||
jSONObject.put("lineNumber", Integer.valueOf(stackTraceElement.getLineNumber()));
|
||||
jSONArray.put(jSONObject);
|
||||
}
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return jSONArray;
|
||||
}
|
||||
|
||||
@Override // com.baidu.uaq.agent.android.harvest.type.a
|
||||
public JSONObject d() {
|
||||
JSONObject jSONObject = new JSONObject();
|
||||
try {
|
||||
jSONObject.put("crashed", Boolean.valueOf(this.b));
|
||||
jSONObject.put("state", this.g);
|
||||
jSONObject.put("threadNumber", Long.valueOf(this.c));
|
||||
jSONObject.put("threadId", this.d);
|
||||
jSONObject.put("priority", Integer.valueOf(this.e));
|
||||
jSONObject.put("stack", f());
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return jSONObject;
|
||||
}
|
||||
|
||||
public long e() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public h(Throwable th) {
|
||||
this.b = true;
|
||||
this.c = Thread.currentThread().getId();
|
||||
this.d = Thread.currentThread().getName();
|
||||
this.e = Thread.currentThread().getPriority();
|
||||
this.f = th.getStackTrace();
|
||||
this.g = Thread.currentThread().getState().toString();
|
||||
}
|
||||
|
||||
public h(Thread thread, StackTraceElement[] stackTraceElementArr) {
|
||||
this.b = false;
|
||||
this.c = thread.getId();
|
||||
this.d = thread.getName();
|
||||
this.e = thread.getPriority();
|
||||
this.f = stackTraceElementArr;
|
||||
this.g = thread.getState().toString();
|
||||
}
|
||||
|
||||
public static h a(JSONObject jSONObject) {
|
||||
h hVar = new h();
|
||||
try {
|
||||
hVar.b = jSONObject.getBoolean("crashed");
|
||||
hVar.g = jSONObject.getString("state");
|
||||
hVar.c = jSONObject.getLong("threadNumber");
|
||||
hVar.d = jSONObject.getString("threadId");
|
||||
hVar.e = jSONObject.getInt("priority");
|
||||
hVar.f = a(jSONObject.getJSONArray("stack"));
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return hVar;
|
||||
}
|
||||
|
||||
public static StackTraceElement[] a(JSONArray jSONArray) {
|
||||
StackTraceElement[] stackTraceElementArr = new StackTraceElement[jSONArray.length()];
|
||||
int i = 0;
|
||||
while (i < jSONArray.length()) {
|
||||
try {
|
||||
String str = CategoryModel.unknown;
|
||||
if (jSONArray.getJSONObject(i).optString("fileName") != null) {
|
||||
str = jSONArray.getJSONObject(i).optString("fileName");
|
||||
}
|
||||
StackTraceElement stackTraceElement = new StackTraceElement(jSONArray.getJSONObject(i).getString("className"), jSONArray.getJSONObject(i).getString("methodName"), str, jSONArray.getJSONObject(i).getInt("lineNumber"));
|
||||
int i2 = i + 1;
|
||||
stackTraceElementArr[i] = stackTraceElement;
|
||||
i = i2 + 1;
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return stackTraceElementArr;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user