e.smali
.class public final Lcom/tencent/bugly/crashreport/crash/e;
.super Ljava/lang/Object;
.source "BUGLY"
# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;
# static fields
.field private static h:Ljava/lang/String;
.field private static final i:Ljava/lang/Object;
# instance fields
.field private a:Landroid/content/Context;
.field private b:Lcom/tencent/bugly/crashreport/crash/b;
.field private c:Lcom/tencent/bugly/crashreport/common/strategy/a;
.field private d:Lcom/tencent/bugly/crashreport/common/info/a;
.field private e:Ljava/lang/Thread$UncaughtExceptionHandler;
.field private f:Ljava/lang/Thread$UncaughtExceptionHandler;
.field private g:Z
.field private j:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 36
const/4 v0, 0x0
sput-object v0, Lcom/tencent/bugly/crashreport/crash/e;->h:Ljava/lang/String;
.line 37
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
sput-object v0, Lcom/tencent/bugly/crashreport/crash/e;->i:Ljava/lang/Object;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Lcom/tencent/bugly/crashreport/crash/b;Lcom/tencent/bugly/crashreport/common/strategy/a;Lcom/tencent/bugly/crashreport/common/info/a;)V
.registers 6
.prologue
.line 48
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 34
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->g:Z
.line 49
iput-object p1, p0, Lcom/tencent/bugly/crashreport/crash/e;->a:Landroid/content/Context;
.line 50
iput-object p2, p0, Lcom/tencent/bugly/crashreport/crash/e;->b:Lcom/tencent/bugly/crashreport/crash/b;
.line 51
iput-object p3, p0, Lcom/tencent/bugly/crashreport/crash/e;->c:Lcom/tencent/bugly/crashreport/common/strategy/a;
.line 52
iput-object p4, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
.line 53
return-void
.end method
.method private static a(Ljava/lang/Throwable;I)Ljava/lang/String;
.registers 9
.prologue
const/4 v1, 0x0
.line 401
if-nez p0, :cond_5
.line 402
const/4 v0, 0x0
.line 421
:goto_4
return-object v0
.line 405
:cond_5
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
.line 407
:try_start_a
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v0
if-eqz v0, :cond_5e
.line 408
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v3
array-length v4, v3
move v0, v1
:goto_16
if-ge v0, v4, :cond_5e
aget-object v5, v3, v0
.line 409
if-lez p1, :cond_3f
invoke-virtual {v2}, Ljava/lang/StringBuilder;->length()I
move-result v6
if-lt v6, p1, :cond_3f
.line 411
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "\n[Stack over limit size :"
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, " , has been cutted !]"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 412
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_4
.line 415
:cond_3f
invoke-virtual {v5}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, "\n"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_4c
.catch Ljava/lang/Throwable; {:try_start_a .. :try_end_4c} :catch_4f
.line 408
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 418
:catch_4f
move-exception v0
.line 419
const-string v3, "gen stack error %s"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v0}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v4, v1
invoke-static {v3, v4}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 421
:cond_5e
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_4
.end method
.method private static a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
.registers 10
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 366
if-nez p0, :cond_5
.line 379
:cond_4
:goto_4
return v0
.line 369
:cond_5
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v3
.line 370
const-string/jumbo v4, "uncaughtException"
.line 371
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Thread;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v5
.line 372
array-length v6, v5
move v2, v1
:goto_1a
if-ge v2, v6, :cond_4
aget-object v7, v5, v2
.line 373
invoke-virtual {v7}, Ljava/lang/StackTraceElement;->getClassName()Ljava/lang/String;
move-result-object v8
.line 374
invoke-virtual {v7}, Ljava/lang/StackTraceElement;->getMethodName()Ljava/lang/String;
move-result-object v7
.line 375
invoke-virtual {v3, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_34
invoke-virtual {v4, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_34
move v0, v1
.line 376
goto :goto_4
.line 372
:cond_34
add-int/lit8 v2, v2, 0x1
goto :goto_1a
.end method
.method private static a(Ljava/lang/Thread;)Z
.registers 4
.prologue
.line 265
sget-object v1, Lcom/tencent/bugly/crashreport/crash/e;->i:Ljava/lang/Object;
monitor-enter v1
.line 268
:try_start_3
sget-object v0, Lcom/tencent/bugly/crashreport/crash/e;->h:Ljava/lang/String;
if-eqz v0, :cond_13
invoke-virtual {p0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v0
sget-object v2, Lcom/tencent/bugly/crashreport/crash/e;->h:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_1c
.line 269
:cond_13
invoke-virtual {p0}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/tencent/bugly/crashreport/crash/e;->h:Ljava/lang/String;
.line 270
const/4 v0, 0x0
monitor-exit v1
:try_end_1b
.catchall {:try_start_3 .. :try_end_1b} :catchall_1f
.line 272
:goto_1b
return v0
:cond_1c
const/4 v0, 0x1
monitor-exit v1
goto :goto_1b
.line 273
:catchall_1f
move-exception v0
monitor-exit v1
throw v0
.end method
.method private b(Ljava/lang/Thread;Ljava/lang/Throwable;ZLjava/lang/String;[B)Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;
.registers 14
.prologue
.line 140
if-nez p2, :cond_c
.line 141
const-string v0, "We can do nothing with a null throwable."
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->d(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 142
const/4 v0, 0x0
.line 261
:goto_b
return-object v0
.line 145
:cond_c
invoke-static {}, Lcom/tencent/bugly/crashreport/crash/c;->a()Lcom/tencent/bugly/crashreport/crash/c;
move-result-object v0
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/crash/c;->k()Z
move-result v1
.line 146
if-eqz v1, :cond_f6
if-eqz p3, :cond_f6
const-string v0, " This Crash Caused By ANR , PLS To Fix ANR , This Trace May Be Not Useful![Bugly]"
move-object v4, v0
.line 149
:goto_1b
if-eqz v1, :cond_27
if-eqz p3, :cond_27
.line 150
const-string v0, "This Crash Caused By ANR , PLS To Fix ANR , This Trace May Be Not Useful!"
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 153
:cond_27
new-instance v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;
invoke-direct {v2}, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;-><init>()V
.line 155
invoke-static {}, Lcom/tencent/bugly/crashreport/common/info/b;->k()J
move-result-wide v0
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->C:J
.line 156
invoke-static {}, Lcom/tencent/bugly/crashreport/common/info/b;->i()J
move-result-wide v0
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->D:J
.line 157
invoke-static {}, Lcom/tencent/bugly/crashreport/common/info/b;->m()J
move-result-wide v0
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->E:J
.line 158
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->p()J
move-result-wide v0
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->F:J
.line 159
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->o()J
move-result-wide v0
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->G:J
.line 160
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->q()J
move-result-wide v0
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->H:J
.line 161
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->a:Landroid/content/Context;
sget v1, Lcom/tencent/bugly/crashreport/crash/c;->e:I
const/4 v3, 0x0
invoke-static {v0, v1, v3}, Lcom/tencent/bugly/proguard/z;->a(Landroid/content/Context;ILjava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->w:Ljava/lang/String;
.line 163
invoke-static {}, Lcom/tencent/bugly/proguard/y;->a()[B
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->y:[B
.line 164
const-string/jumbo v1, "user log size:%d"
const/4 v0, 0x1
new-array v3, v0, [Ljava/lang/Object;
const/4 v5, 0x0
iget-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->y:[B
if-nez v0, :cond_fb
const/4 v0, 0x0
:goto_73
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
aput-object v0, v3, v5
invoke-static {v1, v3}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 165
if-eqz p3, :cond_100
const/4 v0, 0x0
:goto_7f
iput v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->b:I
.line 167
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->h()Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->e:Ljava/lang/String;
.line 168
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
iget-object v0, v0, Lcom/tencent/bugly/crashreport/common/info/a;->k:Ljava/lang/String;
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->f:Ljava/lang/String;
.line 169
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->w()Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->g:Ljava/lang/String;
.line 170
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->g()Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->m:Ljava/lang/String;
.line 172
invoke-virtual {p2}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v5
.line 173
const/16 v0, 0x3e8
invoke-static {p2, v0}, Lcom/tencent/bugly/crashreport/crash/e;->b(Ljava/lang/Throwable;I)Ljava/lang/String;
move-result-object v0
.line 174
if-nez v0, :cond_b1
.line 175
const-string v0, ""
.line 178
:cond_b1
const-string/jumbo v3, "stack frame :%d, has cause %b"
const/4 v1, 0x2
new-array v6, v1, [Ljava/lang/Object;
const/4 v1, 0x0
invoke-virtual {p2}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v7
array-length v7, v7
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
aput-object v7, v6, v1
const/4 v7, 0x1
invoke-virtual {p2}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object v1
if-eqz v1, :cond_103
const/4 v1, 0x1
:goto_cb
invoke-static {v1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
aput-object v1, v6, v7
invoke-static {v3, v6}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 180
const-string v1, ""
.line 181
invoke-virtual {p2}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v3
array-length v3, v3
if-lez v3, :cond_e8
.line 182
invoke-virtual {p2}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v1
const/4 v3, 0x0
aget-object v1, v1, v3
invoke-virtual {v1}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v1
:cond_e8
move-object v3, p2
.line 187
:goto_e9
if-eqz v3, :cond_105
invoke-virtual {v3}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object v6
if-eqz v6, :cond_105
.line 188
invoke-virtual {v3}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object v3
goto :goto_e9
.line 146
:cond_f6
const-string v0, ""
move-object v4, v0
goto/16 :goto_1b
.line 164
:cond_fb
iget-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->y:[B
array-length v0, v0
goto/16 :goto_73
.line 165
:cond_100
const/4 v0, 0x2
goto/16 :goto_7f
.line 178
:cond_103
const/4 v1, 0x0
goto :goto_cb
.line 190
:cond_105
if-eqz v3, :cond_221
if-eq v3, p2, :cond_221
.line 192
invoke-virtual {v3}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v4
invoke-virtual {v4}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v4
iput-object v4, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->n:Ljava/lang/String;
.line 193
const/16 v4, 0x3e8
invoke-static {v3, v4}, Lcom/tencent/bugly/crashreport/crash/e;->b(Ljava/lang/Throwable;I)Ljava/lang/String;
move-result-object v4
iput-object v4, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
.line 194
iget-object v4, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
if-nez v4, :cond_123
.line 195
const-string v4, ""
iput-object v4, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
.line 197
:cond_123
invoke-virtual {v3}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v4
array-length v4, v4
if-lez v4, :cond_137
.line 198
invoke-virtual {v3}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v4
const/4 v6, 0x0
aget-object v4, v4, v6
invoke-virtual {v4}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v4
iput-object v4, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->p:Ljava/lang/String;
.line 201
:cond_137
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
.line 202
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, ":"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v5, "\n"
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 203
invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 204
const-string v0, "\n......"
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 205
const-string v0, "\nCaused by:\n"
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 206
iget-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->n:Ljava/lang/String;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ":"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "\n"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 208
sget v0, Lcom/tencent/bugly/crashreport/crash/c;->f:I
invoke-static {v3, v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Throwable;I)Ljava/lang/String;
move-result-object v0
.line 209
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 210
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->q:Ljava/lang/String;
.line 223
:goto_182
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v4
iput-wide v4, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->r:J
.line 225
iget-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->q:Ljava/lang/String;
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
move-result-object v1
invoke-static {v1}, Lcom/tencent/bugly/proguard/z;->b([B)Ljava/lang/String;
move-result-object v1
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->u:Ljava/lang/String;
.line 227
:try_start_194
sget v1, Lcom/tencent/bugly/crashreport/crash/c;->f:I
const/4 v3, 0x0
invoke-static {v1, v3}, Lcom/tencent/bugly/proguard/z;->a(IZ)Ljava/util/Map;
move-result-object v1
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->z:Ljava/util/Map;
.line 229
iget-object v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
iget-object v1, v1, Lcom/tencent/bugly/crashreport/common/info/a;->d:Ljava/lang/String;
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->A:Ljava/lang/String;
.line 230
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v3, "("
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {p1}, Ljava/lang/Thread;->getId()J
move-result-wide v4
invoke-virtual {v1, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
const-string v3, ")"
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->B:Ljava/lang/String;
.line 231
iget-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->z:Ljava/util/Map;
iget-object v3, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->B:Ljava/lang/String;
invoke-interface {v1, v3, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 232
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->y()Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->I:Ljava/lang/String;
.line 233
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->v()Ljava/util/Map;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->h:Ljava/util/Map;
.line 234
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->J()Ljava/util/Map;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->i:Ljava/util/Map;
.line 235
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
iget-wide v0, v0, Lcom/tencent/bugly/crashreport/common/info/a;->a:J
iput-wide v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->M:J
.line 236
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->a()Z
move-result v0
iput-boolean v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->N:Z
.line 238
if-eqz p3, :cond_24a
.line 239
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->b:Lcom/tencent/bugly/crashreport/crash/b;
invoke-virtual {v0, v2}, Lcom/tencent/bugly/crashreport/crash/b;->d(Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;)V
.line 253
:cond_1fe
:goto_1fe
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->H()I
move-result v0
iput v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->Q:I
.line 254
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->I()I
move-result v0
iput v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->R:I
.line 255
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->B()Ljava/util/Map;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->S:Ljava/util/Map;
.line 256
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/info/a;->G()Ljava/util/Map;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->T:Ljava/util/Map;
:try_end_21e
.catch Ljava/lang/Throwable; {:try_start_194 .. :try_end_21e} :catch_270
:goto_21e
move-object v0, v2
.line 261
goto/16 :goto_b
.line 213
:cond_221
iput-object v5, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->n:Ljava/lang/String;
.line 214
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
.line 215
iget-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
if-nez v0, :cond_23e
.line 216
const-string v0, ""
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->o:Ljava/lang/String;
.line 218
:cond_23e
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->p:Ljava/lang/String;
.line 219
sget v0, Lcom/tencent/bugly/crashreport/crash/c;->f:I
invoke-static {p2, v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Throwable;I)Ljava/lang/String;
move-result-object v0
.line 220
iput-object v0, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->q:Ljava/lang/String;
goto/16 :goto_182
.line 241
:cond_24a
if-eqz p4, :cond_281
:try_start_24c
invoke-virtual {p4}, Ljava/lang/String;->length()I
move-result v0
if-lez v0, :cond_281
const/4 v0, 0x1
move v1, v0
.line 242
:goto_254
if-eqz p5, :cond_284
array-length v0, p5
if-lez v0, :cond_284
const/4 v0, 0x1
.line 243
:goto_25a
if-eqz v1, :cond_26b
.line 244
new-instance v1, Ljava/util/HashMap;
const/4 v3, 0x1
invoke-direct {v1, v3}, Ljava/util/HashMap;-><init>(I)V
iput-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->O:Ljava/util/Map;
.line 245
iget-object v1, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->O:Ljava/util/Map;
const-string v3, "UserData"
invoke-interface {v1, v3, p4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 247
:cond_26b
if-eqz v0, :cond_1fe
.line 248
iput-object p5, v2, Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;->U:[B
:try_end_26f
.catch Ljava/lang/Throwable; {:try_start_24c .. :try_end_26f} :catch_270
goto :goto_1fe
.line 258
:catch_270
move-exception v0
.line 259
const-string v1, "handle crash error %s"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
const/4 v4, 0x0
invoke-virtual {v0}, Ljava/lang/Throwable;->toString()Ljava/lang/String;
move-result-object v0
aput-object v0, v3, v4
invoke-static {v1, v3}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto :goto_21e
.line 241
:cond_281
const/4 v0, 0x0
move v1, v0
goto :goto_254
.line 242
:cond_284
const/4 v0, 0x0
goto :goto_25a
.end method
.method private static b(Ljava/lang/Throwable;I)Ljava/lang/String;
.registers 6
.prologue
const/16 v3, 0x3e8
.line 428
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_b
.line 429
const-string v0, ""
.line 435
:goto_a
return-object v0
.line 432
:cond_b
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v0
if-gt v0, v3, :cond_1a
.line 433
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
goto :goto_a
.line 435
:cond_1a
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, v2, v3}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "\n[Message over limit size:1000"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", has been cutted!]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_a
.end method
# virtual methods
.method public final declared-synchronized a()V
.registers 6
.prologue
const/16 v1, 0xa
.line 59
monitor-enter p0
:try_start_3
iget v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->j:I
if-lt v0, v1, :cond_1a
.line 60
const-string v0, "java crash handler over %d, no need set."
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
const/16 v3, 0xa
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
aput-object v3, v1, v2
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
:try_end_18
.catchall {:try_start_3 .. :try_end_18} :catchall_76
.line 89
:cond_18
:goto_18
monitor-exit p0
return-void
.line 63
:cond_1a
const/4 v0, 0x1
:try_start_1b
iput-boolean v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->g:Z
.line 65
invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object v0
.line 66
if-eqz v0, :cond_5c
.line 67
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v1
.line 68
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
.line 69
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_18
.line 72
const-string v1, "com.android.internal.os.RuntimeInit$UncaughtHandler"
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_79
.line 73
const-string v1, "backup system java handler: %s"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v4
aput-object v4, v2, v3
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 74
iput-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
.line 75
iput-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
.line 86
:cond_5c
:goto_5c
invoke-static {p0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
.line 87
iget v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->j:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->j:I
.line 88
const-string/jumbo v0, "registered java monitor: %s"
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
:try_end_75
.catchall {:try_start_1b .. :try_end_75} :catchall_76
goto :goto_18
.line 59
:catchall_76
move-exception v0
monitor-exit p0
throw v0
.line 77
:cond_79
:try_start_79
const-string v1, "backup java handler: %s"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v4
aput-object v4, v2, v3
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 78
iput-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
:try_end_8a
.catchall {:try_start_79 .. :try_end_8a} :catchall_76
goto :goto_5c
.end method
.method public final declared-synchronized a(Lcom/tencent/bugly/crashreport/common/strategy/StrategyBean;)V
.registers 6
.prologue
.line 387
monitor-enter p0
if-eqz p1, :cond_21
:try_start_3
iget-boolean v0, p1, Lcom/tencent/bugly/crashreport/common/strategy/StrategyBean;->g:Z
iget-boolean v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->g:Z
if-eq v0, v1, :cond_21
.line 388
const-string v0, "java changed to %b"
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
iget-boolean v3, p1, Lcom/tencent/bugly/crashreport/common/strategy/StrategyBean;->g:Z
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v3
aput-object v3, v1, v2
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 389
iget-boolean v0, p1, Lcom/tencent/bugly/crashreport/common/strategy/StrategyBean;->g:Z
if-eqz v0, :cond_23
.line 390
invoke-virtual {p0}, Lcom/tencent/bugly/crashreport/crash/e;->a()V
:try_end_21
.catchall {:try_start_3 .. :try_end_21} :catchall_27
.line 395
:cond_21
:goto_21
monitor-exit p0
return-void
.line 392
:cond_23
:try_start_23
invoke-virtual {p0}, Lcom/tencent/bugly/crashreport/crash/e;->b()V
:try_end_26
.catchall {:try_start_23 .. :try_end_26} :catchall_27
goto :goto_21
.line 387
:catchall_27
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final a(Ljava/lang/Thread;Ljava/lang/Throwable;ZLjava/lang/String;[B)V
.registers 14
.prologue
const/4 v7, 0x1
const/4 v6, 0x0
.line 286
if-eqz p3, :cond_7c
.line 287
const-string v0, "Java Crash Happen cause by %s(%d)"
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
invoke-virtual {p1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v2
aput-object v2, v1, v6
invoke-virtual {p1}, Ljava/lang/Thread;->getId()J
move-result-wide v2
invoke-static {v2, v3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
aput-object v2, v1, v7
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 288
invoke-static {p1}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread;)Z
move-result v0
if-eqz v0, :cond_3a
.line 289
const-string/jumbo v0, "this class has handled this exception"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 291
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_6a
.line 292
const-string v0, "call system handler"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 293
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 302
:cond_3a
:goto_3a
:try_start_3a
iget-boolean v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->g:Z
if-nez v0, :cond_be
.line 303
const-string v0, "Java crash handler is disable. Just return."
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->c(Ljava/lang/String;[Ljava/lang/Object;)Z
:try_end_46
.catch Ljava/lang/Throwable; {:try_start_3a .. :try_end_46} :catch_265
.catchall {:try_start_3a .. :try_end_46} :catchall_2d0
.line 340
if-eqz p3, :cond_69
.line 341
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_84
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
move-result v0
if-eqz v0, :cond_84
.line 342
const-string/jumbo v0, "sys default last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 343
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 344
const-string/jumbo v0, "sys default last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 356
:cond_69
:goto_69
return-void
.line 295
:cond_6a
const-string v0, "current process die"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
goto :goto_3a
.line 299
:cond_7c
const-string v0, "Java Catch Happen"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto :goto_3a
.line 345
:cond_84
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_9e
.line 346
const-string/jumbo v0, "system handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 347
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 348
const-string/jumbo v0, "system handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto :goto_69
.line 350
:cond_9e
const-string v0, "crashreport last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 351
const-string v0, "current process die"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
.line 352
const-string v0, "crashreport last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto :goto_69
.line 307
:cond_be
:try_start_be
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->c:Lcom/tencent/bugly/crashreport/common/strategy/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/strategy/a;->b()Z
move-result v0
if-nez v0, :cond_ce
.line 308
const-string v0, "no remote but still store!"
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->d(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 311
:cond_ce
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->c:Lcom/tencent/bugly/crashreport/common/strategy/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/strategy/a;->c()Lcom/tencent/bugly/crashreport/common/strategy/StrategyBean;
move-result-object v0
.line 312
iget-boolean v0, v0, Lcom/tencent/bugly/crashreport/common/strategy/StrategyBean;->g:Z
if-nez v0, :cond_164
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->c:Lcom/tencent/bugly/crashreport/common/strategy/a;
invoke-virtual {v0}, Lcom/tencent/bugly/crashreport/common/strategy/a;->b()Z
move-result v0
if-eqz v0, :cond_164
.line 313
const-string v0, "crash report was closed by remote , will not upload to Bugly , print local for helpful!"
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 315
if-eqz p3, :cond_125
const-string v0, "JAVA_CRASH"
:goto_ec
invoke-static {}, Lcom/tencent/bugly/proguard/z;->a()Ljava/lang/String;
move-result-object v1
iget-object v2, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
iget-object v2, v2, Lcom/tencent/bugly/crashreport/common/info/a;->d:Ljava/lang/String;
invoke-virtual {p1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v3
invoke-static {p2}, Lcom/tencent/bugly/proguard/z;->a(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v4
const/4 v5, 0x0
invoke-static/range {v0 .. v5}, Lcom/tencent/bugly/crashreport/crash/b;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;)V
:try_end_100
.catch Ljava/lang/Throwable; {:try_start_be .. :try_end_100} :catch_265
.catchall {:try_start_be .. :try_end_100} :catchall_2d0
.line 340
if-eqz p3, :cond_69
.line 341
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_128
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
move-result v0
if-eqz v0, :cond_128
.line 342
const-string/jumbo v0, "sys default last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 343
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 344
const-string/jumbo v0, "sys default last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 315
:cond_125
:try_start_125
const-string v0, "JAVA_CATCH"
:try_end_127
.catch Ljava/lang/Throwable; {:try_start_125 .. :try_end_127} :catch_265
.catchall {:try_start_125 .. :try_end_127} :catchall_2d0
goto :goto_ec
.line 345
:cond_128
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_143
.line 346
const-string/jumbo v0, "system handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 347
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 348
const-string/jumbo v0, "system handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 350
:cond_143
const-string v0, "crashreport last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 351
const-string v0, "current process die"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
.line 352
const-string v0, "crashreport last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 321
:cond_164
:try_start_164
invoke-direct/range {p0 .. p5}, Lcom/tencent/bugly/crashreport/crash/e;->b(Ljava/lang/Thread;Ljava/lang/Throwable;ZLjava/lang/String;[B)Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;
move-result-object v5
.line 322
if-nez v5, :cond_1d4
.line 323
const-string/jumbo v0, "pkg crash datas fail!"
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
:try_end_173
.catch Ljava/lang/Throwable; {:try_start_164 .. :try_end_173} :catch_265
.catchall {:try_start_164 .. :try_end_173} :catchall_2d0
.line 340
if-eqz p3, :cond_69
.line 341
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_198
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
move-result v0
if-eqz v0, :cond_198
.line 342
const-string/jumbo v0, "sys default last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 343
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 344
const-string/jumbo v0, "sys default last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 345
:cond_198
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_1b3
.line 346
const-string/jumbo v0, "system handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 347
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 348
const-string/jumbo v0, "system handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 350
:cond_1b3
const-string v0, "crashreport last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 351
const-string v0, "current process die"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
.line 352
const-string v0, "crashreport last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 327
:cond_1d4
if-eqz p3, :cond_226
:try_start_1d6
const-string v0, "JAVA_CRASH"
:goto_1d8
invoke-static {}, Lcom/tencent/bugly/proguard/z;->a()Ljava/lang/String;
move-result-object v1
iget-object v2, p0, Lcom/tencent/bugly/crashreport/crash/e;->d:Lcom/tencent/bugly/crashreport/common/info/a;
iget-object v2, v2, Lcom/tencent/bugly/crashreport/common/info/a;->d:Ljava/lang/String;
invoke-virtual {p1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v3
invoke-static {p2}, Lcom/tencent/bugly/proguard/z;->a(Ljava/lang/Throwable;)Ljava/lang/String;
move-result-object v4
invoke-static/range {v0 .. v5}, Lcom/tencent/bugly/crashreport/crash/b;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;)V
.line 329
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->b:Lcom/tencent/bugly/crashreport/crash/b;
invoke-virtual {v0, v5}, Lcom/tencent/bugly/crashreport/crash/b;->a(Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;)Z
move-result v0
if-nez v0, :cond_1fa
.line 330
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->b:Lcom/tencent/bugly/crashreport/crash/b;
const-wide/16 v2, 0xbb8
invoke-virtual {v0, v5, v2, v3, p3}, Lcom/tencent/bugly/crashreport/crash/b;->a(Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;JZ)V
.line 332
:cond_1fa
if-eqz p3, :cond_201
.line 333
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->b:Lcom/tencent/bugly/crashreport/crash/b;
invoke-virtual {v0, v5}, Lcom/tencent/bugly/crashreport/crash/b;->c(Lcom/tencent/bugly/crashreport/crash/CrashDetailBean;)V
:try_end_201
.catch Ljava/lang/Throwable; {:try_start_1d6 .. :try_end_201} :catch_265
.catchall {:try_start_1d6 .. :try_end_201} :catchall_2d0
.line 340
:cond_201
if-eqz p3, :cond_69
.line 341
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_229
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
move-result v0
if-eqz v0, :cond_229
.line 342
const-string/jumbo v0, "sys default last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 343
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 344
const-string/jumbo v0, "sys default last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 327
:cond_226
:try_start_226
const-string v0, "JAVA_CATCH"
:try_end_228
.catch Ljava/lang/Throwable; {:try_start_226 .. :try_end_228} :catch_265
.catchall {:try_start_226 .. :try_end_228} :catchall_2d0
goto :goto_1d8
.line 345
:cond_229
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_244
.line 346
const-string/jumbo v0, "system handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 347
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 348
const-string/jumbo v0, "system handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 350
:cond_244
const-string v0, "crashreport last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 351
const-string v0, "current process die"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
.line 352
const-string v0, "crashreport last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 335
:catch_265
move-exception v0
.line 336
:try_start_266
invoke-static {v0}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/Throwable;)Z
move-result v1
if-nez v1, :cond_26f
.line 337
invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V
:try_end_26f
.catchall {:try_start_266 .. :try_end_26f} :catchall_2d0
.line 340
:cond_26f
if-eqz p3, :cond_69
.line 341
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_294
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
move-result v0
if-eqz v0, :cond_294
.line 342
const-string/jumbo v0, "sys default last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 343
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 344
const-string/jumbo v0, "sys default last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 345
:cond_294
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_2af
.line 346
const-string/jumbo v0, "system handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 347
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 348
const-string/jumbo v0, "system handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 350
:cond_2af
const-string v0, "crashreport last handle start!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 351
const-string v0, "current process die"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
.line 352
const-string v0, "crashreport last handle end!"
new-array v1, v6, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto/16 :goto_69
.line 340
:catchall_2d0
move-exception v0
if-eqz p3, :cond_2f4
.line 341
iget-object v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v1, :cond_2f5
iget-object v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v1}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread$UncaughtExceptionHandler;)Z
move-result v1
if-eqz v1, :cond_2f5
.line 342
const-string/jumbo v1, "sys default last handle start!"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 343
iget-object v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v1, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 344
const-string/jumbo v1, "sys default last handle end!"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 352
:cond_2f4
:goto_2f4
throw v0
.line 345
:cond_2f5
iget-object v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v1, :cond_30f
.line 346
const-string/jumbo v1, "system handle start!"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 347
iget-object v1, p0, Lcom/tencent/bugly/crashreport/crash/e;->f:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v1, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 348
const-string/jumbo v1, "system handle end!"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto :goto_2f4
.line 350
:cond_30f
const-string v1, "crashreport last handle start!"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 351
const-string v1, "current process die"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v1
invoke-static {v1}, Landroid/os/Process;->killProcess(I)V
invoke-static {v7}, Ljava/lang/System;->exit(I)V
.line 352
const-string v1, "crashreport last handle end!"
new-array v2, v6, [Ljava/lang/Object;
invoke-static {v1, v2}, Lcom/tencent/bugly/proguard/x;->e(Ljava/lang/String;[Ljava/lang/Object;)Z
goto :goto_2f4
.end method
.method public final declared-synchronized b()V
.registers 5
.prologue
.line 95
monitor-enter p0
const/4 v0, 0x0
:try_start_2
iput-boolean v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->g:Z
.line 96
const-string v0, "close java monitor!"
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 97
invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object v0
.line 98
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
const-string v1, "bugly"
invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_3a
.line 99
const-string v0, "Java monitor to unregister: %s"
const/4 v1, 0x1
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
invoke-static {v0, v1}, Lcom/tencent/bugly/proguard/x;->a(Ljava/lang/String;[Ljava/lang/Object;)Z
.line 100
iget-object v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->e:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
.line 101
iget v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->j:I
add-int/lit8 v0, v0, -0x1
iput v0, p0, Lcom/tencent/bugly/crashreport/crash/e;->j:I
:try_end_3a
.catchall {:try_start_2 .. :try_end_3a} :catchall_3c
.line 103
:cond_3a
monitor-exit p0
return-void
.line 95
:catchall_3c
move-exception v0
monitor-exit p0
throw v0
.end method
.method public final uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.registers 10
.prologue
.line 360
sget-object v6, Lcom/tencent/bugly/crashreport/crash/e;->i:Ljava/lang/Object;
monitor-enter v6
.line 361
const/4 v3, 0x1
const/4 v4, 0x0
const/4 v5, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
:try_start_9
invoke-virtual/range {v0 .. v5}, Lcom/tencent/bugly/crashreport/crash/e;->a(Ljava/lang/Thread;Ljava/lang/Throwable;ZLjava/lang/String;[B)V
.line 362
monitor-exit v6
:try_end_d
.catchall {:try_start_9 .. :try_end_d} :catchall_e
return-void
:catchall_e
move-exception v0
monitor-exit v6
throw v0
.end method