package com.tencent.bugly.crashreport.crash; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.text.TextUtils; import com.liulishuo.filedownloader.model.FileDownloadModel; import com.tencent.bugly.BuglyStrategy; import com.tencent.bugly.crashreport.common.info.PlugInBean; import com.tencent.bugly.crashreport.common.strategy.StrategyBean; import com.tencent.bugly.proguard.ak; import com.tencent.bugly.proguard.am; import com.tencent.bugly.proguard.an; import com.tencent.bugly.proguard.o; import com.tencent.bugly.proguard.p; import com.tencent.bugly.proguard.r; import com.tencent.bugly.proguard.u; import com.tencent.bugly.proguard.x; import com.tencent.bugly.proguard.z; import com.ubt.jimu.base.util.FileUtil; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.regex.Pattern; /* compiled from: BUGLY */ /* loaded from: classes.dex */ public final class b { private static int a; private Context b; private u c; private p d; private com.tencent.bugly.crashreport.common.strategy.a e; private o f; private BuglyStrategy.a g; public b(int i, Context context, u uVar, p pVar, com.tencent.bugly.crashreport.common.strategy.a aVar, BuglyStrategy.a aVar2, o oVar) { a = i; this.b = context; this.c = uVar; this.d = pVar; this.e = aVar; this.g = aVar2; this.f = oVar; } private static List a(List list) { if (list == null || list.size() == 0) { return null; } long currentTimeMillis = System.currentTimeMillis(); ArrayList arrayList = new ArrayList(); for (a aVar : list) { if (aVar.d && aVar.b <= currentTimeMillis - 86400000) { arrayList.add(aVar); } } return arrayList; } private static ContentValues e(CrashDetailBean crashDetailBean) { if (crashDetailBean == null) { return null; } try { ContentValues contentValues = new ContentValues(); if (crashDetailBean.a > 0) { contentValues.put(FileDownloadModel.ID, Long.valueOf(crashDetailBean.a)); } contentValues.put("_tm", Long.valueOf(crashDetailBean.r)); contentValues.put("_s1", crashDetailBean.u); int i = 1; contentValues.put("_up", Integer.valueOf(crashDetailBean.d ? 1 : 0)); if (!crashDetailBean.j) { i = 0; } contentValues.put("_me", Integer.valueOf(i)); contentValues.put("_uc", Integer.valueOf(crashDetailBean.l)); contentValues.put("_dt", z.a(crashDetailBean)); return contentValues; } catch (Throwable th) { if (!x.a(th)) { th.printStackTrace(); } return null; } } public final void b(CrashDetailBean crashDetailBean) { if (this.f != null) { x.c("Calling 'onCrashHandleEnd' of RQD crash listener.", new Object[0]); int i = crashDetailBean.b; } } public final void c(CrashDetailBean crashDetailBean) { int i; Map map; String str; HashMap hashMap; if (crashDetailBean == null) { return; } if (this.g == null && this.f == null) { return; } try { x.a("[crash callback] start user's callback:onCrashHandleStart()", new Object[0]); switch (crashDetailBean.b) { case 0: i = 0; break; case 1: i = 2; break; case 2: i = 1; break; case 3: i = 4; break; case 4: i = 3; break; case 5: i = 5; break; case 6: i = 6; break; case 7: i = 7; break; default: return; } int i2 = crashDetailBean.b; String str2 = crashDetailBean.n; String str3 = crashDetailBean.p; String str4 = crashDetailBean.q; long j = crashDetailBean.r; byte[] bArr = null; if (this.f != null) { x.c("Calling 'onCrashHandleStart' of RQD crash listener.", new Object[0]); x.c("Calling 'getCrashExtraMessage' of RQD crash listener.", new Object[0]); String b = this.f.b(); if (b != null) { hashMap = new HashMap(1); hashMap.put("userData", b); } else { hashMap = null; } map = hashMap; } else if (this.g != null) { x.c("Calling 'onCrashHandleStart' of Bugly crash listener.", new Object[0]); map = this.g.onCrashHandleStart(i, crashDetailBean.n, crashDetailBean.o, crashDetailBean.q); } else { map = null; } if (map != null && map.size() > 0) { crashDetailBean.O = new LinkedHashMap(map.size()); for (Map.Entry entry : map.entrySet()) { if (!z.a(entry.getKey())) { String key = entry.getKey(); if (key.length() > 100) { key = key.substring(0, 100); x.d("setted key length is over limit %d substring to %s", 100, key); } if (z.a(entry.getValue()) || entry.getValue().length() <= 30000) { str = entry.getValue(); } else { str = entry.getValue().substring(entry.getValue().length() - BuglyStrategy.a.MAX_USERDATA_VALUE_LENGTH); x.d("setted %s value length is over limit %d substring", key, Integer.valueOf(BuglyStrategy.a.MAX_USERDATA_VALUE_LENGTH)); } crashDetailBean.O.put(key, str); x.a("add setted key %s value size:%d", key, Integer.valueOf(str.length())); } } } x.a("[crash callback] start user's callback:onCrashHandleStart2GetExtraDatas()", new Object[0]); if (this.f != null) { x.c("Calling 'getCrashExtraData' of RQD crash listener.", new Object[0]); bArr = this.f.a(); } else if (this.g != null) { x.c("Calling 'onCrashHandleStart2GetExtraDatas' of Bugly crash listener.", new Object[0]); bArr = this.g.onCrashHandleStart2GetExtraDatas(i, crashDetailBean.n, crashDetailBean.o, crashDetailBean.q); } crashDetailBean.T = bArr; if (bArr != null) { if (bArr.length > 30000) { x.d("extra bytes size %d is over limit %d will drop over part", Integer.valueOf(bArr.length), Integer.valueOf(BuglyStrategy.a.MAX_USERDATA_VALUE_LENGTH)); crashDetailBean.T = Arrays.copyOf(bArr, BuglyStrategy.a.MAX_USERDATA_VALUE_LENGTH); } x.a("add extra bytes %d ", Integer.valueOf(bArr.length)); } } catch (Throwable th) { x.d("crash handle callback something wrong! %s", th.getClass().getName()); if (x.a(th)) { return; } th.printStackTrace(); } } public final void d(CrashDetailBean crashDetailBean) { ContentValues e; if (crashDetailBean == null || (e = e(crashDetailBean)) == null) { return; } long a2 = p.a().a("t_cr", e, (o) null, true); if (a2 >= 0) { x.c("insert %s success!", "t_cr"); crashDetailBean.a = a2; } } private List b(List list) { Cursor cursor; if (list == null || list.size() == 0) { return null; } StringBuilder sb = new StringBuilder(); sb.append("_id in "); sb.append("("); Iterator it = list.iterator(); while (it.hasNext()) { sb.append(it.next().a); sb.append(","); } StringBuilder sb2 = sb.toString().contains(",") ? new StringBuilder(sb.substring(0, sb.lastIndexOf(","))) : sb; sb2.append(")"); String sb3 = sb2.toString(); sb2.setLength(0); try { cursor = p.a().a("t_cr", null, sb3, null, null, true); if (cursor == null) { return null; } try { ArrayList arrayList = new ArrayList(); sb2.append("_id in "); sb2.append("("); int i = 0; while (cursor.moveToNext()) { CrashDetailBean a2 = a(cursor); if (a2 != null) { arrayList.add(a2); } else { try { sb2.append(cursor.getLong(cursor.getColumnIndex(FileDownloadModel.ID))); sb2.append(","); i++; } catch (Throwable unused) { x.d("unknown id!", new Object[0]); } } } if (sb2.toString().contains(",")) { sb2 = new StringBuilder(sb2.substring(0, sb2.lastIndexOf(","))); } sb2.append(")"); String sb4 = sb2.toString(); if (i > 0) { x.d("deleted %s illegal data %d", "t_cr", Integer.valueOf(p.a().a("t_cr", sb4, (String[]) null, (o) null, true))); } if (cursor != null) { cursor.close(); } return arrayList; } catch (Throwable th) { th = th; try { if (!x.a(th)) { th.printStackTrace(); } if (cursor != null) { cursor.close(); } return null; } finally { if (cursor != null) { cursor.close(); } } } } catch (Throwable th2) { th = th2; cursor = null; } } private static void d(List list) { if (list != null) { try { if (list.size() == 0) { return; } StringBuilder sb = new StringBuilder(); for (CrashDetailBean crashDetailBean : list) { sb.append(" or _id"); sb.append(" = "); sb.append(crashDetailBean.a); } String sb2 = sb.toString(); if (sb2.length() > 0) { sb2 = sb2.substring(4); } sb.setLength(0); x.c("deleted %s data %d", "t_cr", Integer.valueOf(p.a().a("t_cr", sb2, (String[]) null, (o) null, true))); } catch (Throwable th) { if (x.a(th)) { return; } th.printStackTrace(); } } } private CrashDetailBean a(List list, CrashDetailBean crashDetailBean) { List b; String[] split; if (list == null || list.size() == 0) { return crashDetailBean; } CrashDetailBean crashDetailBean2 = null; ArrayList arrayList = new ArrayList(10); for (a aVar : list) { if (aVar.e) { arrayList.add(aVar); } } if (arrayList.size() > 0 && (b = b(arrayList)) != null && b.size() > 0) { Collections.sort(b); CrashDetailBean crashDetailBean3 = null; for (int i = 0; i < b.size(); i++) { CrashDetailBean crashDetailBean4 = b.get(i); if (i == 0) { crashDetailBean3 = crashDetailBean4; } else { String str = crashDetailBean4.s; if (str != null && (split = str.split("\n")) != null) { for (String str2 : split) { if (!crashDetailBean3.s.contains(str2)) { crashDetailBean3.t++; crashDetailBean3.s += str2 + "\n"; } } } } } crashDetailBean2 = crashDetailBean3; } if (crashDetailBean2 == null) { crashDetailBean.j = true; crashDetailBean.t = 0; crashDetailBean.s = ""; crashDetailBean2 = crashDetailBean; } for (a aVar2 : list) { if (!aVar2.e && !aVar2.d) { String str3 = crashDetailBean2.s; StringBuilder sb = new StringBuilder(); sb.append(aVar2.b); if (!str3.contains(sb.toString())) { crashDetailBean2.t++; crashDetailBean2.s += aVar2.b + "\n"; } } } if (crashDetailBean2.r != crashDetailBean.r) { String str4 = crashDetailBean2.s; StringBuilder sb2 = new StringBuilder(); sb2.append(crashDetailBean.r); if (!str4.contains(sb2.toString())) { crashDetailBean2.t++; crashDetailBean2.s += crashDetailBean.r + "\n"; } } return crashDetailBean2; } private static a b(Cursor cursor) { if (cursor == null) { return null; } try { a aVar = new a(); aVar.a = cursor.getLong(cursor.getColumnIndex(FileDownloadModel.ID)); aVar.b = cursor.getLong(cursor.getColumnIndex("_tm")); aVar.c = cursor.getString(cursor.getColumnIndex("_s1")); aVar.d = cursor.getInt(cursor.getColumnIndex("_up")) == 1; aVar.e = cursor.getInt(cursor.getColumnIndex("_me")) == 1; aVar.f = cursor.getInt(cursor.getColumnIndex("_uc")); return aVar; } catch (Throwable th) { if (!x.a(th)) { th.printStackTrace(); } return null; } } public final boolean a(CrashDetailBean crashDetailBean) { return a(crashDetailBean, -123456789); } public final boolean a(CrashDetailBean crashDetailBean, int i) { if (crashDetailBean == null) { return true; } String str = c.n; if (str != null && !str.isEmpty()) { x.c("Crash filter for crash stack is: %s", c.n); if (crashDetailBean.q.contains(c.n)) { x.d("This crash contains the filter string set. It will not be record and upload.", new Object[0]); return true; } } String str2 = c.o; if (str2 != null && !str2.isEmpty()) { x.c("Crash regular filter for crash stack is: %s", c.o); if (Pattern.compile(c.o).matcher(crashDetailBean.q).find()) { x.d("This crash matches the regular filter string set. It will not be record and upload.", new Object[0]); return true; } } int i2 = crashDetailBean.b; String str3 = crashDetailBean.n; String str4 = crashDetailBean.o; String str5 = crashDetailBean.p; String str6 = crashDetailBean.q; long j = crashDetailBean.r; String str7 = crashDetailBean.m; String str8 = crashDetailBean.e; String str9 = crashDetailBean.c; String str10 = crashDetailBean.A; String str11 = crashDetailBean.B; if (this.f != null) { x.c("Calling 'onCrashSaving' of RQD crash listener.", new Object[0]); if (!this.f.c()) { x.d("Crash listener 'onCrashSaving' return 'false' thus will not handle this crash.", new Object[0]); return true; } } if (crashDetailBean.b != 2) { r rVar = new r(); rVar.b = 1; rVar.c = crashDetailBean.A; rVar.d = crashDetailBean.B; rVar.e = crashDetailBean.r; this.d.b(1); this.d.a(rVar); x.b("[crash] a crash occur, handling...", new Object[0]); } else { x.b("[crash] a caught exception occur, handling...", new Object[0]); } List b = b(); ArrayList arrayList = null; if (b != null && b.size() > 0) { arrayList = new ArrayList(10); ArrayList arrayList2 = new ArrayList(10); arrayList.addAll(a(b)); b.removeAll(arrayList); if (b.size() > 20) { StringBuilder sb = new StringBuilder(); sb.append("_id in "); sb.append("("); sb.append("SELECT _id"); sb.append(" FROM t_cr"); sb.append(" order by _id"); sb.append(" limit 5"); sb.append(")"); String sb2 = sb.toString(); sb.setLength(0); try { x.c("deleted first record %s data %d", "t_cr", Integer.valueOf(p.a().a("t_cr", sb2, (String[]) null, (o) null, true))); } catch (Throwable th) { if (!x.a(th)) { th.printStackTrace(); } } } if (!com.tencent.bugly.b.c && c.d) { boolean z = false; for (a aVar : b) { if (crashDetailBean.u.equals(aVar.c)) { if (aVar.e) { z = true; } arrayList2.add(aVar); } } if (z || arrayList2.size() >= c.c) { x.a("same crash occur too much do merged!", new Object[0]); CrashDetailBean a2 = a(arrayList2, crashDetailBean); for (a aVar2 : arrayList2) { if (aVar2.a != a2.a) { arrayList.add(aVar2); } } d(a2); c(arrayList); x.b("[crash] save crash success. For this device crash many times, it will not upload crashes immediately", new Object[0]); return true; } } } d(crashDetailBean); if (arrayList != null && !arrayList.isEmpty()) { c(arrayList); } x.b("[crash] save crash success", new Object[0]); return false; } private List b() { Cursor cursor; ArrayList arrayList = new ArrayList(); try { cursor = p.a().a("t_cr", new String[]{FileDownloadModel.ID, "_tm", "_s1", "_up", "_me", "_uc"}, null, null, null, true); if (cursor == null) { return null; } try { StringBuilder sb = new StringBuilder(); sb.append("_id in "); sb.append("("); int i = 0; while (cursor.moveToNext()) { a b = b(cursor); if (b != null) { arrayList.add(b); } else { try { sb.append(cursor.getLong(cursor.getColumnIndex(FileDownloadModel.ID))); sb.append(","); i++; } catch (Throwable unused) { x.d("unknown id!", new Object[0]); } } } if (sb.toString().contains(",")) { sb = new StringBuilder(sb.substring(0, sb.lastIndexOf(","))); } sb.append(")"); String sb2 = sb.toString(); sb.setLength(0); if (i > 0) { x.d("deleted %s illegal data %d", "t_cr", Integer.valueOf(p.a().a("t_cr", sb2, (String[]) null, (o) null, true))); } if (cursor != null) { cursor.close(); } return arrayList; } catch (Throwable th) { th = th; try { if (!x.a(th)) { th.printStackTrace(); } if (cursor != null) { cursor.close(); } return arrayList; } finally { if (cursor != null) { cursor.close(); } } } } catch (Throwable th2) { th = th2; cursor = null; } } private static void c(List list) { if (list == null || list.size() == 0) { return; } StringBuilder sb = new StringBuilder(); sb.append("_id in "); sb.append("("); Iterator it = list.iterator(); while (it.hasNext()) { sb.append(it.next().a); sb.append(","); } StringBuilder sb2 = new StringBuilder(sb.substring(0, sb.lastIndexOf(","))); sb2.append(")"); String sb3 = sb2.toString(); sb2.setLength(0); try { x.c("deleted %s data %d", "t_cr", Integer.valueOf(p.a().a("t_cr", sb3, (String[]) null, (o) null, true))); } catch (Throwable th) { if (x.a(th)) { return; } th.printStackTrace(); } } public final List a() { StrategyBean c = com.tencent.bugly.crashreport.common.strategy.a.a().c(); if (c == null) { x.d("have not synced remote!", new Object[0]); return null; } if (!c.g) { x.d("Crashreport remote closed, please check your APP ID correct and Version available, then uninstall and reinstall your app.", new Object[0]); x.b("[init] WARNING! Crashreport closed by server, please check your APP ID correct and Version available, then uninstall and reinstall your app.", new Object[0]); return null; } long currentTimeMillis = System.currentTimeMillis(); long b = z.b(); List b2 = b(); x.c("Size of crash list loaded from DB: %s", Integer.valueOf(b2.size())); if (b2 == null || b2.size() <= 0) { return null; } ArrayList arrayList = new ArrayList(); arrayList.addAll(a(b2)); b2.removeAll(arrayList); Iterator it = b2.iterator(); while (it.hasNext()) { a next = it.next(); long j = next.b; if (j < b - c.g) { it.remove(); arrayList.add(next); } else if (next.d) { if (j >= currentTimeMillis - 86400000) { it.remove(); } else if (!next.e) { it.remove(); arrayList.add(next); } } else if (next.f >= 3 && j < currentTimeMillis - 86400000) { it.remove(); arrayList.add(next); } } if (arrayList.size() > 0) { c(arrayList); } ArrayList arrayList2 = new ArrayList(); List b3 = b(b2); if (b3 != null && b3.size() > 0) { String str = com.tencent.bugly.crashreport.common.info.a.b().j; Iterator it2 = b3.iterator(); while (it2.hasNext()) { CrashDetailBean next2 = it2.next(); if (!str.equals(next2.f)) { it2.remove(); arrayList2.add(next2); } } } if (arrayList2.size() > 0) { d(arrayList2); } return b3; } public final void a(CrashDetailBean crashDetailBean, long j, boolean z) { if (c.l) { x.a("try to upload right now", new Object[0]); ArrayList arrayList = new ArrayList(); arrayList.add(crashDetailBean); a(arrayList, 3000L, z, crashDetailBean.b == 7, z); } } /* JADX WARN: Removed duplicated region for block: B:42:0x00a7 A[Catch: all -> 0x00e9, TryCatch #0 {all -> 0x00e9, blocks: (B:20:0x0041, B:22:0x0047, B:23:0x004c, B:25:0x0053, B:26:0x0058, B:29:0x0064, B:32:0x006e, B:36:0x0077, B:37:0x0087, B:39:0x008d, B:42:0x00a7, B:44:0x00af, B:46:0x00b5, B:48:0x00bd, B:50:0x00c5, B:52:0x00cd, B:54:0x00d4, B:56:0x00e0, B:58:0x009d, B:60:0x0056, B:61:0x004a), top: B:19:0x0041 }] */ /* JADX WARN: Removed duplicated region for block: B:44:0x00af A[Catch: all -> 0x00e9, TryCatch #0 {all -> 0x00e9, blocks: (B:20:0x0041, B:22:0x0047, B:23:0x004c, B:25:0x0053, B:26:0x0058, B:29:0x0064, B:32:0x006e, B:36:0x0077, B:37:0x0087, B:39:0x008d, B:42:0x00a7, B:44:0x00af, B:46:0x00b5, B:48:0x00bd, B:50:0x00c5, B:52:0x00cd, B:54:0x00d4, B:56:0x00e0, B:58:0x009d, B:60:0x0056, B:61:0x004a), top: B:19:0x0041 }] */ /* Code decompiled incorrectly, please refer to instructions dump. To view partially-correct code enable 'Show inconsistent code' option in preferences */ public final void a(final java.util.List r15, long r16, boolean r18, boolean r19, boolean r20) { /* Method dump skipped, instructions count: 258 To view this dump change 'Code comments level' option to 'DEBUG' */ throw new UnsupportedOperationException("Method not decompiled: com.tencent.bugly.crashreport.crash.b.a(java.util.List, long, boolean, boolean, boolean):void"); } public static void a(boolean z, List list) { if (list != null && list.size() > 0) { x.c("up finish update state %b", Boolean.valueOf(z)); for (CrashDetailBean crashDetailBean : list) { x.c("pre uid:%s uc:%d re:%b me:%b", crashDetailBean.c, Integer.valueOf(crashDetailBean.l), Boolean.valueOf(crashDetailBean.d), Boolean.valueOf(crashDetailBean.j)); crashDetailBean.l++; crashDetailBean.d = z; x.c("set uid:%s uc:%d re:%b me:%b", crashDetailBean.c, Integer.valueOf(crashDetailBean.l), Boolean.valueOf(crashDetailBean.d), Boolean.valueOf(crashDetailBean.j)); } Iterator it = list.iterator(); while (it.hasNext()) { c.a().a(it.next()); } x.c("update state size %d", Integer.valueOf(list.size())); } if (z) { return; } x.b("[crash] upload fail.", new Object[0]); } private static CrashDetailBean a(Cursor cursor) { if (cursor == null) { return null; } try { byte[] blob = cursor.getBlob(cursor.getColumnIndex("_dt")); if (blob == null) { return null; } long j = cursor.getLong(cursor.getColumnIndex(FileDownloadModel.ID)); CrashDetailBean crashDetailBean = (CrashDetailBean) z.a(blob, CrashDetailBean.CREATOR); if (crashDetailBean != null) { crashDetailBean.a = j; } return crashDetailBean; } catch (Throwable th) { if (!x.a(th)) { th.printStackTrace(); } return null; } } private static an a(Context context, CrashDetailBean crashDetailBean, com.tencent.bugly.crashreport.common.info.a aVar) { am a2; am a3; am amVar; if (context != null && crashDetailBean != null && aVar != null) { an anVar = new an(); int i = crashDetailBean.b; switch (i) { case 0: anVar.a = crashDetailBean.j ? "200" : "100"; break; case 1: anVar.a = crashDetailBean.j ? "201" : "101"; break; case 2: anVar.a = crashDetailBean.j ? "202" : "102"; break; case 3: anVar.a = crashDetailBean.j ? "203" : "103"; break; case 4: anVar.a = crashDetailBean.j ? "204" : "104"; break; case 5: anVar.a = crashDetailBean.j ? "207" : "107"; break; case 6: anVar.a = crashDetailBean.j ? "206" : "106"; break; case 7: anVar.a = crashDetailBean.j ? "208" : "108"; break; default: x.e("crash type error! %d", Integer.valueOf(i)); break; } anVar.b = crashDetailBean.r; anVar.c = crashDetailBean.n; anVar.d = crashDetailBean.o; anVar.e = crashDetailBean.p; anVar.g = crashDetailBean.q; anVar.h = crashDetailBean.z; anVar.i = crashDetailBean.c; anVar.j = null; anVar.l = crashDetailBean.m; anVar.m = crashDetailBean.e; anVar.f = crashDetailBean.B; anVar.t = com.tencent.bugly.crashreport.common.info.a.b().i(); anVar.n = null; Map map = crashDetailBean.i; if (map != null && map.size() > 0) { anVar.o = new ArrayList<>(); for (Map.Entry entry : crashDetailBean.i.entrySet()) { ak akVar = new ak(); akVar.a = entry.getValue().a; akVar.c = entry.getValue().c; akVar.d = entry.getValue().b; akVar.b = aVar.r(); anVar.o.add(akVar); } } Map map2 = crashDetailBean.h; if (map2 != null && map2.size() > 0) { anVar.p = new ArrayList<>(); for (Map.Entry entry2 : crashDetailBean.h.entrySet()) { ak akVar2 = new ak(); akVar2.a = entry2.getValue().a; akVar2.c = entry2.getValue().c; akVar2.d = entry2.getValue().b; anVar.p.add(akVar2); } } if (crashDetailBean.j) { anVar.k = crashDetailBean.t; String str = crashDetailBean.s; if (str != null && str.length() > 0) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } try { anVar.q.add(new am((byte) 1, "alltimes.txt", crashDetailBean.s.getBytes("utf-8"))); } catch (UnsupportedEncodingException e) { e.printStackTrace(); anVar.q = null; } } Object[] objArr = new Object[2]; objArr[0] = Integer.valueOf(anVar.k); ArrayList arrayList = anVar.q; objArr[1] = Integer.valueOf(arrayList != null ? arrayList.size() : 0); x.c("crashcount:%d sz:%d", objArr); } if (crashDetailBean.w != null) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } try { anVar.q.add(new am((byte) 1, "log.txt", crashDetailBean.w.getBytes("utf-8"))); } catch (UnsupportedEncodingException e2) { e2.printStackTrace(); anVar.q = null; } } if (crashDetailBean.x != null) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } try { anVar.q.add(new am((byte) 1, "jniLog.txt", crashDetailBean.x.getBytes("utf-8"))); } catch (UnsupportedEncodingException e3) { e3.printStackTrace(); anVar.q = null; } } if (!z.a(crashDetailBean.U)) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } try { amVar = new am((byte) 1, "crashInfos.txt", crashDetailBean.U.getBytes("utf-8")); } catch (UnsupportedEncodingException e4) { e4.printStackTrace(); amVar = null; } if (amVar != null) { x.c("attach crash infos", new Object[0]); anVar.q.add(amVar); } } if (crashDetailBean.V != null) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } am a4 = a("backupRecord.zip", context, crashDetailBean.V); if (a4 != null) { x.c("attach backup record", new Object[0]); anVar.q.add(a4); } } byte[] bArr = crashDetailBean.y; if (bArr != null && bArr.length > 0) { am amVar2 = new am((byte) 2, "buglylog.zip", bArr); x.c("attach user log", new Object[0]); if (anVar.q == null) { anVar.q = new ArrayList<>(); } anVar.q.add(amVar2); } if (crashDetailBean.b == 3) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } x.c("crashBean.userDatas:%s", crashDetailBean.O); Map map3 = crashDetailBean.O; if (map3 != null && map3.containsKey("BUGLY_CR_01")) { try { if (!TextUtils.isEmpty(crashDetailBean.O.get("BUGLY_CR_01"))) { anVar.q.add(new am((byte) 1, "anrMessage.txt", crashDetailBean.O.get("BUGLY_CR_01").getBytes("utf-8"))); x.c("attach anr message", new Object[0]); } } catch (UnsupportedEncodingException e5) { e5.printStackTrace(); anVar.q = null; } crashDetailBean.O.remove("BUGLY_CR_01"); } String str2 = crashDetailBean.v; if (str2 != null && (a3 = a("trace.zip", context, str2)) != null) { x.c("attach traces", new Object[0]); anVar.q.add(a3); } } if (crashDetailBean.b == 1) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } String str3 = crashDetailBean.v; if (str3 != null && (a2 = a("tomb.zip", context, str3)) != null) { x.c("attach tombs", new Object[0]); anVar.q.add(a2); } } List list = aVar.C; if (list != null && !list.isEmpty()) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } StringBuilder sb = new StringBuilder(); Iterator it = aVar.C.iterator(); while (it.hasNext()) { sb.append(it.next()); } try { anVar.q.add(new am((byte) 1, "martianlog.txt", sb.toString().getBytes("utf-8"))); x.c("attach pageTracingList", new Object[0]); } catch (UnsupportedEncodingException e6) { e6.printStackTrace(); } } byte[] bArr2 = crashDetailBean.T; if (bArr2 != null && bArr2.length > 0) { if (anVar.q == null) { anVar.q = new ArrayList<>(); } anVar.q.add(new am((byte) 1, "userExtraByteData", crashDetailBean.T)); x.c("attach extraData", new Object[0]); } anVar.r = new HashMap(); Map map4 = anVar.r; StringBuilder sb2 = new StringBuilder(); sb2.append(crashDetailBean.C); map4.put("A9", sb2.toString()); Map map5 = anVar.r; StringBuilder sb3 = new StringBuilder(); sb3.append(crashDetailBean.D); map5.put("A11", sb3.toString()); Map map6 = anVar.r; StringBuilder sb4 = new StringBuilder(); sb4.append(crashDetailBean.E); map6.put("A10", sb4.toString()); anVar.r.put("A23", crashDetailBean.f); anVar.r.put("A7", aVar.f); anVar.r.put("A6", aVar.s()); anVar.r.put("A5", aVar.r()); anVar.r.put("A22", aVar.h()); Map map7 = anVar.r; StringBuilder sb5 = new StringBuilder(); sb5.append(crashDetailBean.G); map7.put("A2", sb5.toString()); Map map8 = anVar.r; StringBuilder sb6 = new StringBuilder(); sb6.append(crashDetailBean.F); map8.put("A1", sb6.toString()); anVar.r.put("A24", aVar.h); Map map9 = anVar.r; StringBuilder sb7 = new StringBuilder(); sb7.append(crashDetailBean.H); map9.put("A17", sb7.toString()); anVar.r.put("A3", aVar.k()); anVar.r.put("A16", aVar.m()); anVar.r.put("A25", aVar.n()); anVar.r.put("A14", aVar.l()); anVar.r.put("A15", aVar.w()); Map map10 = anVar.r; StringBuilder sb8 = new StringBuilder(); sb8.append(aVar.x()); map10.put("A13", sb8.toString()); anVar.r.put("A34", crashDetailBean.A); if (aVar.x != null) { anVar.r.put("productIdentify", aVar.x); } try { anVar.r.put("A26", URLEncoder.encode(crashDetailBean.I, "utf-8")); } catch (UnsupportedEncodingException e7) { e7.printStackTrace(); } if (crashDetailBean.b == 1) { anVar.r.put("A27", crashDetailBean.K); anVar.r.put("A28", crashDetailBean.J); Map map11 = anVar.r; StringBuilder sb9 = new StringBuilder(); sb9.append(crashDetailBean.k); map11.put("A29", sb9.toString()); } anVar.r.put("A30", crashDetailBean.L); Map map12 = anVar.r; StringBuilder sb10 = new StringBuilder(); sb10.append(crashDetailBean.M); map12.put("A18", sb10.toString()); Map map13 = anVar.r; StringBuilder sb11 = new StringBuilder(); sb11.append(!crashDetailBean.N); map13.put("A36", sb11.toString()); Map map14 = anVar.r; StringBuilder sb12 = new StringBuilder(); sb12.append(aVar.q); map14.put("F02", sb12.toString()); Map map15 = anVar.r; StringBuilder sb13 = new StringBuilder(); sb13.append(aVar.r); map15.put("F03", sb13.toString()); anVar.r.put("F04", aVar.e()); Map map16 = anVar.r; StringBuilder sb14 = new StringBuilder(); sb14.append(aVar.s); map16.put("F05", sb14.toString()); anVar.r.put("F06", aVar.p); anVar.r.put("F08", aVar.v); anVar.r.put("F09", aVar.w); Map map17 = anVar.r; StringBuilder sb15 = new StringBuilder(); sb15.append(aVar.t); map17.put("F10", sb15.toString()); if (crashDetailBean.P >= 0) { Map map18 = anVar.r; StringBuilder sb16 = new StringBuilder(); sb16.append(crashDetailBean.P); map18.put("C01", sb16.toString()); } if (crashDetailBean.Q >= 0) { Map map19 = anVar.r; StringBuilder sb17 = new StringBuilder(); sb17.append(crashDetailBean.Q); map19.put("C02", sb17.toString()); } Map map20 = crashDetailBean.R; if (map20 != null && map20.size() > 0) { for (Map.Entry entry3 : crashDetailBean.R.entrySet()) { anVar.r.put("C03_" + entry3.getKey(), entry3.getValue()); } } Map map21 = crashDetailBean.S; if (map21 != null && map21.size() > 0) { for (Map.Entry entry4 : crashDetailBean.S.entrySet()) { anVar.r.put("C04_" + entry4.getKey(), entry4.getValue()); } } anVar.s = null; Map map22 = crashDetailBean.O; if (map22 != null && map22.size() > 0) { anVar.s = crashDetailBean.O; x.a("setted message size %d", Integer.valueOf(anVar.s.size())); } Object[] objArr2 = new Object[12]; objArr2[0] = crashDetailBean.n; objArr2[1] = crashDetailBean.c; objArr2[2] = aVar.e(); objArr2[3] = Long.valueOf((crashDetailBean.r - crashDetailBean.M) / 1000); objArr2[4] = Boolean.valueOf(crashDetailBean.k); objArr2[5] = Boolean.valueOf(crashDetailBean.N); objArr2[6] = Boolean.valueOf(crashDetailBean.j); objArr2[7] = Boolean.valueOf(crashDetailBean.b == 1); objArr2[8] = Integer.valueOf(crashDetailBean.t); objArr2[9] = crashDetailBean.s; objArr2[10] = Boolean.valueOf(crashDetailBean.d); objArr2[11] = Integer.valueOf(anVar.r.size()); x.c("%s rid:%s sess:%s ls:%ds isR:%b isF:%b isM:%b isN:%b mc:%d ,%s ,isUp:%b ,vm:%d", objArr2); return anVar; } x.d("enExp args == null", new Object[0]); return null; } private static am a(String str, Context context, String str2) { FileInputStream fileInputStream; if (str2 != null && context != null) { x.c("zip %s", str2); File file = new File(str2); File file2 = new File(context.getCacheDir(), str); if (!z.a(file, file2, 5000)) { x.d("zip fail!", new Object[0]); return null; } ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try { fileInputStream = new FileInputStream(file2); } catch (Throwable th) { th = th; fileInputStream = null; } try { byte[] bArr = new byte[FileUtil.ZIP_BUFFER_SIZE]; while (true) { int read = fileInputStream.read(bArr); if (read <= 0) { break; } byteArrayOutputStream.write(bArr, 0, read); byteArrayOutputStream.flush(); } byte[] byteArray = byteArrayOutputStream.toByteArray(); x.c("read bytes :%d", Integer.valueOf(byteArray.length)); am amVar = new am((byte) 2, file2.getName(), byteArray); try { fileInputStream.close(); } catch (IOException e) { if (!x.a(e)) { e.printStackTrace(); } } if (file2.exists()) { x.c("del tmp", new Object[0]); file2.delete(); } return amVar; } catch (Throwable th2) { th = th2; try { if (!x.a(th)) { th.printStackTrace(); } if (fileInputStream != null) { try { fileInputStream.close(); } catch (IOException e2) { if (!x.a(e2)) { e2.printStackTrace(); } } } if (file2.exists()) { x.c("del tmp", new Object[0]); file2.delete(); } return null; } catch (Throwable th3) { if (fileInputStream != null) { try { fileInputStream.close(); } catch (IOException e3) { if (!x.a(e3)) { e3.printStackTrace(); } } } if (file2.exists()) { x.c("del tmp", new Object[0]); file2.delete(); } throw th3; } } } x.d("rqdp{ createZipAttachment sourcePath == null || context == null ,pls check}", new Object[0]); return null; } public static void a(String str, String str2, String str3, String str4, String str5, CrashDetailBean crashDetailBean) { String str6; com.tencent.bugly.crashreport.common.info.a b = com.tencent.bugly.crashreport.common.info.a.b(); if (b == null) { return; } x.e("#++++++++++Record By Bugly++++++++++#", new Object[0]); x.e("# You can use Bugly(http:\\\\bugly.qq.com) to get more Crash Detail!", new Object[0]); x.e("# PKG NAME: %s", b.c); x.e("# APP VER: %s", b.j); x.e("# LAUNCH TIME: %s", z.a(new Date(com.tencent.bugly.crashreport.common.info.a.b().a))); x.e("# CRASH TYPE: %s", str); x.e("# CRASH TIME: %s", str2); x.e("# CRASH PROCESS: %s", str3); x.e("# CRASH THREAD: %s", str4); if (crashDetailBean != null) { x.e("# REPORT ID: %s", crashDetailBean.c); Object[] objArr = new Object[2]; objArr[0] = b.g; objArr[1] = b.x().booleanValue() ? "ROOTED" : "UNROOT"; x.e("# CRASH DEVICE: %s %s", objArr); x.e("# RUNTIME AVAIL RAM:%d ROM:%d SD:%d", Long.valueOf(crashDetailBean.C), Long.valueOf(crashDetailBean.D), Long.valueOf(crashDetailBean.E)); x.e("# RUNTIME TOTAL RAM:%d ROM:%d SD:%d", Long.valueOf(crashDetailBean.F), Long.valueOf(crashDetailBean.G), Long.valueOf(crashDetailBean.H)); if (!z.a(crashDetailBean.K)) { x.e("# EXCEPTION FIRED BY %s %s", crashDetailBean.K, crashDetailBean.J); } else if (crashDetailBean.b == 3) { Object[] objArr2 = new Object[1]; if (crashDetailBean.O == null) { str6 = "null"; } else { str6 = crashDetailBean.O.get("BUGLY_CR_01"); } objArr2[0] = str6; x.e("# EXCEPTION ANR MESSAGE:\n %s", objArr2); } } if (!z.a(str5)) { x.e("# CRASH STACK: ", new Object[0]); x.e(str5, new Object[0]); } x.e("#++++++++++++++++++++++++++++++++++++++++++#", new Object[0]); } }