e.smali
.class public Lcom/uc/crashsdk/e;
.super Ljava/lang/Object;
.source "ProGuard"
# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/uc/crashsdk/e$c;,
Lcom/uc/crashsdk/e$d;,
Lcom/uc/crashsdk/e$b;,
Lcom/uc/crashsdk/e$a;
}
.end annotation
# static fields
.field private static A:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static B:Ljava/lang/String;
.field private static C:I
.field private static D:I
.field private static E:I
.field private static F:I
.field private static G:I
.field private static H:I
.field private static I:I
.field private static J:Ljava/lang/String;
.field private static K:Z
.field private static L:Z
.field private static M:I
.field private static N:I
.field private static O:Z
.field private static P:Lcom/uc/crashsdk/a/e;
.field private static Q:Lcom/uc/crashsdk/e$c;
.field private static R:Z
.field private static final S:Lcom/uc/crashsdk/a/e;
.field private static T:Ljava/lang/Thread$UncaughtExceptionHandler;
.field private static U:Ljava/lang/Throwable;
.field private static V:Z
.field private static W:Z
.field private static X:Ljava/lang/Runnable;
.field private static final Y:Ljava/lang/Object;
.field private static Z:I
.field static final synthetic a:Z
.field private static aa:Ljava/lang/Runnable;
.field private static final ab:Ljava/lang/Object;
.field private static ac:Z
.field private static ad:Landroid/os/ParcelFileDescriptor;
.field private static ae:Z
.field private static af:Z
.field private static b:J
.field private static final c:Ljava/util/concurrent/atomic/AtomicBoolean;
.field private static d:Z
.field private static f:J
.field private static g:J
.field private static h:Z
.field private static i:Ljava/lang/String;
.field private static j:Ljava/lang/String;
.field private static k:Ljava/lang/String;
.field private static l:Ljava/lang/String;
.field private static m:Ljava/lang/String;
.field private static final n:Ljava/lang/Object;
.field private static final o:Ljava/lang/Object;
.field private static final p:Ljava/lang/Object;
.field private static final q:Ljava/lang/Object;
.field private static final r:Ljava/util/ArrayList;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;"
}
.end annotation
.end field
.field private static s:I
.field private static t:Ljava/lang/String;
.field private static u:Z
.field private static v:Ljava/lang/String;
.field private static w:Ljava/lang/String;
.field private static x:Ljava/lang/String;
.field private static final y:Ljava/lang/Object;
.field private static final z:Ljava/lang/Object;
# instance fields
.field private final e:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/io/FileInputStream;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 5
.line 1
const-class v0, Lcom/uc/crashsdk/e;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
const/4 v1, 0x1
xor-int/2addr v0, v1
sput-boolean v0, Lcom/uc/crashsdk/e;->a:Z
.line 2
new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;
const/4 v2, 0x0
invoke-direct {v0, v2}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
sput-object v0, Lcom/uc/crashsdk/e;->c:Ljava/util/concurrent/atomic/AtomicBoolean;
.line 3
sput-boolean v2, Lcom/uc/crashsdk/e;->d:Z
const-wide/16 v3, 0x0
.line 4
sput-wide v3, Lcom/uc/crashsdk/e;->f:J
const-wide/16 v3, -0x1
.line 5
sput-wide v3, Lcom/uc/crashsdk/e;->g:J
.line 6
sput-boolean v1, Lcom/uc/crashsdk/e;->h:Z
const-string v0, ""
.line 7
sput-object v0, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
const/4 v0, 0x0
.line 8
sput-object v0, Lcom/uc/crashsdk/e;->k:Ljava/lang/String;
.line 9
sput-object v0, Lcom/uc/crashsdk/e;->l:Ljava/lang/String;
.line 10
sput-object v0, Lcom/uc/crashsdk/e;->m:Ljava/lang/String;
.line 11
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
.line 12
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->o:Ljava/lang/Object;
.line 13
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->p:Ljava/lang/Object;
.line 14
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->q:Ljava/lang/Object;
.line 15
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
.line 16
sput v2, Lcom/uc/crashsdk/e;->s:I
.line 17
sput-object v0, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
.line 18
sput-boolean v2, Lcom/uc/crashsdk/e;->u:Z
.line 19
sput-object v0, Lcom/uc/crashsdk/e;->v:Ljava/lang/String;
.line 20
sput-object v0, Lcom/uc/crashsdk/e;->w:Ljava/lang/String;
.line 21
sput-object v0, Lcom/uc/crashsdk/e;->x:Ljava/lang/String;
.line 22
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->y:Ljava/lang/Object;
.line 23
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->z:Ljava/lang/Object;
.line 24
sput-object v0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
.line 25
sput-object v0, Lcom/uc/crashsdk/e;->B:Ljava/lang/String;
const/4 v1, -0x1
.line 26
sput v1, Lcom/uc/crashsdk/e;->C:I
.line 27
sput v1, Lcom/uc/crashsdk/e;->D:I
.line 28
sput v1, Lcom/uc/crashsdk/e;->E:I
.line 29
sput v1, Lcom/uc/crashsdk/e;->F:I
.line 30
sput v1, Lcom/uc/crashsdk/e;->G:I
.line 31
sput v1, Lcom/uc/crashsdk/e;->H:I
.line 32
sput v1, Lcom/uc/crashsdk/e;->I:I
const-string v1, "?"
.line 33
sput-object v1, Lcom/uc/crashsdk/e;->J:Ljava/lang/String;
.line 34
sput-boolean v2, Lcom/uc/crashsdk/e;->K:Z
.line 35
sput-boolean v2, Lcom/uc/crashsdk/e;->L:Z
.line 36
sput v2, Lcom/uc/crashsdk/e;->M:I
.line 37
sput v2, Lcom/uc/crashsdk/e;->N:I
.line 38
sput-boolean v2, Lcom/uc/crashsdk/e;->O:Z
.line 39
new-instance v1, Lcom/uc/crashsdk/a/e;
const/16 v3, 0x195
invoke-direct {v1, v3}, Lcom/uc/crashsdk/a/e;-><init>(I)V
sput-object v1, Lcom/uc/crashsdk/e;->P:Lcom/uc/crashsdk/a/e;
.line 40
new-instance v1, Lcom/uc/crashsdk/e$c;
invoke-direct {v1, v2}, Lcom/uc/crashsdk/e$c;-><init>(B)V
sput-object v1, Lcom/uc/crashsdk/e;->Q:Lcom/uc/crashsdk/e$c;
.line 41
sput-boolean v2, Lcom/uc/crashsdk/e;->R:Z
.line 42
new-instance v1, Lcom/uc/crashsdk/a/e;
const/16 v3, 0x19c
invoke-direct {v1, v3}, Lcom/uc/crashsdk/a/e;-><init>(I)V
sput-object v1, Lcom/uc/crashsdk/e;->S:Lcom/uc/crashsdk/a/e;
.line 43
sput-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
.line 44
sput-object v0, Lcom/uc/crashsdk/e;->U:Ljava/lang/Throwable;
.line 45
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 46
sput-boolean v2, Lcom/uc/crashsdk/e;->W:Z
.line 47
sput-object v0, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
.line 48
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->Y:Ljava/lang/Object;
const/16 v1, 0x65
.line 49
sput v1, Lcom/uc/crashsdk/e;->Z:I
.line 50
new-instance v1, Lcom/uc/crashsdk/a/e;
const/16 v3, 0x197
invoke-direct {v1, v3}, Lcom/uc/crashsdk/a/e;-><init>(I)V
sput-object v1, Lcom/uc/crashsdk/e;->aa:Ljava/lang/Runnable;
.line 51
new-instance v1, Ljava/lang/Object;
invoke-direct {v1}, Ljava/lang/Object;-><init>()V
sput-object v1, Lcom/uc/crashsdk/e;->ab:Ljava/lang/Object;
.line 52
sput-boolean v2, Lcom/uc/crashsdk/e;->ac:Z
.line 53
sput-object v0, Lcom/uc/crashsdk/e;->ad:Landroid/os/ParcelFileDescriptor;
.line 54
sput-boolean v2, Lcom/uc/crashsdk/e;->ae:Z
.line 55
sput-boolean v2, Lcom/uc/crashsdk/e;->af:Z
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Lcom/uc/crashsdk/e;->e:Ljava/util/List;
.line 3
:try_start_a
invoke-direct {p0}, Lcom/uc/crashsdk/e;->M()V
:try_end_d
.catch Ljava/lang/Throwable; {:try_start_a .. :try_end_d} :catch_e
return-void
:catch_e
move-exception v0
.line 4
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method public static A()V
.registers 4
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->q()Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
const/4 v0, 0x0
.line 2
new-instance v1, Lcom/uc/crashsdk/a/e;
const/16 v2, 0x193
invoke-direct {v1, v2}, Lcom/uc/crashsdk/a/e;-><init>(I)V
const-wide/16 v2, 0x2710
invoke-static {v0, v1, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method public static B()V
.registers 4
.line 1
sget-boolean v0, Lcom/uc/crashsdk/e;->ac:Z
if-eqz v0, :cond_5
return-void
.line 2
:cond_5
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v0
if-eqz v0, :cond_c
return-void
:cond_c
const/4 v0, 0x1
.line 3
new-instance v1, Lcom/uc/crashsdk/a/e;
const/16 v2, 0x198
invoke-direct {v1, v2}, Lcom/uc/crashsdk/a/e;-><init>(I)V
const-wide/16 v2, 0x3e8
invoke-static {v0, v1, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method static C()V
.registers 4
.line 1
new-instance v0, Lcom/uc/crashsdk/a/e;
const/16 v1, 0x199
invoke-direct {v0, v1}, Lcom/uc/crashsdk/a/e;-><init>(I)V
const/4 v1, 0x1
const-wide/16 v2, 0x1b58
invoke-static {v1, v0, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method public static D()V
.registers 12
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->L()I
move-result v0
const/4 v1, 0x4
const/4 v2, 0x3
const/4 v3, 0x1
const/4 v4, 0x0
if-eqz v0, :cond_13
if-eq v0, v2, :cond_13
if-ne v0, v1, :cond_f
goto :goto_13
:cond_f
if-ne v0, v3, :cond_45
:cond_11
const/4 v3, 0x0
goto :goto_45
.line 2
:cond_13
:goto_13
sget v5, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v6, 0x15
if-lt v5, v6, :cond_45
const/16 v6, 0x19
if-gt v5, v6, :cond_45
if-nez v0, :cond_21
const/4 v5, 0x0
goto :goto_22
:cond_21
const/4 v5, 0x1
:goto_22
const-wide/16 v6, 0x0
if-ne v0, v2, :cond_35
.line 3
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
const-wide/16 v10, 0xa
rem-long/2addr v8, v10
cmp-long v2, v8, v6
if-nez v2, :cond_33
const/4 v2, 0x1
goto :goto_36
:cond_33
const/4 v2, 0x0
goto :goto_36
:cond_35
move v2, v5
:goto_36
if-ne v0, v1, :cond_44
.line 4
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
const-wide/16 v8, 0x3
rem-long/2addr v0, v8
cmp-long v2, v0, v6
if-nez v2, :cond_11
goto :goto_45
:cond_44
move v3, v2
:cond_45
:goto_45
if-nez v3, :cond_4e
const-string v0, "crashsdk"
const-string v1, "SIG 3 is disabled by settings"
.line 5
invoke-static {v0, v1}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 6
:cond_4e
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v0
.line 7
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v2
if-eq v1, v2, :cond_6a
if-eqz v3, :cond_6a
const/4 v1, 0x2
.line 8
new-instance v2, Lcom/uc/crashsdk/a/e;
const/16 v3, 0x19d
invoke-direct {v2, v3}, Lcom/uc/crashsdk/a/e;-><init>(I)V
invoke-static {v1, v2}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;)Z
const/4 v3, 0x0
:cond_6a
const/4 v1, 0x7
int-to-long v4, v0
const/4 v0, 0x0
.line 9
invoke-static {v1, v4, v5, v0, v0}, Lcom/uc/crashsdk/JNIBridge;->nativeCmd(IJLjava/lang/String;[Ljava/lang/Object;)J
if-eqz v3, :cond_77
const/16 v0, 0x8
.line 10
invoke-static {v0}, Lcom/uc/crashsdk/JNIBridge;->cmd(I)J
:cond_77
return-void
.end method
.method public static E()Landroid/os/ParcelFileDescriptor;
.registers 4
.line 1
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
const/4 v1, 0x0
if-nez v0, :cond_d
const-string v0, "crashsdk"
const-string v2, "Crash so is not loaded!"
.line 2
invoke-static {v0, v2}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.line 3
:cond_d
sget-object v0, Lcom/uc/crashsdk/e;->ad:Landroid/os/ParcelFileDescriptor;
if-eqz v0, :cond_12
return-object v0
:cond_12
const/16 v0, 0xe
.line 4
invoke-static {v0}, Lcom/uc/crashsdk/JNIBridge;->cmd(I)J
move-result-wide v2
long-to-int v0, v2
const/4 v2, -0x1
if-ne v0, v2, :cond_1d
return-object v1
.line 5
:cond_1d
invoke-static {v0}, Landroid/os/ParcelFileDescriptor;->adoptFd(I)Landroid/os/ParcelFileDescriptor;
move-result-object v0
sput-object v0, Lcom/uc/crashsdk/e;->ad:Landroid/os/ParcelFileDescriptor;
const/4 v0, 0x1
.line 6
sput-boolean v0, Lcom/uc/crashsdk/e;->ae:Z
.line 7
sget-object v0, Lcom/uc/crashsdk/e;->ad:Landroid/os/ParcelFileDescriptor;
return-object v0
.end method
.method public static F()Z
.registers 1
.line 1
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
return v0
.end method
.method public static G()V
.registers 6
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->V()Ljava/lang/String;
move-result-object v0
.line 2
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 3
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_4e
invoke-virtual {v1}, Ljava/io/File;->isDirectory()Z
move-result v2
if-nez v2, :cond_16
goto :goto_4e
.line 4
:cond_16
invoke-virtual {v1}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
if-nez v1, :cond_2e
.line 5
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Ucebu can not list folder: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
return-void
.line 6
:cond_2e
array-length v0, v1
const/4 v2, 0x0
const/4 v3, 0x0
:goto_31
if-ge v3, v0, :cond_4e
aget-object v4, v1, v3
.line 7
invoke-virtual {v4}, Ljava/io/File;->isFile()Z
move-result v5
if-eqz v5, :cond_4b
.line 8
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v4
const-string v5, "ucebu"
invoke-virtual {v4, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v4
if-eqz v4, :cond_4b
.line 9
invoke-static {v2, v2}, Lcom/uc/crashsdk/e;->a(ZZ)Z
return-void
:cond_4b
add-int/lit8 v3, v3, 0x1
goto :goto_31
:cond_4e
:goto_4e
return-void
.end method
.method static synthetic H()Z
.registers 1
.line 1
sget-boolean v0, Lcom/uc/crashsdk/e;->h:Z
return v0
.end method
.method static synthetic I()Z
.registers 1
.line 1
invoke-static {}, Lcom/uc/crashsdk/e;->N()Z
move-result v0
return v0
.end method
.method static synthetic J()I
.registers 1
.line 1
sget v0, Lcom/uc/crashsdk/e;->M:I
add-int/lit8 v0, v0, 0x1
sput v0, Lcom/uc/crashsdk/e;->M:I
return v0
.end method
.method static synthetic K()V
.registers 2
.line 1
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_13
invoke-static {}, Lcom/uc/crashsdk/e;->X()Ljava/lang/StringBuilder;
move-result-object v0
if-eqz v0, :cond_13
const/16 v1, 0x7d
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v1, v0}, Lcom/uc/crashsdk/JNIBridge;->set(ILjava/lang/String;)J
:cond_13
const/4 v0, 0x1
sput-boolean v0, Lcom/uc/crashsdk/e;->L:Z
invoke-static {}, Lcom/uc/crashsdk/e;->Y()V
return-void
.end method
.method static synthetic L()I
.registers 1
const/4 v0, 0x0
.line 1
sput v0, Lcom/uc/crashsdk/e;->M:I
return v0
.end method
.method private M()V
.registers 5
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->G()I
move-result v0
const/4 v1, 0x0
:goto_5
if-ge v1, v0, :cond_1a
.line 2
:try_start_7
new-instance v2, Ljava/io/FileInputStream;
const-string v3, "/dev/null"
invoke-direct {v2, v3}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
.line 3
iget-object v3, p0, Lcom/uc/crashsdk/e;->e:Ljava/util/List;
invoke-interface {v3, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_13
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_13} :catch_16
add-int/lit8 v1, v1, 0x1
goto :goto_5
:catch_16
move-exception v0
.line 4
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_1a
return-void
.end method
.method private static N()Z
.registers 1
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->N()Z
move-result v0
if-eqz v0, :cond_8
const/4 v0, 0x1
return v0
.line 2
:cond_8
invoke-static {}, Lcom/uc/crashsdk/e;->a()Z
move-result v0
return v0
.end method
.method private static O()Ljava/lang/String;
.registers 2
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->e()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "_"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static P()Ljava/lang/String;
.registers 1
.line 1
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_9
const-string v0, "fg"
return-object v0
:cond_9
const-string v0, "bg"
return-object v0
.end method
.method private static Q()[B
.registers 3
const/4 v0, 0x0
const/16 v1, 0x400
:cond_3
:goto_3
if-nez v0, :cond_10
if-lez v1, :cond_10
.line 1
:try_start_7
new-array v0, v1, [B
:try_end_9
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_9} :catch_a
goto :goto_3
.line 2
:catch_a
div-int/lit8 v1, v1, 0x2
const/16 v2, 0x10
if-ge v1, v2, :cond_3
:cond_10
return-object v0
.end method
.method private static R()Ljava/lang/String;
.registers 1
.line 1
invoke-static {}, Lcom/uc/crashsdk/b;->C()Z
move-result v0
if-eqz v0, :cond_d
sget-boolean v0, Lcom/uc/crashsdk/e;->d:Z
if-nez v0, :cond_d
const-string v0, "ucebujava"
return-object v0
:cond_d
const-string v0, "java"
return-object v0
.end method
.method private static S()V
.registers 9
const-string v0, "-"
.line 1
:try_start_2
sget-object v1, Landroid/os/Build;->HARDWARE:Ljava/lang/String;
:try_end_4
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_4} :catch_5
goto :goto_a
:catch_5
move-exception v1
.line 2
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
move-object v1, v0
:goto_a
const/4 v2, 0x0
.line 3
:try_start_b
new-instance v3, Ljava/io/FileReader;
new-instance v4, Ljava/io/File;
const-string v5, "/proc/cpuinfo"
invoke-direct {v4, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-direct {v3, v4}, Ljava/io/FileReader;-><init>(Ljava/io/File;)V
:try_end_17
.catch Ljava/lang/Throwable; {:try_start_b .. :try_end_17} :catch_6c
.catchall {:try_start_b .. :try_end_17} :catchall_68
.line 4
:try_start_17
new-instance v4, Ljava/io/BufferedReader;
const/16 v5, 0x200
invoke-direct {v4, v3, v5}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
:try_end_1e
.catch Ljava/lang/Throwable; {:try_start_17 .. :try_end_1e} :catch_63
.catchall {:try_start_17 .. :try_end_1e} :catchall_60
const/4 v2, 0x0
.line 5
:cond_1f
:try_start_1f
invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v5
if-eqz v5, :cond_5a
const-string v6, "Hardware"
.line 6
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
:try_end_2b
.catch Ljava/lang/Throwable; {:try_start_1f .. :try_end_2b} :catch_5e
.catchall {:try_start_1f .. :try_end_2b} :catchall_7e
const-string v7, ":"
if-eqz v6, :cond_40
.line 7
:try_start_2f
invoke-virtual {v5, v7}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v6
add-int/lit8 v6, v6, 0x1
.line 8
invoke-virtual {v5, v6}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v1
:goto_3d
add-int/lit8 v2, v2, 0x1
goto :goto_57
:cond_40
const-string v6, "Processor"
.line 9
invoke-virtual {v5, v6}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_57
.line 10
invoke-virtual {v5, v7}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v6
add-int/lit8 v6, v6, 0x1
.line 11
invoke-virtual {v5, v6}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v0
:try_end_56
.catch Ljava/lang/Throwable; {:try_start_2f .. :try_end_56} :catch_5e
.catchall {:try_start_2f .. :try_end_56} :catchall_7e
goto :goto_3d
:cond_57
:goto_57
const/4 v5, 0x2
if-lt v2, v5, :cond_1f
.line 12
:cond_5a
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
goto :goto_76
:catch_5e
move-exception v2
goto :goto_70
:catchall_60
move-exception v0
move-object v4, v2
goto :goto_7f
:catch_63
move-exception v4
move-object v8, v4
move-object v4, v2
move-object v2, v8
goto :goto_70
:catchall_68
move-exception v0
move-object v3, v2
move-object v4, v3
goto :goto_7f
:catch_6c
move-exception v3
move-object v4, v2
move-object v2, v3
move-object v3, v4
.line 13
:goto_70
:try_start_70
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_73
.catchall {:try_start_70 .. :try_end_73} :catchall_7e
.line 14
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 15
:goto_76
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 16
sput-object v1, Lcom/uc/crashsdk/e;->k:Ljava/lang/String;
.line 17
sput-object v0, Lcom/uc/crashsdk/e;->l:Ljava/lang/String;
return-void
:catchall_7e
move-exception v0
.line 18
:goto_7f
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 19
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 20
goto :goto_87
:goto_86
throw v0
:goto_87
goto :goto_86
.end method
.method private static T()Ljava/lang/String;
.registers 2
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->U()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "bytes"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static U()Z
.registers 2
.line 1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1d
if-ge v0, v1, :cond_8
const/4 v0, 0x1
return v0
:cond_8
const/4 v0, 0x0
return v0
.end method
.method private static V()V
.registers 1
.line 1
sget-boolean v0, Lcom/uc/crashsdk/e;->O:Z
if-nez v0, :cond_15
.line 2
invoke-static {}, Lcom/uc/crashsdk/b;->C()Z
move-result v0
if-nez v0, :cond_15
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v0
if-nez v0, :cond_15
const/16 v0, 0x12
.line 3
invoke-static {v0}, Lcom/uc/crashsdk/JNIBridge;->cmd(I)J
:cond_15
return-void
.end method
.method private static W()V
.registers 4
.line 1
new-instance v0, Lcom/uc/crashsdk/a/e;
const/16 v1, 0x19e
invoke-direct {v0, v1}, Lcom/uc/crashsdk/a/e;-><init>(I)V
const/4 v1, 0x3
const-wide/16 v2, 0x3e8
invoke-static {v1, v0, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method private static X()Ljava/lang/StringBuilder;
.registers 9
const-string v0, "\n"
.line 1
:try_start_2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "level: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->C:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "scale: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->D:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->F:I
:try_end_23
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_23} :catch_d9
const-string v3, " (Unknown)"
const-string v4, " (?)"
packed-switch v2, :pswitch_data_e0
move-object v2, v4
goto :goto_3f
:pswitch_2c
:try_start_2c
const-string v2, " (Cold)"
goto :goto_3f
:pswitch_2f
const-string v2, " (Unspecified failure)"
goto :goto_3f
:pswitch_32
const-string v2, " (Over voltage)"
goto :goto_3f
:pswitch_35
const-string v2, " (Dead)"
goto :goto_3f
:pswitch_38
const-string v2, " (Overheat)"
goto :goto_3f
:pswitch_3b
const-string v2, " (Good)"
goto :goto_3f
:pswitch_3e
move-object v2, v3
:goto_3f
const-string v5, "health: "
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v5, Lcom/uc/crashsdk/e;->F:I
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->G:I
const/4 v5, 0x4
const/4 v6, 0x2
const/4 v7, 0x1
if-eqz v2, :cond_67
if-eq v2, v7, :cond_64
if-eq v2, v6, :cond_61
if-eq v2, v5, :cond_5e
move-object v2, v4
goto :goto_69
:cond_5e
const-string v2, " (Wireless)"
goto :goto_69
:cond_61
const-string v2, " (USB port)"
goto :goto_69
:cond_64
const-string v2, " (AC charger)"
goto :goto_69
:cond_67
const-string v2, " (None)"
:goto_69
const-string v8, "pluged: "
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v8, Lcom/uc/crashsdk/e;->G:I
invoke-virtual {v1, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->H:I
if-eq v2, v7, :cond_94
if-eq v2, v6, :cond_92
const/4 v3, 0x3
if-eq v2, v3, :cond_8f
if-eq v2, v5, :cond_8c
const/4 v3, 0x5
if-eq v2, v3, :cond_89
move-object v3, v4
goto :goto_94
:cond_89
const-string v3, " (Full)"
goto :goto_94
:cond_8c
const-string v3, " (Not charging)"
goto :goto_94
:cond_8f
const-string v3, " (Discharging)"
goto :goto_94
:cond_92
const-string v3, " (Charging)"
:cond_94
:goto_94
const-string v2, "status: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->H:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "voltage: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->E:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "temperature: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget v2, Lcom/uc/crashsdk/e;->I:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "technology: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v2, Lcom/uc/crashsdk/e;->J:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "battery low: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-boolean v2, Lcom/uc/crashsdk/e;->K:Z
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_d8
.catch Ljava/lang/Throwable; {:try_start_2c .. :try_end_d8} :catch_d9
return-object v1
:catch_d9
move-exception v0
.line 2
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
const/4 v0, 0x0
return-object v0
nop
:pswitch_data_e0
.packed-switch 0x1
:pswitch_3e
:pswitch_3b
:pswitch_38
:pswitch_35
:pswitch_32
:pswitch_2f
:pswitch_2c
.end packed-switch
.end method
.method private static Y()V
.registers 4
.line 1
sget-boolean v0, Lcom/uc/crashsdk/b;->c:Z
if-eqz v0, :cond_1e
sget-boolean v0, Lcom/uc/crashsdk/e;->L:Z
if-eqz v0, :cond_1e
sget-boolean v0, Lcom/uc/crashsdk/a;->c:Z
if-eqz v0, :cond_1e
const/4 v0, 0x0
.line 2
sput-boolean v0, Lcom/uc/crashsdk/e;->L:Z
.line 3
sget-object v1, Lcom/uc/crashsdk/e;->P:Lcom/uc/crashsdk/a/e;
invoke-static {v1}, Lcom/uc/crashsdk/a/f;->b(Ljava/lang/Runnable;)Z
move-result v1
if-nez v1, :cond_1e
.line 4
sget-object v1, Lcom/uc/crashsdk/e;->P:Lcom/uc/crashsdk/a/e;
const-wide/16 v2, 0x7d0
invoke-static {v0, v1, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
:cond_1e
return-void
.end method
.method private static Z()Z
.registers 1
.line 1
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_c
invoke-static {}, Lcom/uc/crashsdk/JNIBridge;->nativeIsCrashing()Z
move-result v0
if-eqz v0, :cond_c
const/4 v0, 0x1
return v0
:cond_c
const/4 v0, 0x0
return v0
.end method
.method static a(Ljava/io/OutputStream;Ljava/lang/String;I)I
.registers 8
const/4 v0, 0x0
if-nez p1, :cond_7
.line 119
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return v0
.line 120
:cond_7
:try_start_7
invoke-static {p1}, Lcom/uc/crashsdk/a/b;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
if-nez v1, :cond_20
.line 121
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "file: \'"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "\' not found or decode failed!"
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 122
:cond_20
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result p1
:try_end_24
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_24} :catch_63
add-int/lit8 v2, p2, 0x20
if-le p1, v2, :cond_29
move p1, p2
:cond_29
const-string p2, "UTF-8"
if-lez p1, :cond_3d
.line 123
:try_start_2d
invoke-virtual {v1, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
invoke-virtual {p0, v2, v0, p1}, Ljava/io/OutputStream;->write([BII)V
const-string v2, "\n"
.line 124
invoke-virtual {v2, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
invoke-virtual {p0, v2}, Ljava/io/OutputStream;->write([B)V
.line 125
:cond_3d
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v2
if-ge p1, v2, :cond_69
.line 126
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v3, "(truncated %d bytes)\n"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
.line 127
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
sub-int/2addr v1, p1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v4, v0
.line 128
invoke-static {v2, v3, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 129
invoke-virtual {v0, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p2
.line 130
invoke-virtual {p0, p2}, Ljava/io/OutputStream;->write([B)V
:try_end_60
.catch Ljava/lang/Throwable; {:try_start_2d .. :try_end_60} :catch_61
goto :goto_69
:catch_61
move-exception p2
goto :goto_66
:catch_63
move-exception p1
move-object p2, p1
const/4 p1, 0x0
.line 131
:goto_66
invoke-static {p2, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 132
:cond_69
:goto_69
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return p1
.end method
.method private static a(Landroid/os/StatFs;Ljava/lang/String;Ljava/lang/String;)J
.registers 7
const/4 v0, 0x1
const/4 v1, 0x0
.line 102
:try_start_2
sget v2, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v3, 0x12
if-lt v2, v3, :cond_26
.line 103
const-class v2, Landroid/os/StatFs;
new-array v3, v1, [Ljava/lang/Class;
invoke-virtual {v2, p1, v3}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p1
.line 104
invoke-virtual {p1, v0}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 105
new-array v2, v1, [Ljava/lang/Object;
invoke-virtual {p1, p0, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_26
.line 106
instance-of v2, p1, Ljava/lang/Long;
if-eqz v2, :cond_26
.line 107
check-cast p1, Ljava/lang/Long;
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p0
:try_end_25
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_25} :catch_26
return-wide p0
.line 108
:catch_26
:cond_26
:try_start_26
const-class p1, Landroid/os/StatFs;
new-array v2, v1, [Ljava/lang/Class;
invoke-virtual {p1, p2, v2}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object p1
.line 109
invoke-virtual {p1, v0}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 110
new-array p2, v1, [Ljava/lang/Object;
invoke-virtual {p1, p0, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
if-eqz p0, :cond_49
.line 111
instance-of p1, p0, Ljava/lang/Integer;
if-eqz p1, :cond_49
.line 112
check-cast p0, Ljava/lang/Integer;
invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I
move-result p0
:try_end_43
.catch Ljava/lang/Throwable; {:try_start_26 .. :try_end_43} :catch_45
int-to-long p0, p0
return-wide p0
:catch_45
move-exception p0
.line 113
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_49
const-wide/16 p0, 0x0
return-wide p0
.end method
.method private static a(Ljava/io/InputStreamReader;)Ljava/io/BufferedReader;
.registers 4
const/4 v0, 0x0
const/16 v1, 0x2000
:cond_3
:goto_3
if-nez v0, :cond_14
if-lez v1, :cond_14
.line 66
:try_start_7
new-instance v2, Ljava/io/BufferedReader;
invoke-direct {v2, p0, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
:try_end_c
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_c} :catch_e
move-object v0, v2
goto :goto_3
.line 67
:catch_e
div-int/lit8 v1, v1, 0x2
const/16 v2, 0x200
if-ge v1, v2, :cond_3
:cond_14
return-object v0
.end method
.method static a(I)Ljava/lang/String;
.registers 6
.line 133
:try_start_0
new-instance v0, Ljava/io/File;
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, "/proc/%d/cmdline"
const/4 v3, 0x1
new-array v3, v3, [Ljava/lang/Object;
.line 134
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
const/4 v4, 0x0
aput-object p0, v3, v4
.line 135
invoke-static {v1, v2, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
const/16 p0, 0x80
.line 136
invoke-static {v0, p0, v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;IZ)Ljava/lang/String;
move-result-object p0
.line 137
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_2c
.line 138
invoke-static {p0}, Lcom/uc/crashsdk/e;->k(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_27
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_27} :catch_28
return-object p0
:catch_28
move-exception p0
.line 139
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_2c
const-string p0, "unknown"
return-object p0
.end method
.method private static a(Ljava/io/File;)Ljava/lang/String;
.registers 3
.line 70
:try_start_0
invoke-virtual {p0}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v0
:try_end_4
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_4} :catch_5
goto :goto_6
:catch_5
const/4 v0, 0x0
.line 71
:goto_6
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_10
.line 72
invoke-virtual {p0}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
:cond_10
return-object v0
.end method
.method static a(Ljava/lang/String;)Ljava/lang/String;
.registers 7
.line 206
invoke-static {}, Lcom/uc/crashsdk/g;->x()Z
move-result v0
if-nez v0, :cond_7
return-object p0
:cond_7
const/16 v0, 0x2f
.line 207
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v0
if-gtz v0, :cond_10
return-object p0
:cond_10
const/16 v1, 0x5f
.line 208
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->indexOf(II)I
move-result v2
if-gt v2, v0, :cond_19
return-object p0
:cond_19
add-int/lit8 v3, v2, 0x1
.line 209
invoke-virtual {p0, v1, v3}, Ljava/lang/String;->indexOf(II)I
move-result v1
if-gt v1, v2, :cond_22
return-object p0
.line 210
:cond_22
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "CrashSDK"
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
add-int/lit8 v0, v0, 0x1
.line 211
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 212
invoke-virtual {p0, v3, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 213
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->d(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_44
return-object p0
.line 214
:cond_44
new-instance v1, Ljava/io/File;
invoke-direct {v1, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 215
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->e(Ljava/io/File;)[B
move-result-object v2
if-eqz v2, :cond_ac
.line 216
array-length v3, v2
if-gtz v3, :cond_53
goto :goto_ac
:cond_53
const/4 v3, 0x0
const/4 v4, 0x0
const/16 v5, 0x10
.line 217
:try_start_57
invoke-virtual {v0, v4, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B
move-result-object v0
invoke-static {v2, v0}, Lcom/uc/crashsdk/a/c;->b([B[B)[B
move-result-object v3
:try_end_63
.catch Ljava/lang/Throwable; {:try_start_57 .. :try_end_63} :catch_64
goto :goto_68
:catch_64
move-exception v0
.line 218
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_68
if-nez v3, :cond_6b
return-object p0
.line 219
:cond_6b
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, ".ec"
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 220
new-instance v2, Ljava/io/File;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, ".tmp"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v2, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 221
invoke-static {v2, v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;[B)Z
move-result v3
if-nez v3, :cond_99
return-object p0
.line 222
:cond_99
new-instance v3, Ljava/io/File;
invoke-direct {v3, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v3}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v3
if-nez v3, :cond_a8
.line 223
invoke-virtual {v2}, Ljava/io/File;->delete()Z
return-object p0
.line 224
:cond_a8
invoke-virtual {v1}, Ljava/io/File;->delete()Z
return-object v0
:cond_ac
:goto_ac
return-object p0
.end method
.method static a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 11
.line 49
:try_start_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
:try_end_2
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_2} :catch_7e
const/16 v1, 0x1a
const-string v2, "ps"
const/4 v3, 0x0
const/4 v4, 0x1
if-lt v0, v1, :cond_14
const/4 v0, 0x2
.line 50
:try_start_b
new-array v0, v0, [Ljava/lang/String;
aput-object v2, v0, v3
const-string v1, "-ef"
aput-object v1, v0, v4
goto :goto_18
.line 51
:cond_14
new-array v0, v4, [Ljava/lang/String;
aput-object v2, v0, v3
.line 52
:goto_18
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/Runtime;->exec([Ljava/lang/String;)Ljava/lang/Process;
move-result-object v0
.line 53
new-instance v1, Ljava/io/BufferedReader;
new-instance v2, Ljava/io/InputStreamReader;
.line 54
invoke-virtual {v0}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;
move-result-object v0
invoke-direct {v2, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
invoke-direct {v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
.line 55
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v0
.line 56
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v2
.line 57
new-instance v5, Ljava/io/ByteArrayOutputStream;
invoke-direct {v5}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 58
:cond_3b
:goto_3b
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v6
:try_end_3f
.catch Ljava/lang/Throwable; {:try_start_b .. :try_end_3f} :catch_7e
const-string v7, "UTF-8"
if-eqz v6, :cond_79
if-eqz v0, :cond_4b
.line 59
:try_start_45
invoke-virtual {v6, p0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v8
if-nez v8, :cond_53
:cond_4b
if-eqz v2, :cond_55
.line 60
invoke-virtual {v6, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v8
if-eqz v8, :cond_55
:cond_53
const/4 v8, 0x1
goto :goto_66
:cond_55
const/16 v8, 0x2f
.line 61
invoke-virtual {v6, v8}, Ljava/lang/String;->indexOf(I)I
move-result v8
if-gez v8, :cond_65
const/16 v8, 0x2e
invoke-virtual {v6, v8}, Ljava/lang/String;->indexOf(I)I
move-result v8
if-gtz v8, :cond_53
:cond_65
const/4 v8, 0x0
:goto_66
if-eqz v8, :cond_3b
.line 62
invoke-virtual {v6, v7}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v6
invoke-virtual {v5, v6}, Ljava/io/ByteArrayOutputStream;->write([B)V
const-string v6, "\n"
.line 63
invoke-virtual {v6, v7}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v6
invoke-virtual {v5, v6}, Ljava/io/ByteArrayOutputStream;->write([B)V
goto :goto_3b
.line 64
:cond_79
invoke-virtual {v5, v7}, Ljava/io/ByteArrayOutputStream;->toString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_7d
.catch Ljava/lang/Throwable; {:try_start_45 .. :try_end_7d} :catch_7e
return-object p0
:catch_7e
move-exception p0
.line 65
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
const-string p0, "exception exists."
return-object p0
.end method
.method private static a(Ljava/lang/Throwable;Ljava/lang/String;JZ)Ljava/lang/String;
.registers 22
move-object/from16 v1, p0
move-object/from16 v2, p1
move-wide/from16 v3, p2
const-string v5, "\n"
const-string v6, "\'\n"
const-string v7, "--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n"
const-string v8, "UTF-8"
const-wide/16 v9, 0x0
const/4 v11, 0x0
.line 140
:try_start_11
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v0
const/4 v12, 0x1
if-nez v0, :cond_1e
.line 141
invoke-static {}, Lcom/uc/crashsdk/g;->a()V
.line 142
invoke-static {v12}, Lcom/uc/crashsdk/e;->a(Z)V
:cond_1e
cmp-long v0, v3, v9
if-nez v0, :cond_28
.line 143
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
goto :goto_29
:cond_28
move-object v0, v11
.line 144
:goto_29
new-instance v13, Lcom/uc/crashsdk/e$a;
invoke-direct {v13, v3, v4, v0}, Lcom/uc/crashsdk/e$a;-><init>(JLjava/io/OutputStream;)V
:try_end_2e
.catch Ljava/lang/Throwable; {:try_start_11 .. :try_end_2e} :catch_33d
.catchall {:try_start_11 .. :try_end_2e} :catchall_33a
.line 145
:try_start_2e
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_3f
const/16 v0, 0x7e
.line 146
invoke-static {v0, v2}, Lcom/uc/crashsdk/JNIBridge;->set(ILjava/lang/String;)J
:try_end_37
.catch Ljava/lang/Throwable; {:try_start_2e .. :try_end_37} :catch_3b
.catchall {:try_start_2e .. :try_end_37} :catchall_38
goto :goto_3f
:catchall_38
move-exception v0
goto/16 :goto_36b
:catch_3b
move-exception v0
.line 147
:try_start_3c
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 148
:cond_3f
:goto_3f
invoke-static {}, Lcom/uc/crashsdk/e;->R()Ljava/lang/String;
move-result-object v0
invoke-static {v13, v2, v0}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V
:try_end_46
.catch Ljava/lang/Throwable; {:try_start_3c .. :try_end_46} :catch_337
.catchall {:try_start_3c .. :try_end_46} :catchall_38
if-eqz p4, :cond_51
.line 149
:try_start_48
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_4b
.catch Ljava/lang/Throwable; {:try_start_48 .. :try_end_4b} :catch_4c
.catchall {:try_start_48 .. :try_end_4b} :catchall_38
goto :goto_51
:catch_4c
move-exception v0
move-object v14, v0
.line 150
:try_start_4e
invoke-static {v14}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_51
.catch Ljava/lang/Throwable; {:try_start_4e .. :try_end_51} :catch_337
.catchall {:try_start_4e .. :try_end_51} :catchall_38
.line 151
:cond_51
:goto_51
:try_start_51
new-instance v0, Ljava/lang/StringBuilder;
const-string v14, "Process Name: \'"
invoke-direct {v0, v14}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Lcom/uc/crashsdk/e;->h()Ljava/lang/String;
move-result-object v14
invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
new-instance v0, Ljava/lang/StringBuilder;
const-string v14, "Thread Name: \'"
invoke-direct {v0, v14}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v14
invoke-virtual {v14}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v14
invoke-virtual {v0, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_8d
.catch Ljava/lang/Throwable; {:try_start_51 .. :try_end_8d} :catch_8e
.catchall {:try_start_51 .. :try_end_8d} :catchall_38
goto :goto_92
:catch_8e
move-exception v0
:try_start_8f
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_92
.catch Ljava/lang/Throwable; {:try_start_8f .. :try_end_92} :catch_337
.catchall {:try_start_8f .. :try_end_92} :catchall_38
:goto_92
:try_start_92
const-string v0, "Back traces starts.\n"
.line 152
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_9b
.catch Ljava/lang/Throwable; {:try_start_92 .. :try_end_9b} :catch_e7
.catchall {:try_start_92 .. :try_end_9b} :catchall_38
.line 153
:try_start_9b
const-class v0, Ljava/lang/Throwable;
const-string v6, "detailMessage"
invoke-virtual {v0, v6}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v0
invoke-virtual {v0, v12}, Ljava/lang/reflect/Field;->setAccessible(Z)V
invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
if-eqz v6, :cond_be
check-cast v6, Ljava/lang/String;
const-string v14, "\n\t"
const-string v15, "\n-> "
invoke-virtual {v6, v14, v15}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
invoke-virtual {v0, v1, v6}, Ljava/lang/reflect/Field;->set(Ljava/lang/Object;Ljava/lang/Object;)V
:try_end_b9
.catch Ljava/lang/Throwable; {:try_start_9b .. :try_end_b9} :catch_ba
.catchall {:try_start_9b .. :try_end_b9} :catchall_38
goto :goto_be
:catch_ba
move-exception v0
:try_start_bb
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 154
:cond_be
:goto_be
invoke-virtual/range {p0 .. p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_eb
.line 155
invoke-virtual/range {p0 .. p0}, Ljava/lang/Throwable;->getLocalizedMessage()Ljava/lang/String;
move-result-object v6
invoke-virtual {v0, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_eb
.line 156
new-instance v6, Ljava/lang/StringBuilder;
const-string v14, "Message: "
invoke-direct {v6, v14}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_e6
.catch Ljava/lang/Throwable; {:try_start_bb .. :try_end_e6} :catch_e7
.catchall {:try_start_bb .. :try_end_e6} :catchall_38
goto :goto_eb
:catch_e7
move-exception v0
.line 157
:try_start_e8
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_eb
.catch Ljava/lang/Throwable; {:try_start_e8 .. :try_end_eb} :catch_337
.catchall {:try_start_e8 .. :try_end_eb} :catchall_38
.line 158
:cond_eb
:goto_eb
:try_start_eb
new-instance v0, Ljava/io/PrintStream;
invoke-direct {v0, v13}, Ljava/io/PrintStream;-><init>(Ljava/io/OutputStream;)V
.line 159
invoke-virtual {v1, v0}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V
:try_end_f3
.catch Ljava/lang/Throwable; {:try_start_eb .. :try_end_f3} :catch_f4
.catchall {:try_start_eb .. :try_end_f3} :catchall_38
goto :goto_f8
:catch_f4
move-exception v0
.line 160
:try_start_f5
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_f8
.catch Ljava/lang/Throwable; {:try_start_f5 .. :try_end_f8} :catch_337
.catchall {:try_start_f5 .. :try_end_f8} :catchall_38
:goto_f8
:try_start_f8
const-string v0, "Back traces ends.\n"
.line 161
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_101
.catch Ljava/lang/Throwable; {:try_start_f8 .. :try_end_101} :catch_102
.catchall {:try_start_f8 .. :try_end_101} :catchall_38
goto :goto_106
:catch_102
move-exception v0
.line 162
:try_start_103
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 163
:goto_106
invoke-static {v13}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
:try_end_109
.catch Ljava/lang/Throwable; {:try_start_103 .. :try_end_109} :catch_337
.catchall {:try_start_103 .. :try_end_109} :catchall_38
.line 164
:try_start_109
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_10c
.catch Ljava/lang/Throwable; {:try_start_109 .. :try_end_10c} :catch_10d
.catchall {:try_start_109 .. :try_end_10c} :catchall_38
goto :goto_112
:catch_10d
move-exception v0
move-object v1, v0
.line 165
:try_start_10f
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_112
.catch Ljava/lang/Throwable; {:try_start_10f .. :try_end_112} :catch_337
.catchall {:try_start_10f .. :try_end_112} :catchall_38
.line 166
:goto_112
:try_start_112
invoke-static {v13, v8, v7}, Lcom/uc/crashsdk/a;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V
:try_end_115
.catch Ljava/lang/Throwable; {:try_start_112 .. :try_end_115} :catch_116
.catchall {:try_start_112 .. :try_end_115} :catchall_38
goto :goto_11b
:catch_116
move-exception v0
move-object v1, v0
.line 167
:try_start_118
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_11b
.catch Ljava/lang/Throwable; {:try_start_118 .. :try_end_11b} :catch_337
.catchall {:try_start_118 .. :try_end_11b} :catchall_38
:goto_11b
if-eqz p4, :cond_126
.line 168
:try_start_11d
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_120
.catch Ljava/lang/Throwable; {:try_start_11d .. :try_end_120} :catch_121
.catchall {:try_start_11d .. :try_end_120} :catchall_38
goto :goto_126
:catch_121
move-exception v0
move-object v1, v0
.line 169
:try_start_123
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_126
.catch Ljava/lang/Throwable; {:try_start_123 .. :try_end_126} :catch_337
.catchall {:try_start_123 .. :try_end_126} :catchall_38
:cond_126
:goto_126
const/16 v1, 0x2800
:try_start_128
const-string v0, "/proc/meminfo"
const-string v6, "meminfo:\n"
.line 170
invoke-virtual {v6, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v6
invoke-virtual {v13, v6}, Lcom/uc/crashsdk/e$a;->write([B)V
invoke-static {v13, v0, v1}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;Ljava/lang/String;I)I
:try_end_136
.catch Ljava/lang/Throwable; {:try_start_128 .. :try_end_136} :catch_137
.catchall {:try_start_128 .. :try_end_136} :catchall_38
goto :goto_13b
:catch_137
move-exception v0
:try_start_138
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_13b
.catch Ljava/lang/Throwable; {:try_start_138 .. :try_end_13b} :catch_337
.catchall {:try_start_138 .. :try_end_13b} :catchall_38
:goto_13b
const/4 v6, 0x0
:try_start_13c
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v14, "/proc/%d/status"
new-array v15, v12, [Ljava/lang/Object;
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v16
invoke-static/range {v16 .. v16}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v16
aput-object v16, v15, v6
invoke-static {v0, v14, v15}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v14, "status:\n"
invoke-virtual {v14, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v14
invoke-virtual {v13, v14}, Lcom/uc/crashsdk/e$a;->write([B)V
invoke-static {v13, v0, v1}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;Ljava/lang/String;I)I
:try_end_15c
.catch Ljava/lang/Throwable; {:try_start_13c .. :try_end_15c} :catch_15d
.catchall {:try_start_13c .. :try_end_15c} :catchall_38
goto :goto_161
:catch_15d
move-exception v0
:try_start_15e
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_161
.catch Ljava/lang/Throwable; {:try_start_15e .. :try_end_161} :catch_337
.catchall {:try_start_15e .. :try_end_161} :catchall_38
:goto_161
:try_start_161
const-string v0, "memory info:\n"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Lcom/uc/crashsdk/e;->g()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_17d
.catch Ljava/lang/Throwable; {:try_start_161 .. :try_end_17d} :catch_17e
.catchall {:try_start_161 .. :try_end_17d} :catchall_38
goto :goto_182
:catch_17e
move-exception v0
:try_start_17f
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_182
invoke-static {v13}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
.line 171
invoke-static {v13}, Lcom/uc/crashsdk/e;->g(Ljava/io/OutputStream;)V
:try_end_188
.catch Ljava/lang/Throwable; {:try_start_17f .. :try_end_188} :catch_337
.catchall {:try_start_17f .. :try_end_188} :catchall_38
.line 172
:try_start_188
invoke-static {v13, v8, v11}, Lcom/uc/crashsdk/a;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/ArrayList;)V
:try_end_18b
.catch Ljava/lang/Throwable; {:try_start_188 .. :try_end_18b} :catch_18c
.catchall {:try_start_188 .. :try_end_18b} :catchall_38
goto :goto_191
:catch_18c
move-exception v0
move-object v1, v0
:try_start_18e
invoke-static {v1, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_191
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_1ab
sput-boolean v6, Lcom/uc/crashsdk/e;->h:Z
:try_end_197
.catch Ljava/lang/Throwable; {:try_start_18e .. :try_end_197} :catch_337
.catchall {:try_start_18e .. :try_end_197} :catchall_38
:try_start_197
const-string v0, "JAVADUMPFILES"
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_1a4
.catch Ljava/lang/Throwable; {:try_start_197 .. :try_end_1a4} :catch_1a5
.catchall {:try_start_197 .. :try_end_1a4} :catchall_38
goto :goto_1a9
:catch_1a5
move-exception v0
:try_start_1a6
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_1a9
sput-boolean v12, Lcom/uc/crashsdk/e;->h:Z
:try_end_1ab
.catch Ljava/lang/Throwable; {:try_start_1a6 .. :try_end_1ab} :catch_337
.catchall {:try_start_1a6 .. :try_end_1ab} :catchall_38
.line 173
:cond_1ab
:try_start_1ab
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_1ae
.catch Ljava/lang/Throwable; {:try_start_1ab .. :try_end_1ae} :catch_1af
.catchall {:try_start_1ab .. :try_end_1ae} :catchall_38
goto :goto_1b4
:catch_1af
move-exception v0
move-object v1, v0
.line 174
:try_start_1b1
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 175
:goto_1b4
invoke-static {v13}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;)V
:try_end_1b7
.catch Ljava/lang/Throwable; {:try_start_1b1 .. :try_end_1b7} :catch_337
.catchall {:try_start_1b1 .. :try_end_1b7} :catchall_38
.line 176
:try_start_1b7
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_1ba
.catch Ljava/lang/Throwable; {:try_start_1b7 .. :try_end_1ba} :catch_1bb
.catchall {:try_start_1b7 .. :try_end_1ba} :catchall_38
goto :goto_1c0
:catch_1bb
move-exception v0
move-object v1, v0
.line 177
:try_start_1bd
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_1c0
.catch Ljava/lang/Throwable; {:try_start_1bd .. :try_end_1c0} :catch_337
.catchall {:try_start_1bd .. :try_end_1c0} :catchall_38
:goto_1c0
:try_start_1c0
const-string v0, "battery info:\n"
.line 178
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_1c9
.catch Ljava/lang/Throwable; {:try_start_1c0 .. :try_end_1c9} :catch_1ca
.catchall {:try_start_1c0 .. :try_end_1c9} :catchall_38
goto :goto_1ce
:catch_1ca
move-exception v0
:try_start_1cb
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_1ce
.catch Ljava/lang/Throwable; {:try_start_1cb .. :try_end_1ce} :catch_337
.catchall {:try_start_1cb .. :try_end_1ce} :catchall_38
:goto_1ce
:try_start_1ce
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_1e4
sput-boolean v6, Lcom/uc/crashsdk/e;->h:Z
const-string v0, "BATTERYINFO"
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
sput-boolean v12, Lcom/uc/crashsdk/e;->h:Z
goto :goto_1fa
:cond_1e4
invoke-static {}, Lcom/uc/crashsdk/e;->X()Ljava/lang/StringBuilder;
move-result-object v0
if-eqz v0, :cond_1fa
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_1f5
.catch Ljava/lang/Throwable; {:try_start_1ce .. :try_end_1f5} :catch_1f6
.catchall {:try_start_1ce .. :try_end_1f5} :catchall_38
goto :goto_1fa
:catch_1f6
move-exception v0
:try_start_1f7
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:cond_1fa
:goto_1fa
invoke-static {v13}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
.line 179
invoke-static {v13}, Lcom/uc/crashsdk/e;->c(Ljava/io/OutputStream;)V
:try_end_200
.catch Ljava/lang/Throwable; {:try_start_1f7 .. :try_end_200} :catch_337
.catchall {:try_start_1f7 .. :try_end_200} :catchall_38
:try_start_200
const-string v0, "device status:\n"
.line 180
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_209
.catch Ljava/lang/Throwable; {:try_start_200 .. :try_end_209} :catch_20a
.catchall {:try_start_200 .. :try_end_209} :catchall_38
goto :goto_20e
:catch_20a
move-exception v0
:try_start_20b
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_20e
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
:try_end_210
.catch Ljava/lang/Throwable; {:try_start_20b .. :try_end_210} :catch_337
.catchall {:try_start_20b .. :try_end_210} :catchall_38
if-eqz v0, :cond_22b
:try_start_212
sput-boolean v6, Lcom/uc/crashsdk/e;->h:Z
const-string v0, "DEVICESTATUS"
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
sput-boolean v12, Lcom/uc/crashsdk/e;->h:Z
:try_end_223
.catch Ljava/lang/Throwable; {:try_start_212 .. :try_end_223} :catch_225
.catchall {:try_start_212 .. :try_end_223} :catchall_38
goto/16 :goto_2c5
:catch_225
move-exception v0
:goto_226
:try_start_226
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_229
.catch Ljava/lang/Throwable; {:try_start_226 .. :try_end_229} :catch_337
.catchall {:try_start_226 .. :try_end_229} :catchall_38
goto/16 :goto_2c5
:cond_22b
:try_start_22b
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v1, "has root: %s\n"
new-array v14, v12, [Ljava/lang/Object;
invoke-static {}, Lcom/uc/crashsdk/a/g;->e()Z
move-result v15
invoke-static {v15}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v15
aput-object v15, v14, v6
invoke-static {v0, v1, v14}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
const-string v0, ""
sget-object v1, Landroid/os/Build;->TAGS:Ljava/lang/String;
if-eqz v1, :cond_24e
sget-object v0, Landroid/os/Build;->TAGS:Ljava/lang/String;
:cond_24e
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v14, "build tags: "
invoke-virtual {v1, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Lcom/uc/crashsdk/a/g;->f()Z
move-result v0
if-eqz v0, :cond_266
const-string v0, " (default root)"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_266
invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
invoke-static {}, Lcom/uc/crashsdk/a/g;->h()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_2c5
sget-object v1, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v5, "su binary: %s\n"
new-array v14, v12, [Ljava/lang/Object;
aput-object v0, v14, v6
invoke-static {v1, v5, v14}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "su permission: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Lcom/uc/crashsdk/a/g;->g()Z
move-result v1
if-eqz v1, :cond_2a7
const-string v1, "valid ("
:goto_2a3
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_2aa
:cond_2a7
const-string v1, "invalid ("
goto :goto_2a3
:goto_2aa
invoke-static {}, Lcom/uc/crashsdk/a/g;->i()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ")\n"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_2c1
.catch Ljava/lang/Throwable; {:try_start_22b .. :try_end_2c1} :catch_2c2
.catchall {:try_start_22b .. :try_end_2c1} :catchall_38
goto :goto_2c5
:catch_2c2
move-exception v0
goto/16 :goto_226
:cond_2c5
:goto_2c5
:try_start_2c5
invoke-static {v13}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
.line 181
invoke-static {v13}, Lcom/uc/crashsdk/e;->d(Ljava/io/OutputStream;)V
.line 182
invoke-static {v13}, Lcom/uc/crashsdk/e;->e(Ljava/io/OutputStream;)V
:try_end_2ce
.catch Ljava/lang/Throwable; {:try_start_2c5 .. :try_end_2ce} :catch_337
.catchall {:try_start_2c5 .. :try_end_2ce} :catchall_38
.line 183
:try_start_2ce
invoke-static {v13, v8, v7, v11}, Lcom/uc/crashsdk/a;->b(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V
:try_end_2d1
.catch Ljava/lang/Throwable; {:try_start_2ce .. :try_end_2d1} :catch_2d2
.catchall {:try_start_2ce .. :try_end_2d1} :catchall_38
goto :goto_2d7
:catch_2d2
move-exception v0
move-object v1, v0
:try_start_2d4
invoke-static {v1, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_2d7
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_2f1
sput-boolean v6, Lcom/uc/crashsdk/e;->h:Z
:try_end_2dd
.catch Ljava/lang/Throwable; {:try_start_2d4 .. :try_end_2dd} :catch_337
.catchall {:try_start_2d4 .. :try_end_2dd} :catchall_38
:try_start_2dd
const-string v0, "JAVACACHEDINFOS"
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_2ea
.catch Ljava/lang/Throwable; {:try_start_2dd .. :try_end_2ea} :catch_2eb
.catchall {:try_start_2dd .. :try_end_2ea} :catchall_38
goto :goto_2ef
:catch_2eb
move-exception v0
:try_start_2ec
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_2ef
sput-boolean v12, Lcom/uc/crashsdk/e;->h:Z
:try_end_2f1
.catch Ljava/lang/Throwable; {:try_start_2ec .. :try_end_2f1} :catch_337
.catchall {:try_start_2ec .. :try_end_2f1} :catchall_38
.line 184
:cond_2f1
:try_start_2f1
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_2f4
.catch Ljava/lang/Throwable; {:try_start_2f1 .. :try_end_2f4} :catch_2f5
.catchall {:try_start_2f1 .. :try_end_2f4} :catchall_38
goto :goto_2fa
:catch_2f5
move-exception v0
move-object v1, v0
.line 185
:try_start_2f7
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_2fa
.catch Ljava/lang/Throwable; {:try_start_2f7 .. :try_end_2fa} :catch_337
.catchall {:try_start_2f7 .. :try_end_2fa} :catchall_38
.line 186
:goto_2fa
:try_start_2fa
invoke-static {v13, v8, v7, v11}, Lcom/uc/crashsdk/a;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V
:try_end_2fd
.catch Ljava/lang/Throwable; {:try_start_2fa .. :try_end_2fd} :catch_2fe
.catchall {:try_start_2fa .. :try_end_2fd} :catchall_38
goto :goto_303
:catch_2fe
move-exception v0
move-object v1, v0
:try_start_300
invoke-static {v1, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_303
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_31d
sput-boolean v6, Lcom/uc/crashsdk/e;->h:Z
:try_end_309
.catch Ljava/lang/Throwable; {:try_start_300 .. :try_end_309} :catch_337
.catchall {:try_start_300 .. :try_end_309} :catchall_38
:try_start_309
const-string v0, "JAVACALLBACKINFOS"
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v8}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v13, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_316
.catch Ljava/lang/Throwable; {:try_start_309 .. :try_end_316} :catch_317
.catchall {:try_start_309 .. :try_end_316} :catchall_38
goto :goto_31b
:catch_317
move-exception v0
:try_start_318
invoke-static {v0, v13}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_31b
sput-boolean v12, Lcom/uc/crashsdk/e;->h:Z
.line 187
:cond_31d
invoke-virtual {v13}, Lcom/uc/crashsdk/e$a;->a()V
.line 188
invoke-static {v13}, Lcom/uc/crashsdk/e;->a(Lcom/uc/crashsdk/e$a;)V
:try_end_323
.catch Ljava/lang/Throwable; {:try_start_318 .. :try_end_323} :catch_337
.catchall {:try_start_318 .. :try_end_323} :catchall_38
.line 189
:try_start_323
invoke-virtual {v13}, Ljava/io/OutputStream;->flush()V
:try_end_326
.catch Ljava/lang/Throwable; {:try_start_323 .. :try_end_326} :catch_327
.catchall {:try_start_323 .. :try_end_326} :catchall_38
goto :goto_32c
:catch_327
move-exception v0
move-object v1, v0
.line 190
:try_start_329
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_32c
.catch Ljava/lang/Throwable; {:try_start_329 .. :try_end_32c} :catch_337
.catchall {:try_start_329 .. :try_end_32c} :catchall_38
:goto_32c
cmp-long v0, v3, v9
if-eqz v0, :cond_333
.line 191
invoke-static {v13}, Lcom/uc/crashsdk/e;->b(Lcom/uc/crashsdk/e$a;)V
.line 192
:cond_333
invoke-static {v13}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
goto :goto_34b
:catch_337
move-exception v0
move-object v11, v13
goto :goto_33e
:catchall_33a
move-exception v0
move-object v13, v11
goto :goto_36b
:catch_33d
move-exception v0
.line 193
:goto_33e
:try_start_33e
invoke-static {v0, v11}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_341
.catchall {:try_start_33e .. :try_end_341} :catchall_33a
cmp-long v0, v3, v9
if-eqz v0, :cond_348
.line 194
invoke-static {v11}, Lcom/uc/crashsdk/e;->b(Lcom/uc/crashsdk/e$a;)V
.line 195
:cond_348
invoke-static {v11}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 196
:goto_34b
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-nez v0, :cond_352
.line 197
invoke-static/range {p1 .. p1}, Lcom/uc/crashsdk/e;->q(Ljava/lang/String;)V
.line 198
:cond_352
:try_start_352
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-nez v0, :cond_35f
.line 199
invoke-static/range {p1 .. p1}, Lcom/uc/crashsdk/e;->l(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 200
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_360
:cond_35f
move-object v0, v2
:goto_360
const-string v1, "java"
.line 201
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->b(Ljava/lang/String;Ljava/lang/String;)V
:try_end_365
.catch Ljava/lang/Throwable; {:try_start_352 .. :try_end_365} :catch_366
goto :goto_36a
:catch_366
move-exception v0
.line 202
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_36a
return-object v2
:goto_36b
cmp-long v1, v3, v9
if-eqz v1, :cond_372
.line 203
invoke-static {v13}, Lcom/uc/crashsdk/e;->b(Lcom/uc/crashsdk/e$a;)V
.line 204
:cond_372
invoke-static {v13}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 205
goto :goto_377
:goto_376
throw v0
:goto_377
goto :goto_376
.end method
.method private static a(Ljava/util/Date;)Ljava/lang/String;
.registers 5
.line 415
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v1, 0x6
new-array v1, v1, [Ljava/lang/Object;
.line 416
invoke-virtual {p0}, Ljava/util/Date;->getYear()I
move-result v2
add-int/lit16 v2, v2, 0x76c
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
invoke-virtual {p0}, Ljava/util/Date;->getMonth()I
move-result v2
const/4 v3, 0x1
add-int/2addr v2, v3
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v1, v3
invoke-virtual {p0}, Ljava/util/Date;->getDate()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x2
aput-object v2, v1, v3
.line 417
invoke-virtual {p0}, Ljava/util/Date;->getHours()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x3
aput-object v2, v1, v3
invoke-virtual {p0}, Ljava/util/Date;->getMinutes()I
move-result v2
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x4
aput-object v2, v1, v3
invoke-virtual {p0}, Ljava/util/Date;->getSeconds()I
move-result p0
invoke-static {p0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p0
const/4 v2, 0x5
aput-object p0, v1, v2
const-string p0, "%d%02d%02d%02d%02d%02d"
.line 418
invoke-static {v0, p0, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static a([Ljava/lang/StackTraceElement;Ljava/lang/String;)Ljava/lang/StringBuilder;
.registers 11
.line 664
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const/4 v1, 0x0
if-eqz p0, :cond_45
.line 665
array-length v2, p0
if-lez v2, :cond_45
const/4 v2, 0x1
if-nez p1, :cond_10
const/4 v3, 0x1
goto :goto_11
:cond_10
const/4 v3, 0x0
.line 666
:goto_11
array-length v4, p0
move v6, v3
const/4 v3, 0x0
const/4 v5, 0x0
:goto_15
if-ge v3, v4, :cond_44
aget-object v7, p0, v3
add-int/lit8 v5, v5, 0x1
const-string v8, " at "
.line 667
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 668
invoke-virtual {v7}, Ljava/lang/StackTraceElement;->toString()Ljava/lang/String;
move-result-object v8
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v8, "\n"
.line 669
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
if-nez v6, :cond_41
.line 670
invoke-virtual {v7}, Ljava/lang/StackTraceElement;->getMethodName()Ljava/lang/String;
move-result-object v7
invoke-virtual {v7, p1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v7
if-eqz v7, :cond_41
.line 671
invoke-virtual {v0}, Ljava/lang/StringBuilder;->length()I
move-result v5
invoke-virtual {v0, v1, v5}, Ljava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
const/4 v5, 0x0
const/4 v6, 0x1
:cond_41
add-int/lit8 v3, v3, 0x1
goto :goto_15
:cond_44
move v1, v5
:cond_45
if-nez v1, :cond_4c
const-string p0, " (no java stack)\n"
.line 672
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:cond_4c
return-object v0
.end method
.method public static a(I[Ljava/lang/Object;)V
.registers 7
const/16 v0, 0x1d
const/4 v1, 0x0
const/16 v2, 0xa
const/4 v3, 0x0
const/4 v4, 0x1
packed-switch p0, :pswitch_data_220
.line 6
:pswitch_a
sget-boolean p0, Lcom/uc/crashsdk/e;->a:Z
if-eqz p0, :cond_217
return-void
.line 7
:pswitch_f
sget-boolean p0, Lcom/uc/crashsdk/e;->a:Z
if-nez p0, :cond_1c
if-eqz p1, :cond_16
goto :goto_1c
:cond_16
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 8
:cond_1c
:goto_1c
aget-object p0, p1, v3
check-cast p0, Ljava/lang/Long;
invoke-virtual {p0}, Ljava/lang/Long;->longValue()J
move-result-wide p0
.line 9
invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
move-result-object v0
invoke-virtual {v0}, Ljava/util/Calendar;->getTimeInMillis()J
move-result-wide v1
cmp-long v3, v1, p0
if-ltz v3, :cond_3f
invoke-static {}, Lcom/uc/crashsdk/a/h;->g()V
const/16 p0, 0x64
invoke-static {p0}, Lcom/uc/crashsdk/f;->a(I)V
invoke-static {v4, v4}, Lcom/uc/crashsdk/e;->b(ZZ)I
invoke-static {}, Lcom/uc/crashsdk/a/h;->b()V
goto :goto_48
:cond_3f
invoke-static {}, Lcom/uc/crashsdk/a/h;->h()V
invoke-static {}, Lcom/uc/crashsdk/a/h;->i()V
invoke-static {}, Lcom/uc/crashsdk/a/h;->c()V
:goto_48
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/util/Calendar;)V
.line 10
:pswitch_4b
invoke-static {}, Lcom/uc/crashsdk/e;->V()V
return-void
.line 11
:pswitch_4f
:try_start_4f
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object p0
invoke-static {p0}, Lcom/uc/crashsdk/e;->d(Landroid/content/Context;)Z
move-result p0
if-eqz p0, :cond_5a
return-void
:cond_5a
sget p0, Lcom/uc/crashsdk/e;->N:I
add-int/2addr p0, v4
sput p0, Lcom/uc/crashsdk/e;->N:I
if-lt p0, v2, :cond_6d
sget-boolean p0, Lcom/uc/crashsdk/b;->d:Z
if-eqz p0, :cond_6c
const/16 p0, 0x82
const-string p1, "(get failed)"
invoke-static {p0, p1}, Lcom/uc/crashsdk/JNIBridge;->set(ILjava/lang/String;)J
:cond_6c
return-void
:cond_6d
invoke-static {}, Lcom/uc/crashsdk/e;->W()V
:try_end_70
.catch Ljava/lang/Throwable; {:try_start_4f .. :try_end_70} :catch_71
return-void
:catch_71
move-exception p0
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
:pswitch_76
const/16 p0, 0x8
.line 12
invoke-static {p0}, Lcom/uc/crashsdk/JNIBridge;->cmd(I)J
return-void
.line 13
:pswitch_7c
sget-boolean p0, Lcom/uc/crashsdk/e;->R:Z
if-nez p0, :cond_94
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result p0
if-eqz p0, :cond_94
invoke-static {}, Lcom/uc/crashsdk/g;->K()Z
move-result p0
if-eqz p0, :cond_94
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object p0
invoke-static {p0}, Lcom/uc/crashsdk/e;->b(Landroid/content/Context;)V
return-void
:cond_94
sget-boolean p0, Lcom/uc/crashsdk/e;->R:Z
if-eqz p0, :cond_b4
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result p0
if-eqz p0, :cond_a4
invoke-static {}, Lcom/uc/crashsdk/g;->K()Z
move-result p0
if-nez p0, :cond_b4
:cond_a4
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object p0
:try_start_a8
sget-object p1, Lcom/uc/crashsdk/e;->Q:Lcom/uc/crashsdk/e$c;
invoke-virtual {p0, p1}, Landroid/content/Context;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
sput-boolean v3, Lcom/uc/crashsdk/e;->R:Z
:try_end_af
.catch Ljava/lang/Throwable; {:try_start_a8 .. :try_end_af} :catch_b0
return-void
:catch_b0
move-exception p0
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_b4
return-void
.line 14
:pswitch_b5
sget-boolean p0, Lcom/uc/crashsdk/b;->d:Z
if-eqz p0, :cond_cd
const-string p0, "jni"
invoke-static {p0}, Lcom/uc/crashsdk/e;->c(Ljava/lang/String;)Z
move-result p0
const/16 p1, 0x1c
invoke-static {p1, p0}, Lcom/uc/crashsdk/JNIBridge;->set(IZ)J
const-string p0, "anr"
invoke-static {p0}, Lcom/uc/crashsdk/e;->c(Ljava/lang/String;)Z
move-result p0
invoke-static {v0, p0}, Lcom/uc/crashsdk/JNIBridge;->set(IZ)J
:cond_cd
return-void
.line 15
:pswitch_ce
invoke-static {v3, v4}, Lcom/uc/crashsdk/e;->a(ZZ)Z
return-void
.line 16
:pswitch_d2
invoke-static {v3, v3}, Lcom/uc/crashsdk/e;->b(ZZ)I
return-void
.line 17
:pswitch_d6
sget-object p0, Lcom/uc/crashsdk/e;->ab:Ljava/lang/Object;
monitor-enter p0
:try_start_d9
sget-boolean p1, Lcom/uc/crashsdk/e;->ac:Z
if-nez p1, :cond_10d
invoke-static {}, Lcom/uc/crashsdk/g;->O()Z
move-result p1
if-eqz p1, :cond_10d
invoke-static {}, Lcom/uc/crashsdk/b;->w()Z
move-result p1
if-nez p1, :cond_ea
goto :goto_10d
:cond_ea
invoke-static {}, Lcom/uc/crashsdk/b;->p()Z
invoke-static {}, Lcom/uc/crashsdk/a/h;->f()V
invoke-static {}, Lcom/uc/crashsdk/f;->c()V
invoke-static {}, Lcom/uc/crashsdk/b;->C()Z
move-result p1
if-eqz p1, :cond_fc
invoke-static {}, Lcom/uc/crashsdk/e;->C()V
:cond_fc
invoke-static {}, Lcom/uc/crashsdk/g;->O()Z
move-result p1
if-eqz p1, :cond_109
invoke-static {}, Ljava/util/Calendar;->getInstance()Ljava/util/Calendar;
move-result-object p1
invoke-static {p1}, Lcom/uc/crashsdk/e;->a(Ljava/util/Calendar;)V
:cond_109
sput-boolean v4, Lcom/uc/crashsdk/e;->ac:Z
monitor-exit p0
return-void
:cond_10d
:goto_10d
monitor-exit p0
return-void
:catchall_10f
move-exception p1
monitor-exit p0
:try_end_111
.catchall {:try_start_d9 .. :try_end_111} :catchall_10f
throw p1
.line 18
:pswitch_112
:try_start_112
invoke-static {}, Lcom/uc/crashsdk/a;->d()V
:try_end_115
.catch Ljava/lang/Throwable; {:try_start_112 .. :try_end_115} :catch_116
return-void
:catch_116
move-exception p0
.line 19
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.line 20
:pswitch_11b
sget-boolean p0, Lcom/uc/crashsdk/e;->a:Z
if-nez p0, :cond_128
if-eqz p1, :cond_122
goto :goto_128
:cond_122
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 21
:cond_128
:goto_128
aget-object p0, p1, v3
check-cast p0, Ljava/lang/String;
.line 22
aget-object v0, p1, v4
check-cast v0, Ljava/lang/Boolean;
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result v0
const/4 v1, 0x2
.line 23
aget-object p1, p1, v1
check-cast p1, Ljava/lang/Boolean;
invoke-virtual {p1}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
.line 24
invoke-static {p0, v0, p1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;ZZ)V
return-void
.line 25
:pswitch_141
sput-boolean v3, Lcom/uc/crashsdk/e;->L:Z
invoke-static {}, Lcom/uc/crashsdk/e;->X()Ljava/lang/StringBuilder;
move-result-object p0
invoke-static {}, Lcom/uc/crashsdk/b;->d()Ljava/lang/String;
move-result-object p1
if-eqz p0, :cond_159
new-instance v0, Ljava/io/File;
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {v0, p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;Ljava/lang/String;)Z
:cond_159
return-void
.line 26
:pswitch_15a
invoke-static {}, Lcom/uc/crashsdk/e;->aa()V
return-void
.line 27
:pswitch_15e
sget-object p0, Lcom/uc/crashsdk/e;->Y:Ljava/lang/Object;
monitor-enter p0
:try_start_161
sget-object p1, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
if-nez p1, :cond_167
monitor-exit p0
return-void
:cond_167
sput-boolean v4, Lcom/uc/crashsdk/e;->W:Z
monitor-exit p0
:try_end_16a
.catchall {:try_start_161 .. :try_end_16a} :catchall_1f2
invoke-static {}, Lcom/uc/crashsdk/b;->n()Z
move-result p0
if-nez p0, :cond_1f1
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result p0
if-nez p0, :cond_180
invoke-static {}, Lcom/uc/crashsdk/a/d;->b()Ljava/lang/String;
move-result-object p0
const-string p1, "DEBUG"
invoke-static {p1, p0}, Lcom/uc/crashsdk/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_180
const-string p0, "unexp"
invoke-static {p0}, Lcom/uc/crashsdk/e;->c(Ljava/lang/String;)Z
move-result p0
if-nez p0, :cond_190
const-string p0, "DEBUG"
const-string p1, "unexp sample miss"
invoke-static {p0, p1}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return-void
:cond_190
invoke-static {}, Lcom/uc/crashsdk/g;->o()I
move-result p0
int-to-long p0, p0
invoke-static {}, Lcom/uc/crashsdk/g;->p()I
move-result v3
invoke-static {p0, p1, v3}, Lcom/uc/crashsdk/JNIBridge;->nativeGenerateUnexpLog(JI)I
move-result p0
if-eqz p0, :cond_1e7
const/16 p1, 0xb
invoke-static {p1}, Lcom/uc/crashsdk/f;->a(I)V
and-int/lit16 p1, p0, 0x1100
if-eqz p1, :cond_1b2
const/16 p0, 0x69
sput p0, Lcom/uc/crashsdk/e;->Z:I
const/16 p0, 0x1e
:goto_1ae
invoke-static {p0}, Lcom/uc/crashsdk/f;->a(I)V
goto :goto_1e4
:cond_1b2
and-int/lit16 p1, p0, 0x2100
if-eqz p1, :cond_1bd
const/16 p0, 0x68
sput p0, Lcom/uc/crashsdk/e;->Z:I
const/16 p0, 0x1f
goto :goto_1ae
:cond_1bd
and-int/lit16 p1, p0, 0x4100
if-eqz p1, :cond_1c8
const/16 p0, 0x6a
sput p0, Lcom/uc/crashsdk/e;->Z:I
const/16 p0, 0x20
goto :goto_1ae
:cond_1c8
and-int/lit16 p1, p0, 0x500
if-eqz p1, :cond_1d4
const/16 p0, 0x67
sput p0, Lcom/uc/crashsdk/e;->Z:I
invoke-static {v2}, Lcom/uc/crashsdk/f;->a(I)V
goto :goto_1e4
:cond_1d4
and-int/lit16 p0, p0, 0x900
if-eqz p0, :cond_1e0
const/16 p0, 0x6b
sput p0, Lcom/uc/crashsdk/e;->Z:I
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
goto :goto_1e4
:cond_1e0
const/16 p0, 0x66
sput p0, Lcom/uc/crashsdk/e;->Z:I
:goto_1e4
invoke-static {v4}, Lcom/uc/crashsdk/e;->a(Z)V
:cond_1e7
sget-object p0, Lcom/uc/crashsdk/e;->Y:Ljava/lang/Object;
monitor-enter p0
:try_start_1ea
sput-object v1, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
monitor-exit p0
return-void
:catchall_1ee
move-exception p1
monitor-exit p0
:try_end_1f0
.catchall {:try_start_1ea .. :try_end_1f0} :catchall_1ee
throw p1
:cond_1f1
return-void
:catchall_1f2
move-exception p1
:try_start_1f3
monitor-exit p0
:try_end_1f4
.catchall {:try_start_1f3 .. :try_end_1f4} :catchall_1f2
throw p1
.line 28
:pswitch_1f5
invoke-static {}, Lcom/uc/crashsdk/b;->F()I
move-result p0
const/4 p1, 0x5
if-ne p0, p1, :cond_1fe
const/4 p0, 0x1
goto :goto_1ff
:cond_1fe
const/4 p0, 0x0
:goto_1ff
if-eqz p0, :cond_204
const-wide/16 p0, 0x1
goto :goto_206
:cond_204
const-wide/16 p0, 0x0
:goto_206
invoke-static {v2, p0, p1, v1, v1}, Lcom/uc/crashsdk/JNIBridge;->nativeCmd(IJLjava/lang/String;[Ljava/lang/Object;)J
sput-boolean v4, Lcom/uc/crashsdk/a;->c:Z
invoke-static {v3}, Lcom/uc/crashsdk/a;->a(Z)Z
sput-boolean v4, Lcom/uc/crashsdk/e;->L:Z
invoke-static {}, Lcom/uc/crashsdk/e;->Y()V
invoke-static {}, Lcom/uc/crashsdk/e;->x()V
return-void
.line 29
:cond_217
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
goto :goto_21e
:goto_21d
throw p0
:goto_21e
goto :goto_21d
nop
:pswitch_data_220
.packed-switch 0x191
:pswitch_1f5
:pswitch_15e
:pswitch_15a
:pswitch_a
:pswitch_141
:pswitch_11b
:pswitch_112
:pswitch_d6
:pswitch_d2
:pswitch_ce
:pswitch_b5
:pswitch_7c
:pswitch_76
:pswitch_4f
:pswitch_f
:pswitch_4b
.end packed-switch
.end method
.method public static a(Landroid/content/Context;)V
.registers 5
.line 435
:try_start_0
invoke-static {}, Lcom/uc/crashsdk/e;->U()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 436
:cond_7
new-instance v0, Lcom/uc/crashsdk/e$c;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lcom/uc/crashsdk/e$c;-><init>(B)V
new-instance v1, Landroid/content/IntentFilter;
const-string v2, "android.intent.action.ANR"
invoke-direct {v1, v2}, Landroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
const/4 v2, 0x0
const/4 v3, 0x3
.line 437
invoke-static {v3}, Lcom/uc/crashsdk/a/f;->a(I)Landroid/os/Handler;
move-result-object v3
.line 438
invoke-virtual {p0, v0, v1, v2, v3}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
:try_end_1d
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_1d} :catch_1e
return-void
:catch_1e
move-exception p0
.line 439
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method private static a(Lcom/uc/crashsdk/e$a;)V
.registers 6
.line 114
:try_start_0
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v1, "log end: %s\n"
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
.line 115
invoke-static {}, Lcom/uc/crashsdk/e;->m()Ljava/lang/String;
move-result-object v4
aput-object v4, v2, v3
.line 116
invoke-static {v0, v1, v2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 117
invoke-virtual {p0, v0}, Lcom/uc/crashsdk/e$a;->a(Ljava/lang/String;)V
:try_end_15
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_15} :catch_16
return-void
:catch_16
move-exception v0
.line 118
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
return-void
.end method
.method private static a(Lcom/uc/crashsdk/e$a;Ljava/lang/String;J)V
.registers 8
const-string v0, "UTF-8"
.line 322
sget-boolean v1, Lcom/uc/crashsdk/b;->d:Z
const/4 v2, 0x0
if-eqz v1, :cond_50
.line 323
:try_start_7
invoke-virtual {p0}, Ljava/io/OutputStream;->flush()V
:try_end_a
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_a} :catch_b
goto :goto_f
:catch_b
move-exception v1
.line 324
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 325
:goto_f
invoke-static {p1, p2, p3}, Lcom/uc/crashsdk/JNIBridge;->nativeDumpThreads(Ljava/lang/String;J)Ljava/lang/String;
move-result-object p1
.line 326
sget-boolean p2, Lcom/uc/crashsdk/e;->af:Z
if-nez p2, :cond_4e
if-eqz p1, :cond_4e
.line 327
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p2
const/16 p3, 0x200
if-ge p2, p3, :cond_4e
const-string p2, "/"
.line 328
invoke-virtual {p1, p2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p2
if-eqz p2, :cond_4e
const/16 p2, 0xa
.line 329
invoke-virtual {p1, p2}, Ljava/lang/String;->indexOf(I)I
move-result p2
if-gez p2, :cond_4e
.line 330
new-instance p2, Ljava/io/File;
invoke-direct {p2, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 331
invoke-virtual {p2}, Ljava/io/File;->exists()Z
move-result p2
if-nez p2, :cond_4a
.line 332
new-instance p2, Ljava/lang/StringBuilder;
const-string p3, "Can not found "
invoke-direct {p2, p3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
:cond_4a
move-object v3, v2
move-object v2, p1
move-object p1, v3
goto :goto_52
:cond_4e
move-object v2, p1
goto :goto_52
:cond_50
const-string p1, "Native not initialized, skip dump!"
:goto_52
if-eqz p1, :cond_6d
.line 333
:try_start_54
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
invoke-virtual {p0, p1}, Lcom/uc/crashsdk/e$a;->write([B)V
const-string p1, "\n"
.line 334
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
invoke-virtual {p0, p1}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_64
.catch Ljava/lang/Throwable; {:try_start_54 .. :try_end_64} :catch_65
goto :goto_69
:catch_65
move-exception p1
.line 335
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 336
:goto_69
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
goto :goto_86
:cond_6d
if-eqz v2, :cond_86
.line 337
sget-boolean p1, Lcom/uc/crashsdk/e;->af:Z
if-nez p1, :cond_86
const/high16 p1, 0x100000
.line 338
invoke-static {p0, v2, p1}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;Ljava/lang/String;I)I
.line 339
new-instance p1, Ljava/io/File;
invoke-direct {p1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 340
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result p2
if-eqz p2, :cond_86
.line 341
invoke-virtual {p1}, Ljava/io/File;->delete()Z
.line 342
:cond_86
:goto_86
:try_start_86
invoke-virtual {p0}, Ljava/io/OutputStream;->flush()V
:try_end_89
.catch Ljava/lang/Throwable; {:try_start_86 .. :try_end_89} :catch_8a
return-void
:catch_8a
move-exception p0
.line 343
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method private static a(Ljava/io/OutputStream;)V
.registers 3
:try_start_0
const-string v0, "--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n"
const-string v1, "UTF-8"
.line 68
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_b
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_b} :catch_c
return-void
:catch_c
move-exception v0
.line 69
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
return-void
.end method
.method static a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V
.registers 8
const/4 v0, 0x0
.line 429
sput-boolean v0, Lcom/uc/crashsdk/e;->h:Z
const/4 v1, 0x1
.line 430
:try_start_4
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v3, "$^%s`%s^$"
const/4 v4, 0x2
new-array v4, v4, [Ljava/lang/Object;
aput-object p1, v4, v0
aput-object p2, v4, v1
invoke-static {v2, v3, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string p2, "UTF-8"
.line 431
invoke-virtual {p1, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
.line 432
invoke-virtual {p0, p1}, Ljava/io/OutputStream;->write([B)V
:try_end_1c
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_1c} :catch_1d
goto :goto_21
:catch_1d
move-exception p0
.line 433
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 434
:goto_21
sput-boolean v1, Lcom/uc/crashsdk/e;->h:Z
return-void
.end method
.method static a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;IZZ)V
.registers 11
const/4 v0, 0x0
.line 419
sput-boolean v0, Lcom/uc/crashsdk/e;->h:Z
const/4 v1, 0x1
.line 420
:try_start_4
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v3, "$^%s`%s`%d`%d,%d^$"
const/4 v4, 0x5
new-array v4, v4, [Ljava/lang/Object;
aput-object p1, v4, v0
aput-object p2, v4, v1
const/4 p1, 0x2
.line 421
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
aput-object p2, v4, p1
const/4 p1, 0x3
if-eqz p4, :cond_1b
const/4 p2, 0x1
goto :goto_1c
:cond_1b
const/4 p2, 0x0
:goto_1c
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
aput-object p2, v4, p1
const/4 p1, 0x4
if-eqz p5, :cond_26
const/4 v0, 0x1
.line 422
:cond_26
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
aput-object p2, v4, p1
.line 423
invoke-static {v2, v3, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
const-string p2, "UTF-8"
.line 424
invoke-virtual {p1, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
.line 425
invoke-virtual {p0, p1}, Ljava/io/OutputStream;->write([B)V
:try_end_39
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_39} :catch_3a
goto :goto_3e
:catch_3a
move-exception p1
.line 426
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 427
:goto_3e
sput-boolean v1, Lcom/uc/crashsdk/e;->h:Z
.line 428
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.end method
.method private static a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/Set;)V
.registers 23
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/OutputStream;",
"Ljava/lang/String;",
"Ljava/util/Set<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
move-object/from16 v1, p0
move-object/from16 v0, p1
move-object/from16 v2, p2
const-string v3, "UTF-8"
.line 73
invoke-static/range {p1 .. p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v4
if-nez v4, :cond_fb
invoke-interface {v2, v0}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_fb
const-string v4, "/storage/emulated"
.line 74
invoke-virtual {v0, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-eqz v4, :cond_1e
goto/16 :goto_fb
.line 75
:cond_1e
invoke-interface {v2, v0}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 76
:try_start_21
new-instance v2, Landroid/os/StatFs;
invoke-direct {v2, v0}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
:try_end_26
.catch Ljava/lang/Throwable; {:try_start_21 .. :try_end_26} :catch_fb
const-string v4, "getBlockCountLong"
const-string v5, "getBlockCount"
.line 77
invoke-static {v2, v4, v5}, Lcom/uc/crashsdk/e;->a(Landroid/os/StatFs;Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v4
const-string v6, "getBlockSizeLong"
const-string v7, "getBlockSize"
.line 78
invoke-static {v2, v6, v7}, Lcom/uc/crashsdk/e;->a(Landroid/os/StatFs;Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v6
const-wide/16 v8, 0x400
.line 79
div-long v8, v4, v8
mul-long v8, v8, v6
const-wide/16 v10, 0x2800
cmp-long v12, v8, v10
if-gez v12, :cond_43
return-void
:cond_43
const-string v8, "getAvailableBlocksLong"
const-string v9, "getAvailableBlocks"
.line 80
invoke-static {v2, v8, v9}, Lcom/uc/crashsdk/e;->a(Landroid/os/StatFs;Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v8
const-string v10, "getFreeBlocksLong"
const-string v11, "getFreeBlocks"
.line 81
invoke-static {v2, v10, v11}, Lcom/uc/crashsdk/e;->a(Landroid/os/StatFs;Ljava/lang/String;Ljava/lang/String;)J
move-result-wide v10
.line 82
:try_start_53
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v12, "%s:\n"
const/4 v13, 0x1
new-array v14, v13, [Ljava/lang/Object;
const/4 v15, 0x0
aput-object v0, v14, v15
invoke-static {v2, v12, v14}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 83
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, " total: %d kB\n"
new-array v12, v13, [Ljava/lang/Object;
:try_end_6e
.catch Ljava/lang/Throwable; {:try_start_53 .. :try_end_6e} :catch_f7
long-to-double v4, v4
const-wide/high16 v16, 0x3ff0000000000000L # 1.0
invoke-static {v4, v5}, Ljava/lang/Double;->isNaN(D)Z
mul-double v4, v4, v16
long-to-double v13, v6
invoke-static {v13, v14}, Ljava/lang/Double;->isNaN(D)Z
mul-double v4, v4, v13
const-wide/high16 v18, 0x4090000000000000L # 1024.0
div-double v4, v4, v18
double-to-long v4, v4
.line 84
:try_start_81
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
aput-object v4, v12, v15
.line 85
invoke-static {v0, v2, v12}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 86
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
.line 87
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 88
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, " available: %d kB\n"
const/4 v4, 0x1
new-array v5, v4, [Ljava/lang/Object;
:try_end_99
.catch Ljava/lang/Throwable; {:try_start_81 .. :try_end_99} :catch_f7
long-to-double v8, v8
invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z
mul-double v8, v8, v16
invoke-static {v13, v14}, Ljava/lang/Double;->isNaN(D)Z
mul-double v8, v8, v13
div-double v8, v8, v18
double-to-long v8, v8
.line 89
:try_start_a7
invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
aput-object v4, v5, v15
.line 90
invoke-static {v0, v2, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 91
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
.line 92
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 93
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, " free: %d kB\n"
const/4 v4, 0x1
new-array v5, v4, [Ljava/lang/Object;
:try_end_bf
.catch Ljava/lang/Throwable; {:try_start_a7 .. :try_end_bf} :catch_f7
long-to-double v8, v10
invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z
mul-double v8, v8, v16
invoke-static {v13, v14}, Ljava/lang/Double;->isNaN(D)Z
mul-double v8, v8, v13
div-double v8, v8, v18
double-to-long v8, v8
.line 94
:try_start_cd
invoke-static {v8, v9}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
aput-object v4, v5, v15
.line 95
invoke-static {v0, v2, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 96
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
.line 97
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 98
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, " block size: %d B\n\n"
const/4 v4, 0x1
new-array v4, v4, [Ljava/lang/Object;
invoke-static {v6, v7}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v5
aput-object v5, v4, v15
invoke-static {v0, v2, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 99
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
.line 100
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_f6
.catch Ljava/lang/Throwable; {:try_start_cd .. :try_end_f6} :catch_f7
return-void
:catch_f7
move-exception v0
.line 101
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:catch_fb
:cond_fb
:goto_fb
return-void
.end method
.method public static a(Ljava/lang/String;Z)V
.registers 3
if-eqz p1, :cond_5
.line 408
sput-object p0, Lcom/uc/crashsdk/e;->x:Ljava/lang/String;
return-void
.line 409
:cond_5
sget-object p1, Lcom/uc/crashsdk/e;->y:Ljava/lang/Object;
monitor-enter p1
.line 410
:try_start_8
sput-object p0, Lcom/uc/crashsdk/e;->w:Ljava/lang/String;
.line 411
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "\n"
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 412
invoke-static {}, Lcom/uc/crashsdk/b;->f()Ljava/lang/String;
move-result-object v0
.line 413
invoke-static {v0, p0}, Lcom/uc/crashsdk/a/b;->a(Ljava/lang/String;Ljava/lang/String;)Z
.line 414
monitor-exit p1
return-void
:catchall_24
move-exception p0
monitor-exit p1
:try_end_26
.catchall {:try_start_8 .. :try_end_26} :catchall_24
throw p0
.end method
.method private static a(Ljava/lang/String;ZZ)V
.registers 34
const-string v0, "crashsdk uploading logs"
const-string v1, "crashsdk"
.line 231
invoke-static {v1, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 232
sget-object v1, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
monitor-enter v1
.line 233
:try_start_a
invoke-static/range {p0 .. p0}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_425
.line 234
invoke-static {}, Lcom/uc/crashsdk/g;->V()Ljava/lang/String;
move-result-object v0
new-instance v2, Ljava/io/File;
invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v3
if-nez v3, :cond_34
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "Folder not exist: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "crashsdk"
invoke-static {v2, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
goto/16 :goto_42c
:cond_34
invoke-virtual {v2}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v2
if-nez v2, :cond_4d
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "List folder failed: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
goto/16 :goto_42c
:cond_4d
array-length v3, v2
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
const/4 v11, 0x0
const/4 v12, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
const/16 v16, 0x0
:goto_5b
if-ge v5, v3, :cond_3ca
aget-object v4, v2, v5
invoke-virtual {v4}, Ljava/io/File;->isFile()Z
move-result v0
move-object/from16 v18, v2
if-nez v0, :cond_6d
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;)Z
:cond_6a
move/from16 v22, v3
goto :goto_a5
:cond_6d
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v0
const-string v2, ".tmp"
invoke-virtual {v0, v2}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v2
const-wide/16 v20, 0x3e8
if-eqz v2, :cond_ae
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v22
invoke-virtual {v4}, Ljava/io/File;->lastModified()J
move-result-wide v24
sub-long v22, v22, v24
div-long v22, v22, v20
const-wide/16 v19, 0x1e
cmp-long v2, v22, v19
if-lez v2, :cond_6a
new-instance v2, Ljava/lang/StringBuilder;
move/from16 v22, v3
const-string v3, "delete legacy tmp file: "
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
add-int/lit8 v7, v7, 0x1
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;)Z
:goto_a5
const/16 v17, 0x0
move/from16 v24, v15
move v15, v10
:goto_aa
move-object/from16 v10, p0
goto/16 :goto_3bf
:cond_ae
move/from16 v22, v3
invoke-virtual {v4}, Ljava/io/File;->length()J
move-result-wide v2
move/from16 v23, v14
move/from16 v24, v15
const-wide/16 v14, 0x0
cmp-long v0, v2, v14
if-nez v0, :cond_c9
add-int/lit8 v6, v6, 0x1
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;)Z
:goto_c3
const/16 v17, 0x0
move v15, v10
move/from16 v14, v23
goto :goto_aa
:cond_c9
const/4 v2, 0x3
if-eqz p1, :cond_122
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v25
invoke-virtual {v4}, Ljava/io/File;->lastModified()J
move-result-wide v27
sub-long v25, v25, v27
div-long v25, v25, v20
cmp-long v0, v25, v14
if-ltz v0, :cond_f7
const-wide/16 v20, 0x2
cmp-long v0, v25, v20
if-gez v0, :cond_e4
:goto_e2
const/4 v0, 0x0
goto :goto_f8
:cond_e4
const-wide/16 v20, 0x5
cmp-long v0, v25, v20
if-gez v0, :cond_f7
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v0
const-string v14, ".log"
invoke-virtual {v0, v14}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_f7
goto :goto_e2
:cond_f7
const/4 v0, 0x1
:goto_f8
sget-object v14, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v15, "file: %s, modify interval: %d s, safe upload: %s"
new-array v3, v2, [Ljava/lang/Object;
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v28
const/16 v17, 0x0
aput-object v28, v3, v17
invoke-static/range {v25 .. v26}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v25
const/16 v19, 0x1
aput-object v25, v3, v19
invoke-static {v0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v25
const/16 v26, 0x2
aput-object v25, v3, v26
invoke-static {v14, v15, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;)V
:try_end_11d
.catch Ljava/lang/Throwable; {:try_start_a .. :try_end_11d} :catch_436
.catchall {:try_start_a .. :try_end_11d} :catchall_434
if-nez v0, :cond_122
add-int/lit8 v8, v8, 0x1
goto :goto_c3
:cond_122
:try_start_122
invoke-static {}, Lcom/uc/crashsdk/g;->k()Z
move-result v0
if-eqz v0, :cond_1b6
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v0
const-string v3, "([^_]+)_([^_]+)_([^_]+)\\.crashsdk"
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
invoke-virtual {v0}, Ljava/util/regex/Matcher;->matches()Z
move-result v3
if-eqz v3, :cond_1b6
const/4 v3, 0x1
invoke-virtual {v0, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v14
const/4 v3, 0x2
invoke-virtual {v0, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v15
invoke-virtual {v0, v2}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
sget-object v3, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v2, "%s%s_%s_%s.%s"
:try_end_14e
.catch Ljava/lang/Throwable; {:try_start_122 .. :try_end_14e} :catch_1be
.catchall {:try_start_122 .. :try_end_14e} :catchall_434
move/from16 v26, v8
const/4 v8, 0x5
:try_start_151
new-array v8, v8, [Ljava/lang/Object;
invoke-static {v15}, Lcom/uc/crashsdk/e;->i(Ljava/lang/String;)Ljava/lang/String;
move-result-object v15
const/16 v17, 0x0
aput-object v15, v8, v17
invoke-static {}, Lcom/uc/crashsdk/e;->m()Ljava/lang/String;
move-result-object v15
const/16 v19, 0x1
aput-object v15, v8, v19
invoke-static {}, Lcom/uc/crashsdk/e;->P()Ljava/lang/String;
move-result-object v15
const/16 v27, 0x2
aput-object v15, v8, v27
const/4 v15, 0x3
aput-object v14, v8, v15
const/4 v14, 0x4
aput-object v0, v8, v14
invoke-static {v3, v2, v8}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-instance v2, Ljava/io/File;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->V()Ljava/lang/String;
move-result-object v8
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v2, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "File "
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, " matches, rename to "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v3, "crashsdk"
invoke-static {v3, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
invoke-virtual {v4, v2}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
:try_end_1b3
.catch Ljava/lang/Throwable; {:try_start_151 .. :try_end_1b3} :catch_1b4
.catchall {:try_start_151 .. :try_end_1b3} :catchall_434
goto :goto_1b9
:catch_1b4
move-exception v0
goto :goto_1c1
:cond_1b6
move/from16 v26, v8
move-object v2, v4
:goto_1b9
if-eq v2, v4, :cond_1c5
add-int/lit8 v12, v12, 0x1
goto :goto_1c5
:catch_1be
move-exception v0
move/from16 v26, v8
:goto_1c1
:try_start_1c1
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
move-object v2, v4
:cond_1c5
:goto_1c5
invoke-virtual {v2}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/e;->m(Ljava/lang/String;)[Z
move-result-object v3
const/4 v4, 0x0
aget-boolean v8, v3, v4
const/4 v14, 0x1
aget-boolean v15, v3, v14
invoke-static {v0, v8, v15}, Lcom/uc/crashsdk/e;->b(Ljava/lang/String;ZZ)Ljava/lang/String;
move-result-object v8
if-eq v0, v8, :cond_1eb
aget-boolean v0, v3, v4
if-eqz v0, :cond_1df
add-int/lit8 v10, v10, 0x1
:cond_1df
const/4 v2, 0x1
aget-boolean v0, v3, v2
if-eqz v0, :cond_1e6
add-int/lit8 v11, v11, 0x1
:cond_1e6
new-instance v2, Ljava/io/File;
invoke-direct {v2, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
:cond_1eb
invoke-static {v2}, Lcom/uc/crashsdk/d;->a(Ljava/io/File;)Ljava/io/File;
move-result-object v0
if-nez v0, :cond_1f3
const/4 v0, 0x0
goto :goto_20c
:cond_1f3
if-eq v2, v0, :cond_20c
invoke-virtual {v2}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v4
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v8
invoke-virtual {v4, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v4
if-nez v4, :cond_20c
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v4
if-eqz v4, :cond_20c
invoke-virtual {v2}, Ljava/io/File;->delete()Z
:cond_20c
:goto_20c
if-nez v0, :cond_224
new-instance v0, Ljava/lang/StringBuilder;
const-string v3, "onBeforeUploadLog return null, skip upload: "
invoke-direct {v0, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
goto :goto_238
:cond_224
invoke-static {}, Lcom/uc/crashsdk/g;->z()I
move-result v2
if-lez v2, :cond_241
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v14
int-to-long v3, v2
cmp-long v2, v14, v3
if-ltz v2, :cond_241
add-int/lit8 v9, v9, 0x1
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;)Z
:goto_238
const/16 v17, 0x0
move v15, v10
move/from16 v14, v23
move/from16 v8, v26
goto/16 :goto_aa
:cond_241
new-instance v2, Lcom/uc/crashsdk/e$d;
const/4 v3, 0x0
invoke-direct {v2, v3}, Lcom/uc/crashsdk/e$d;-><init>(B)V
const-wide/16 v3, 0x0
iput-wide v3, v2, Lcom/uc/crashsdk/e$d;->b:J
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
iput-wide v3, v2, Lcom/uc/crashsdk/e$d;->a:J
invoke-static {}, Lcom/uc/crashsdk/e;->T()Ljava/lang/String;
move-result-object v3
new-instance v4, Ljava/io/File;
invoke-direct {v4, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v4}, Ljava/io/File;->exists()Z
move-result v4
if-eqz v4, :cond_273
new-instance v4, Lcom/uc/crashsdk/a/e;
const/16 v14, 0x1c3
const/4 v15, 0x2
new-array v8, v15, [Ljava/lang/Object;
const/4 v15, 0x0
aput-object v3, v8, v15
const/4 v15, 0x1
aput-object v2, v8, v15
invoke-direct {v4, v14, v8}, Lcom/uc/crashsdk/a/e;-><init>(I[Ljava/lang/Object;)V
invoke-static {v3, v4}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;Lcom/uc/crashsdk/a/e;)Z
:cond_273
invoke-static {}, Lcom/uc/crashsdk/g;->A()J
move-result-wide v3
invoke-static {}, Lcom/uc/crashsdk/g;->B()I
move-result v8
invoke-static {}, Lcom/uc/crashsdk/g;->C()I
move-result v14
const-wide/16 v20, 0x0
cmp-long v15, v3, v20
if-ltz v15, :cond_2a9
move v15, v10
move/from16 v20, v11
iget-wide v10, v2, Lcom/uc/crashsdk/e$d;->b:J
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v29
add-long v10, v10, v29
cmp-long v21, v10, v3
if-lez v21, :cond_2ac
const/4 v10, 0x1
iput-boolean v10, v2, Lcom/uc/crashsdk/e$d;->e:Z
new-instance v8, Ljava/lang/StringBuilder;
const-string v10, "Reach max upload bytes: "
invoke-direct {v8, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v8, v3, v4}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
:goto_2a5
invoke-static {v3}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
goto :goto_2e8
:cond_2a9
move v15, v10
move/from16 v20, v11
:cond_2ac
invoke-static {}, Lcom/uc/crashsdk/g;->f()Z
move-result v3
if-nez v3, :cond_2e8
invoke-static {v0}, Lcom/uc/crashsdk/e;->b(Ljava/io/File;)Z
move-result v3
if-eqz v3, :cond_2d0
if-ltz v8, :cond_2e8
iget v3, v2, Lcom/uc/crashsdk/e$d;->c:I
if-lt v3, v8, :cond_2e8
const/4 v3, 0x1
iput-boolean v3, v2, Lcom/uc/crashsdk/e$d;->g:Z
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Reach max upload builtin log count: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
goto :goto_2a5
:cond_2d0
if-ltz v14, :cond_2e8
iget v3, v2, Lcom/uc/crashsdk/e$d;->d:I
if-lt v3, v14, :cond_2e8
const/4 v3, 0x1
iput-boolean v3, v2, Lcom/uc/crashsdk/e$d;->f:Z
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Reach max upload custom log count: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v14}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
goto :goto_2a5
:cond_2e8
:goto_2e8
iget-boolean v3, v2, Lcom/uc/crashsdk/e$d;->e:Z
if-eqz v3, :cond_2fa
const/16 v17, 0x0
const/16 v24, 0x1
:goto_2f0
move-object/from16 v10, p0
:goto_2f2
move/from16 v11, v20
move/from16 v14, v23
:goto_2f6
move/from16 v8, v26
goto/16 :goto_3bf
:cond_2fa
iget-boolean v3, v2, Lcom/uc/crashsdk/e$d;->g:Z
if-eqz v3, :cond_303
const/16 v16, 0x1
const/16 v17, 0x0
goto :goto_2f0
:cond_303
iget-boolean v3, v2, Lcom/uc/crashsdk/e$d;->f:Z
if-eqz v3, :cond_30f
const/4 v14, 0x1
const/16 v17, 0x0
move-object/from16 v10, p0
move/from16 v11, v20
goto :goto_2f6
:cond_30f
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v3
invoke-static {}, Lcom/uc/crashsdk/e;->O()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_32e
const-string v4, "_"
const/16 v8, 0xa
invoke-virtual {v3, v4, v8}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v3
array-length v4, v3
const/16 v8, 0x9
if-ne v4, v8, :cond_32e
const/4 v4, 0x1
aget-object v3, v3, v4
goto :goto_32f
:cond_32e
const/4 v3, 0x0
:goto_32f
if-eqz v3, :cond_33d
invoke-static {}, Lcom/uc/crashsdk/g;->R()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_33d
const/4 v3, 0x1
goto :goto_33e
:cond_33d
const/4 v3, 0x0
:goto_33e
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v4
move-object/from16 v10, p0
invoke-static {v0, v4, v10}, Lcom/uc/crashsdk/a/c;->a(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_3a3
new-instance v4, Ljava/lang/StringBuilder;
const-string v8, "Uploaded log: "
invoke-direct {v4, v8}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v8
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
const-string v8, "crashsdk"
const/4 v11, 0x0
invoke-static {v8, v4, v11}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
if-eqz v3, :cond_369
const/16 v3, 0xd
invoke-static {v3}, Lcom/uc/crashsdk/f;->a(I)V
:cond_369
iget-wide v3, v2, Lcom/uc/crashsdk/e$d;->b:J
invoke-virtual {v0}, Ljava/io/File;->length()J
move-result-wide v13
add-long/2addr v3, v13
iput-wide v3, v2, Lcom/uc/crashsdk/e$d;->b:J
invoke-static {v0}, Lcom/uc/crashsdk/e;->b(Ljava/io/File;)Z
move-result v3
if-eqz v3, :cond_37f
iget v3, v2, Lcom/uc/crashsdk/e$d;->c:I
const/4 v4, 0x1
add-int/2addr v3, v4
iput v3, v2, Lcom/uc/crashsdk/e$d;->c:I
goto :goto_385
:cond_37f
iget v3, v2, Lcom/uc/crashsdk/e$d;->d:I
const/4 v4, 0x1
add-int/2addr v3, v4
iput v3, v2, Lcom/uc/crashsdk/e$d;->d:I
:goto_385
invoke-static {}, Lcom/uc/crashsdk/e;->T()Ljava/lang/String;
move-result-object v3
new-instance v4, Lcom/uc/crashsdk/a/e;
const/16 v11, 0x1c4
const/4 v13, 0x2
new-array v13, v13, [Ljava/lang/Object;
const/16 v17, 0x0
aput-object v3, v13, v17
const/4 v14, 0x1
aput-object v2, v13, v14
invoke-direct {v4, v11, v13}, Lcom/uc/crashsdk/a/e;-><init>(I[Ljava/lang/Object;)V
invoke-static {v3, v4}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;Lcom/uc/crashsdk/a/e;)Z
invoke-virtual {v0}, Ljava/io/File;->delete()Z
const/4 v2, 0x3
const/4 v4, 0x0
goto :goto_3af
:cond_3a3
const/16 v17, 0x0
add-int/lit8 v4, v13, 0x1
if-eqz v3, :cond_3ae
const/16 v0, 0xe
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
:cond_3ae
const/4 v2, 0x3
:goto_3af
if-lt v4, v2, :cond_3bc
const-string v0, "Upload failed 3 times continuously, abort upload!"
const-string v2, "crashsdk"
const/4 v3, 0x0
invoke-static {v2, v0, v3}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
move/from16 v11, v20
goto :goto_3d1
:cond_3bc
move v13, v4
goto/16 :goto_2f2
:goto_3bf
add-int/lit8 v5, v5, 0x1
move v10, v15
move-object/from16 v2, v18
move/from16 v3, v22
move/from16 v15, v24
goto/16 :goto_5b
:cond_3ca
move/from16 v26, v8
move/from16 v23, v14
move/from16 v24, v15
move v15, v10
:goto_3d1
if-lez v7, :cond_3d8
const/16 v0, 0xc8
invoke-static {v0, v7}, Lcom/uc/crashsdk/f;->a(II)V
:cond_3d8
if-lez v6, :cond_3df
const/16 v0, 0xf
invoke-static {v0, v6}, Lcom/uc/crashsdk/f;->a(II)V
:cond_3df
if-lez v9, :cond_3e6
const/16 v0, 0x11
invoke-static {v0, v9}, Lcom/uc/crashsdk/f;->a(II)V
:cond_3e6
if-eqz v24, :cond_3ed
const/16 v0, 0x13
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
:cond_3ed
if-eqz v16, :cond_3f4
const/16 v0, 0x14
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
:cond_3f4
if-eqz v23, :cond_3fb
const/16 v0, 0x15
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
:cond_3fb
if-nez v24, :cond_401
if-nez v16, :cond_401
if-eqz v23, :cond_406
:cond_401
const/16 v0, 0x12
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
:cond_406
if-lez v15, :cond_40d
const/16 v0, 0x18
invoke-static {v0, v15}, Lcom/uc/crashsdk/f;->a(II)V
:cond_40d
if-lez v11, :cond_414
const/16 v0, 0xc9
invoke-static {v0, v11}, Lcom/uc/crashsdk/f;->a(II)V
:cond_414
if-lez v12, :cond_41b
const/16 v0, 0x19
invoke-static {v0, v12}, Lcom/uc/crashsdk/f;->a(II)V
:cond_41b
if-lez v26, :cond_42c
const/16 v0, 0x1a
move/from16 v4, v26
invoke-static {v0, v4}, Lcom/uc/crashsdk/f;->a(II)V
goto :goto_42c
:cond_425
const-string v0, "upload url is empty!"
const-string v2, "crashsdk"
.line 235
invoke-static {v2, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
:try_end_42c
.catch Ljava/lang/Throwable; {:try_start_1c1 .. :try_end_42c} :catch_436
.catchall {:try_start_1c1 .. :try_end_42c} :catchall_434
:cond_42c
:goto_42c
if-eqz p2, :cond_43f
.line 236
:try_start_42e
sget-object v0, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
:goto_430
invoke-virtual {v0}, Ljava/lang/Object;->notify()V
:try_end_433
.catchall {:try_start_42e .. :try_end_433} :catchall_449
goto :goto_43f
:catchall_434
move-exception v0
goto :goto_441
:catch_436
move-exception v0
.line 237
:try_start_437
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_43a
.catchall {:try_start_437 .. :try_end_43a} :catchall_434
if-eqz p2, :cond_43f
.line 238
:try_start_43c
sget-object v0, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
goto :goto_430
.line 239
:cond_43f
:goto_43f
monitor-exit v1
return-void
:goto_441
if-eqz p2, :cond_448
.line 240
sget-object v2, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
invoke-virtual {v2}, Ljava/lang/Object;->notify()V
.line 241
:cond_448
throw v0
:catchall_449
move-exception v0
.line 242
monitor-exit v1
:try_end_44b
.catchall {:try_start_43c .. :try_end_44b} :catchall_449
goto :goto_44d
:goto_44c
throw v0
:goto_44d
goto :goto_44c
.end method
.method private static a(Ljava/lang/Throwable;)V
.registers 2
.line 651
:try_start_0
invoke-virtual {p0}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object p0
const/4 v0, 0x0
.line 652
invoke-static {p0, v0}, Lcom/uc/crashsdk/e;->a([Ljava/lang/StackTraceElement;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
const-string v0, "DEBUG"
.line 653
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-static {v0, p0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_12
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_12} :catch_12
:catch_12
return-void
.end method
.method static a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.registers 4
const-string v0, "UTF-8"
if-eqz p1, :cond_23
:try_start_4
const-string v1, "[DEBUG] CrashHandler occurred new exception:\n"
.line 225
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
invoke-virtual {p1, v1}, Ljava/io/OutputStream;->write([B)V
.line 226
new-instance v1, Ljava/io/PrintStream;
invoke-direct {v1, p1}, Ljava/io/PrintStream;-><init>(Ljava/io/OutputStream;)V
.line 227
invoke-virtual {p0, v1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V
const-string v1, "\n\n"
.line 228
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_1e
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_1e} :catch_1f
goto :goto_23
:catch_1f
move-exception p1
.line 229
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 230
:cond_23
:goto_23
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method private static a(Ljava/util/Calendar;)V
.registers 10
.line 654
invoke-static {}, Lcom/uc/crashsdk/g;->Q()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 655
:cond_7
invoke-virtual {p0}, Ljava/util/Calendar;->getTimeInMillis()J
move-result-wide v0
const/4 v2, 0x5
const/4 v3, 0x1
.line 656
invoke-virtual {p0, v2, v3}, Ljava/util/Calendar;->add(II)V
const/16 v2, 0xb
const/4 v4, 0x0
.line 657
invoke-virtual {p0, v2, v4}, Ljava/util/Calendar;->set(II)V
const/16 v2, 0xc
.line 658
invoke-virtual {p0, v2, v4}, Ljava/util/Calendar;->set(II)V
const/16 v2, 0xd
.line 659
invoke-virtual {p0, v2, v4}, Ljava/util/Calendar;->set(II)V
.line 660
invoke-virtual {p0}, Ljava/util/Calendar;->getTimeInMillis()J
move-result-wide v5
sub-long v0, v5, v0
const-wide/32 v7, 0x36ee80
cmp-long p0, v0, v7
if-lez p0, :cond_2e
goto :goto_31
:cond_2e
const-wide/16 v7, 0x3e8
add-long/2addr v7, v0
.line 661
:goto_31
new-instance p0, Lcom/uc/crashsdk/a/e;
const/16 v0, 0x19f
new-array v1, v3, [Ljava/lang/Object;
.line 662
invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
aput-object v2, v1, v4
invoke-direct {p0, v0, v1}, Lcom/uc/crashsdk/a/e;-><init>(I[Ljava/lang/Object;)V
.line 663
invoke-static {v4, p0, v7, v8}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method static a(Z)V
.registers 11
.line 30
:try_start_0
invoke-static {}, Lcom/uc/crashsdk/b;->v()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 31
:cond_7
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/uc/crashsdk/g;->V()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 32
invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
if-nez v0, :cond_17
return-void
.line 33
:cond_17
invoke-static {}, Lcom/uc/crashsdk/g;->l()I
move-result v1
.line 34
invoke-static {}, Lcom/uc/crashsdk/g;->m()I
move-result v2
.line 35
array-length v3, v0
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v4
if-ge v3, v4, :cond_27
return-void
.line 36
:cond_27
array-length v3, v0
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
:goto_2c
if-ge v5, v3, :cond_3e
aget-object v8, v0, v5
.line 37
invoke-static {v8}, Lcom/uc/crashsdk/e;->b(Ljava/io/File;)Z
move-result v8
if-eqz v8, :cond_39
add-int/lit8 v6, v6, 0x1
goto :goto_3b
:cond_39
add-int/lit8 v7, v7, 0x1
:goto_3b
add-int/lit8 v5, v5, 0x1
goto :goto_2c
:cond_3e
if-eqz p0, :cond_46
if-lt v6, v1, :cond_46
sub-int/2addr v6, v1
add-int/lit8 v1, v6, 0x1
goto :goto_47
:cond_46
const/4 v1, 0x0
:goto_47
if-nez p0, :cond_4f
if-lt v7, v2, :cond_4f
sub-int/2addr v7, v2
add-int/lit8 p0, v7, 0x1
goto :goto_50
:cond_4f
const/4 p0, 0x0
:goto_50
if-nez v1, :cond_55
if-nez p0, :cond_55
return-void
.line 38
:cond_55
new-instance v2, Lcom/uc/crashsdk/e$b;
invoke-direct {v2, v4}, Lcom/uc/crashsdk/e$b;-><init>(B)V
invoke-static {v0, v2}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
.line 39
array-length v2, v0
move v5, p0
move v3, v1
:goto_60
if-ge v4, v2, :cond_ae
aget-object v6, v0, v4
.line 40
invoke-static {v6}, Lcom/uc/crashsdk/e;->b(Ljava/io/File;)Z
move-result v7
:try_end_68
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_68} :catch_c4
const-string v8, "crashsdk"
if-eqz v7, :cond_89
if-lez v3, :cond_89
.line 41
:try_start_6e
new-instance v7, Ljava/lang/StringBuilder;
const-string v9, "Delete oldest crash log: "
invoke-direct {v7, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v9
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v8, v7}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 42
invoke-virtual {v6}, Ljava/io/File;->delete()Z
add-int/lit8 v3, v3, -0x1
goto :goto_a7
:cond_89
if-nez v7, :cond_a7
if-lez v5, :cond_a7
.line 43
new-instance v7, Ljava/lang/StringBuilder;
const-string v9, "Delete oldest custom log: "
invoke-direct {v7, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v6}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v9
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v7
invoke-static {v8, v7}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 44
invoke-virtual {v6}, Ljava/io/File;->delete()Z
add-int/lit8 v5, v5, -0x1
:cond_a7
:goto_a7
if-nez v3, :cond_ab
if-eqz v5, :cond_ae
:cond_ab
add-int/lit8 v4, v4, 0x1
goto :goto_60
:cond_ae
const/16 v0, 0x10
add-int v2, v1, p0
.line 45
invoke-static {v0, v2}, Lcom/uc/crashsdk/f;->a(II)V
if-lez v1, :cond_bc
const/16 v0, 0x16
.line 46
invoke-static {v0, v1}, Lcom/uc/crashsdk/f;->a(II)V
:cond_bc
if-lez p0, :cond_c3
const/16 v0, 0x17
.line 47
invoke-static {v0, p0}, Lcom/uc/crashsdk/f;->a(II)V
:try_end_c3
.catch Ljava/lang/Throwable; {:try_start_6e .. :try_end_c3} :catch_c4
:cond_c3
return-void
:catch_c4
move-exception p0
.line 48
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method public static a()Z
.registers 7
.line 1
sget-wide v0, Lcom/uc/crashsdk/e;->f:J
const-wide/16 v2, 0x1
const-wide/16 v4, 0x0
cmp-long v6, v0, v4
if-nez v6, :cond_1e
const-wide/16 v0, 0x2
.line 2
sput-wide v0, Lcom/uc/crashsdk/e;->f:J
const-string v0, "logs"
.line 3
invoke-static {v0}, Lcom/uc/crashsdk/b;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/e;->g(Ljava/lang/String;)J
move-result-wide v0
cmp-long v4, v0, v2
if-nez v4, :cond_1e
.line 4
sput-wide v2, Lcom/uc/crashsdk/e;->f:J
.line 5
:cond_1e
sget-wide v0, Lcom/uc/crashsdk/e;->f:J
cmp-long v4, v0, v2
if-nez v4, :cond_26
const/4 v0, 0x1
return v0
:cond_26
const/4 v0, 0x0
return v0
.end method
.method public static a(Landroid/os/ParcelFileDescriptor;)Z
.registers 6
.line 673
sget-boolean v0, Lcom/uc/crashsdk/e;->ae:Z
const-string v1, "crashsdk"
const/4 v2, 0x0
if-eqz v0, :cond_d
const-string p0, "Can not call setHostFd and getHostFd in the same process!"
.line 674
invoke-static {v1, p0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return v2
.line 675
:cond_d
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-nez v0, :cond_17
const-string p0, "Crash so is not loaded!"
.line 676
invoke-static {v1, p0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return v2
.line 677
:cond_17
sget-object v0, Lcom/uc/crashsdk/e;->ad:Landroid/os/ParcelFileDescriptor;
if-eqz v0, :cond_20
const-string v0, "Has already set host fd!"
.line 678
invoke-static {v1, v0}, Lcom/uc/crashsdk/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
.line 679
:cond_20
sput-object p0, Lcom/uc/crashsdk/e;->ad:Landroid/os/ParcelFileDescriptor;
.line 680
invoke-virtual {p0}, Landroid/os/ParcelFileDescriptor;->getFd()I
move-result p0
const/16 v0, 0xd
int-to-long v3, p0
const/4 v1, 0x0
.line 681
invoke-static {v0, v3, v4, v1, v1}, Lcom/uc/crashsdk/JNIBridge;->nativeCmd(IJLjava/lang/String;[Ljava/lang/Object;)J
move-result-wide v0
long-to-int v1, v0
const/4 v0, 0x1
const/4 v3, -0x1
if-eq v1, v3, :cond_35
const/4 v4, 0x1
goto :goto_36
:cond_35
const/4 v4, 0x0
.line 682
:goto_36
sput-boolean v4, Lcom/uc/crashsdk/e;->af:Z
if-eq p0, v3, :cond_3e
if-eq v1, v3, :cond_3d
goto :goto_3e
:cond_3d
return v2
:cond_3e
:goto_3e
return v0
.end method
.method private static a(Ljava/lang/String;JLjava/lang/StringBuffer;Ljava/lang/String;JLjava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
.registers 28
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"J",
"Ljava/lang/StringBuffer;",
"Ljava/lang/String;",
"J",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;",
"Ljava/lang/String;",
")Z"
}
.end annotation
move-object/from16 v1, p0
move-wide/from16 v2, p1
move-object/from16 v4, p7
move-object/from16 v5, p8
move-object/from16 v6, p9
move-object/from16 v7, p10
const/4 v8, 0x0
const-wide/16 v9, 0x0
cmp-long v0, v2, v9
if-nez v0, :cond_1e
.line 344
:try_start_13
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
:try_end_18
.catch Ljava/lang/Throwable; {:try_start_13 .. :try_end_18} :catch_1a
move-object v11, v0
goto :goto_1f
:catch_1a
move-exception v0
move-object v11, v8
move-object v12, v11
goto :goto_3d
:cond_1e
move-object v11, v8
.line 345
:goto_1f
:try_start_1f
new-instance v12, Lcom/uc/crashsdk/e$a;
invoke-direct {v12, v2, v3, v11}, Lcom/uc/crashsdk/e$a;-><init>(JLjava/io/OutputStream;)V
:try_end_24
.catch Ljava/lang/Throwable; {:try_start_1f .. :try_end_24} :catch_3b
.line 346
:try_start_24
sget-object v13, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
monitor-enter v13
:try_end_27
.catch Ljava/lang/Throwable; {:try_start_24 .. :try_end_27} :catch_39
.line 347
:try_start_27
sput-object v1, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
.line 348
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_34
const/16 v0, 0x7e
.line 349
sget-object v14, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
invoke-static {v0, v14}, Lcom/uc/crashsdk/JNIBridge;->set(ILjava/lang/String;)J
.line 350
:cond_34
monitor-exit v13
goto :goto_40
:catchall_36
move-exception v0
monitor-exit v13
:try_end_38
.catchall {:try_start_27 .. :try_end_38} :catchall_36
:try_start_38
throw v0
:try_end_39
.catch Ljava/lang/Throwable; {:try_start_38 .. :try_end_39} :catch_39
:catch_39
move-exception v0
goto :goto_3d
:catch_3b
move-exception v0
move-object v12, v8
.line 351
:goto_3d
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_40
const/4 v13, 0x0
if-nez v12, :cond_44
return v13
:cond_44
const-wide/16 v14, 0x1
and-long v14, p5, v14
const/16 v16, 0x1
cmp-long v0, v14, v9
if-eqz v0, :cond_57
move-object/from16 v14, p4
.line 352
:try_start_50
invoke-static {v12, v1, v14}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V
:try_end_53
.catch Ljava/lang/Throwable; {:try_start_50 .. :try_end_53} :catch_54
.catchall {:try_start_50 .. :try_end_53} :catchall_71
goto :goto_57
:catch_54
move-exception v0
goto/16 :goto_13a
.line 353
:cond_57
:goto_57
:try_start_57
invoke-virtual/range {p3 .. p3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B
move-result-object v0
invoke-virtual {v12, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
const-string v0, "\n"
const-string v1, "UTF-8"
.line 354
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v12, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
.line 355
invoke-virtual {v12}, Ljava/io/OutputStream;->flush()V
:try_end_70
.catch Ljava/lang/Throwable; {:try_start_57 .. :try_end_70} :catch_74
.catchall {:try_start_57 .. :try_end_70} :catchall_71
goto :goto_78
:catchall_71
move-exception v0
goto/16 :goto_188
:catch_74
move-exception v0
.line 356
:try_start_75
invoke-static {v0, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 357
:goto_78
invoke-static {v12}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
const-wide/16 v0, 0x4
and-long v0, p5, v0
cmp-long v14, v0, v9
if-eqz v14, :cond_8f
.line 358
invoke-static {v12}, Lcom/uc/crashsdk/e;->b(Ljava/io/OutputStream;)V
:try_end_86
.catch Ljava/lang/Throwable; {:try_start_75 .. :try_end_86} :catch_54
.catchall {:try_start_75 .. :try_end_86} :catchall_71
.line 359
:try_start_86
invoke-virtual {v12}, Ljava/io/OutputStream;->flush()V
:try_end_89
.catch Ljava/lang/Throwable; {:try_start_86 .. :try_end_89} :catch_8a
.catchall {:try_start_86 .. :try_end_89} :catchall_71
goto :goto_8f
:catch_8a
move-exception v0
move-object v1, v0
.line 360
:try_start_8c
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_8f
:goto_8f
if-eqz v4, :cond_9c
.line 361
invoke-virtual/range {p7 .. p7}, Ljava/util/ArrayList;->size()I
move-result v0
if-lez v0, :cond_9c
const-string v0, "UTF-8"
.line 362
invoke-static {v12, v0, v4}, Lcom/uc/crashsdk/a;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/ArrayList;)V
:cond_9c
if-eqz v5, :cond_ab
.line 363
invoke-virtual/range {p8 .. p8}, Ljava/util/ArrayList;->size()I
move-result v0
if-lez v0, :cond_ab
const-string v0, "UTF-8"
const-string v1, "--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n"
.line 364
invoke-static {v12, v0, v1, v5}, Lcom/uc/crashsdk/a;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V
:cond_ab
if-eqz v6, :cond_ba
.line 365
invoke-virtual/range {p9 .. p9}, Ljava/util/ArrayList;->size()I
move-result v0
if-lez v0, :cond_ba
const-string v0, "UTF-8"
const-string v1, "--- --- --- --- --- --- --- --- --- --- --- --- --- --- --- ---\n"
.line 366
invoke-static {v12, v0, v1, v6}, Lcom/uc/crashsdk/a;->b(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)V
:try_end_ba
.catch Ljava/lang/Throwable; {:try_start_8c .. :try_end_ba} :catch_54
.catchall {:try_start_8c .. :try_end_ba} :catchall_71
:cond_ba
if-eqz v7, :cond_e6
.line 367
:try_start_bc
invoke-virtual {v12}, Ljava/io/OutputStream;->flush()V
:try_end_bf
.catch Ljava/lang/Throwable; {:try_start_bc .. :try_end_bf} :catch_c0
.catchall {:try_start_bc .. :try_end_bf} :catchall_71
goto :goto_c5
:catch_c0
move-exception v0
move-object v1, v0
.line 368
:try_start_c2
invoke-static {v1, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_c5
.catch Ljava/lang/Throwable; {:try_start_c2 .. :try_end_c5} :catch_54
.catchall {:try_start_c2 .. :try_end_c5} :catchall_71
:goto_c5
:try_start_c5
const-string v0, "threads dump:\n"
const-string v1, "UTF-8"
.line 369
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v12, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_d0
.catch Ljava/lang/Throwable; {:try_start_c5 .. :try_end_d0} :catch_d1
.catchall {:try_start_c5 .. :try_end_d0} :catchall_71
goto :goto_d5
:catch_d1
move-exception v0
.line 370
:try_start_d2
invoke-static {v0, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 371
:goto_d5
sput-boolean v13, Lcom/uc/crashsdk/e;->h:Z
.line 372
sput-object v7, Lcom/uc/crashsdk/e;->v:Ljava/lang/String;
:try_end_d9
.catch Ljava/lang/Throwable; {:try_start_d2 .. :try_end_d9} :catch_54
.catchall {:try_start_d2 .. :try_end_d9} :catchall_71
.line 373
:try_start_d9
invoke-static {v12, v7, v2, v3}, Lcom/uc/crashsdk/e;->a(Lcom/uc/crashsdk/e$a;Ljava/lang/String;J)V
:try_end_dc
.catch Ljava/lang/Throwable; {:try_start_d9 .. :try_end_dc} :catch_dd
.catchall {:try_start_d9 .. :try_end_dc} :catchall_71
goto :goto_e2
:catch_dd
move-exception v0
move-object v1, v0
.line 374
:try_start_df
invoke-static {v1, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 375
:goto_e2
sput-object v8, Lcom/uc/crashsdk/e;->v:Ljava/lang/String;
.line 376
sput-boolean v16, Lcom/uc/crashsdk/e;->h:Z
:try_end_e6
.catch Ljava/lang/Throwable; {:try_start_df .. :try_end_e6} :catch_54
.catchall {:try_start_df .. :try_end_e6} :catchall_71
:cond_e6
const-wide/16 v0, 0x8
and-long v0, p5, v0
cmp-long v4, v0, v9
if-eqz v4, :cond_119
cmp-long v0, v2, v9
if-nez v0, :cond_119
.line 377
:try_start_f2
invoke-virtual {v12}, Ljava/io/OutputStream;->flush()V
:try_end_f5
.catch Ljava/lang/Throwable; {:try_start_f2 .. :try_end_f5} :catch_f6
.catchall {:try_start_f2 .. :try_end_f5} :catchall_71
goto :goto_fb
:catch_f6
move-exception v0
move-object v1, v0
.line 378
:try_start_f8
invoke-static {v1, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_fb
.catch Ljava/lang/Throwable; {:try_start_f8 .. :try_end_fb} :catch_54
.catchall {:try_start_f8 .. :try_end_fb} :catchall_71
:goto_fb
:try_start_fb
const-string v0, "all threads dump:\n"
const-string v1, "UTF-8"
.line 379
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v12, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_106
.catch Ljava/lang/Throwable; {:try_start_fb .. :try_end_106} :catch_107
.catchall {:try_start_fb .. :try_end_106} :catchall_71
goto :goto_10b
:catch_107
move-exception v0
.line 380
:try_start_108
invoke-static {v0, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 381
:goto_10b
sput-boolean v16, Lcom/uc/crashsdk/e;->u:Z
:try_end_10d
.catch Ljava/lang/Throwable; {:try_start_108 .. :try_end_10d} :catch_54
.catchall {:try_start_108 .. :try_end_10d} :catchall_71
:try_start_10d
const-string v0, "all"
.line 382
invoke-static {v12, v0, v9, v10}, Lcom/uc/crashsdk/e;->a(Lcom/uc/crashsdk/e$a;Ljava/lang/String;J)V
:try_end_112
.catch Ljava/lang/Throwable; {:try_start_10d .. :try_end_112} :catch_113
.catchall {:try_start_10d .. :try_end_112} :catchall_71
goto :goto_117
:catch_113
move-exception v0
.line 383
:try_start_114
invoke-static {v0, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 384
:goto_117
sput-boolean v13, Lcom/uc/crashsdk/e;->u:Z
:cond_119
const-wide/16 v0, 0x10
and-long v0, p5, v0
cmp-long v4, v0, v9
if-eqz v4, :cond_124
.line 385
invoke-static {v12}, Lcom/uc/crashsdk/e;->f(Ljava/io/OutputStream;)V
:cond_124
const-wide/16 v0, 0x2
and-long v0, p5, v0
cmp-long v4, v0, v9
if-eqz v4, :cond_132
.line 386
invoke-virtual {v12}, Lcom/uc/crashsdk/e$a;->a()V
.line 387
invoke-static {v12}, Lcom/uc/crashsdk/e;->a(Lcom/uc/crashsdk/e$a;)V
:cond_132
cmp-long v0, v2, v9
if-eqz v0, :cond_13d
.line 388
invoke-static {v12}, Lcom/uc/crashsdk/e;->b(Lcom/uc/crashsdk/e$a;)V
:try_end_139
.catch Ljava/lang/Throwable; {:try_start_114 .. :try_end_139} :catch_54
.catchall {:try_start_114 .. :try_end_139} :catchall_71
goto :goto_13d
.line 389
:goto_13a
:try_start_13a
invoke-static {v0, v12}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_13d
.catchall {:try_start_13a .. :try_end_13d} :catchall_71
.line 390
:cond_13d
:goto_13d
invoke-static {v12}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 391
invoke-static {v11}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 392
:try_start_143
sget-object v1, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
monitor-enter v1
:try_end_146
.catch Ljava/lang/Throwable; {:try_start_143 .. :try_end_146} :catch_183
.line 393
:try_start_146
sget v0, Lcom/uc/crashsdk/e;->s:I
add-int/lit8 v0, v0, 0x1
sput v0, Lcom/uc/crashsdk/e;->s:I
.line 394
sget-object v0, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
if-eqz v0, :cond_172
.line 395
sget-object v0, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
sget-object v2, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 396
sget-object v0, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v0
const/4 v2, 0x3
if-le v0, v2, :cond_165
.line 397
sget-object v0, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
invoke-virtual {v0, v13}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object;
.line 398
:cond_165
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_170
const/16 v0, 0x7f
.line 399
sget-object v2, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
invoke-static {v0, v2}, Lcom/uc/crashsdk/JNIBridge;->set(ILjava/lang/String;)J
.line 400
:cond_170
sput-object v8, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
.line 401
:cond_172
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_17e
const/16 v0, 0x19
.line 402
sget v2, Lcom/uc/crashsdk/e;->s:I
int-to-long v2, v2
invoke-static {v0, v2, v3}, Lcom/uc/crashsdk/JNIBridge;->set(IJ)J
.line 403
:cond_17e
monitor-exit v1
goto :goto_187
:catchall_180
move-exception v0
monitor-exit v1
:try_end_182
.catchall {:try_start_146 .. :try_end_182} :catchall_180
:try_start_182
throw v0
:try_end_183
.catch Ljava/lang/Throwable; {:try_start_182 .. :try_end_183} :catch_183
:catch_183
move-exception v0
.line 404
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_187
return v16
.line 405
:goto_188
invoke-static {v12}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 406
invoke-static {v11}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 407
throw v0
.end method
.method private static a(Ljava/lang/String;Lcom/uc/crashsdk/a/e;)Z
.registers 7
.line 258
sget-object v0, Lcom/uc/crashsdk/e;->o:Ljava/lang/Object;
monitor-enter v0
.line 259
:try_start_3
new-instance v1, Ljava/io/File;
invoke-direct {v1, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 260
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result p0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_66
if-nez p0, :cond_16
.line 261
:try_start_e
invoke-virtual {v1}, Ljava/io/File;->createNewFile()Z
:try_end_11
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_11} :catch_12
.catchall {:try_start_e .. :try_end_11} :catchall_66
goto :goto_16
:catch_12
move-exception p0
.line 262
:try_start_13
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_16
.catchall {:try_start_13 .. :try_end_16} :catchall_66
:cond_16
:goto_16
const/4 p0, 0x0
const/4 v2, 0x0
.line 263
:try_start_18
new-instance v3, Ljava/io/RandomAccessFile;
const-string v4, "rw"
invoke-direct {v3, v1, v4}, Ljava/io/RandomAccessFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-virtual {v3}, Ljava/io/RandomAccessFile;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v1
:try_end_23
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_23} :catch_27
.catchall {:try_start_18 .. :try_end_23} :catchall_24
goto :goto_2c
:catchall_24
move-exception p1
move-object v1, p0
goto :goto_62
:catch_27
move-exception v1
.line 264
:try_start_28
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_28 .. :try_end_2b} :catch_58
.catchall {:try_start_28 .. :try_end_2b} :catchall_24
move-object v1, p0
:goto_2c
if-eqz v1, :cond_3a
.line 265
:try_start_2e
invoke-virtual {v1}, Ljava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
move-result-object p0
:try_end_32
.catch Ljava/lang/Exception; {:try_start_2e .. :try_end_32} :catch_33
.catchall {:try_start_2e .. :try_end_32} :catchall_61
goto :goto_3a
:catch_33
move-exception v3
.line 266
:try_start_34
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_37
.catch Ljava/lang/Exception; {:try_start_34 .. :try_end_37} :catch_38
.catchall {:try_start_34 .. :try_end_37} :catchall_61
goto :goto_3a
:catch_38
move-exception p0
goto :goto_5b
.line 267
:cond_3a
:goto_3a
:try_start_3a
invoke-virtual {p1}, Lcom/uc/crashsdk/a/e;->a()Z
move-result v2
:try_end_3e
.catchall {:try_start_3a .. :try_end_3e} :catchall_4c
if-eqz p0, :cond_48
.line 268
:try_start_40
invoke-virtual {p0}, Ljava/nio/channels/FileLock;->release()V
:try_end_43
.catch Ljava/lang/Exception; {:try_start_40 .. :try_end_43} :catch_44
.catchall {:try_start_40 .. :try_end_43} :catchall_61
goto :goto_48
:catch_44
move-exception p0
.line 269
:try_start_45
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_48
.catch Ljava/lang/Exception; {:try_start_45 .. :try_end_48} :catch_38
.catchall {:try_start_45 .. :try_end_48} :catchall_61
.line 270
:cond_48
:goto_48
:try_start_48
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
:try_end_4b
.catchall {:try_start_48 .. :try_end_4b} :catchall_66
goto :goto_5f
:catchall_4c
move-exception p1
if-eqz p0, :cond_57
.line 271
:try_start_4f
invoke-virtual {p0}, Ljava/nio/channels/FileLock;->release()V
:try_end_52
.catch Ljava/lang/Exception; {:try_start_4f .. :try_end_52} :catch_53
.catchall {:try_start_4f .. :try_end_52} :catchall_61
goto :goto_57
:catch_53
move-exception p0
.line 272
:try_start_54
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 273
:cond_57
:goto_57
throw p1
:try_end_58
.catch Ljava/lang/Exception; {:try_start_54 .. :try_end_58} :catch_38
.catchall {:try_start_54 .. :try_end_58} :catchall_61
:catch_58
move-exception p1
move-object v1, p0
move-object p0, p1
.line 274
:goto_5b
:try_start_5b
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_5e
.catchall {:try_start_5b .. :try_end_5e} :catchall_61
goto :goto_48
.line 275
:goto_5f
:try_start_5f
monitor-exit v0
return v2
:catchall_61
move-exception p1
.line 276
:goto_62
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 277
throw p1
:catchall_66
move-exception p0
.line 278
monitor-exit v0
:try_end_68
.catchall {:try_start_5f .. :try_end_68} :catchall_66
goto :goto_6a
:goto_69
throw p0
:goto_6a
goto :goto_69
.end method
.method private static a(Ljava/lang/String;Lcom/uc/crashsdk/e$d;)Z
.registers 10
.line 279
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
const/4 p0, 0x0
const/16 v1, 0x40
.line 280
invoke-static {v0, v1, p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;IZ)Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_f
return p0
:cond_f
const/4 p0, 0x1
:try_start_10
const-string v1, "(\\d+)\\s+(\\d+)\\s+(\\d+)\\s+(\\d+)"
.line 281
invoke-static {v1}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v0
.line 282
invoke-virtual {v0}, Ljava/util/regex/Matcher;->find()Z
move-result v1
if-eqz v1, :cond_5c
.line 283
invoke-virtual {v0, p0}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v1
invoke-static {v1}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v1
.line 284
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v3
sub-long/2addr v3, v1
const-wide/32 v5, 0x5265c00
cmp-long v7, v3, v5
if-gez v7, :cond_5c
const/4 v3, 0x2
.line 285
invoke-virtual {v0, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v3
iput-wide v3, p1, Lcom/uc/crashsdk/e$d;->b:J
const/4 v3, 0x3
.line 286
invoke-virtual {v0, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v3
iput v3, p1, Lcom/uc/crashsdk/e$d;->c:I
const/4 v3, 0x4
.line 287
invoke-virtual {v0, v3}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
iput v0, p1, Lcom/uc/crashsdk/e$d;->d:I
.line 288
iput-wide v1, p1, Lcom/uc/crashsdk/e$d;->a:J
:try_end_57
.catch Ljava/lang/Throwable; {:try_start_10 .. :try_end_57} :catch_58
goto :goto_5c
:catch_58
move-exception p1
.line 289
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_5c
:goto_5c
return p0
.end method
.method static a(Ljava/lang/String;Ljava/lang/String;Z)Z
.registers 5
.line 319
invoke-static {p1}, Lcom/uc/crashsdk/e;->n(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_1b
const/4 v0, 0x1
.line 320
invoke-static {p0, p1, v0, p2}, Lcom/uc/crashsdk/a/h;->a(Ljava/lang/String;Ljava/lang/String;ZZ)Z
.line 321
sget-object p0, Ljava/util/Locale;->US:Ljava/util/Locale;
new-array p2, v0, [Ljava/lang/Object;
aput-object p1, p2, v1
const-string p1, "Custom log \'%s\' has reach max count!"
invoke-static {p0, p1, p2}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
return v0
:cond_1b
return v1
.end method
.method public static a(Ljava/lang/StringBuffer;Ljava/lang/String;JLjava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
.registers 29
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/StringBuffer;",
"Ljava/lang/String;",
"J",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;",
"Ljava/util/ArrayList<",
"Ljava/lang/String;",
">;",
"Ljava/lang/String;",
")Z"
}
.end annotation
move-object/from16 v0, p1
.line 290
sget-object v1, Lcom/uc/crashsdk/e;->c:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v1
const/4 v12, 0x0
if-eqz v1, :cond_1d
.line 291
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Processing java crash, skip generate custom log: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
return v12
.line 292
:cond_1d
sget-boolean v1, Lcom/uc/crashsdk/e;->af:Z
if-nez v1, :cond_2a
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v1
if-eqz v1, :cond_28
goto :goto_2a
:cond_28
const/4 v14, 0x0
goto :goto_2b
:cond_2a
:goto_2a
const/4 v14, 0x1
:goto_2b
if-nez v14, :cond_3d
.line 293
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v1
if-nez v1, :cond_3d
.line 294
invoke-static {}, Lcom/uc/crashsdk/a/d;->b()Ljava/lang/String;
move-result-object v0
const-string v1, "DEBUG"
invoke-static {v1, v0}, Lcom/uc/crashsdk/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
return v12
.line 295
:cond_3d
invoke-static/range {p1 .. p1}, Lcom/uc/crashsdk/e;->c(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_57
.line 296
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "custom log sample miss: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "DEBUG"
invoke-static {v1, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return v12
.line 297
:cond_57
invoke-static {}, Lcom/uc/crashsdk/e;->Z()Z
move-result v1
if-eqz v1, :cond_6f
.line 298
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Processing native crash, skip generate custom log: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->b(Ljava/lang/String;)V
return v12
:cond_6f
if-eqz p0, :cond_12b
if-nez v0, :cond_75
goto/16 :goto_12b
.line 299
:cond_75
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->V()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 300
invoke-static/range {p1 .. p1}, Lcom/uc/crashsdk/e;->j(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v15
const-wide/16 v1, 0x20
and-long v1, p2, v1
const-wide/16 v16, 0x0
cmp-long v3, v1, v16
if-eqz v3, :cond_98
const/4 v11, 0x1
goto :goto_99
:cond_98
const/4 v11, 0x0
:goto_99
if-eqz v14, :cond_c3
.line 301
sget-boolean v1, Lcom/uc/crashsdk/b;->d:Z
if-eqz v1, :cond_a6
const-string v1, "custom"
.line 302
invoke-static {v15, v1, v0, v11}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCreateConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)J
move-result-wide v1
goto :goto_a8
:cond_a6
move-wide/from16 v1, v16
:goto_a8
cmp-long v3, v1, v16
if-nez v3, :cond_c0
.line 303
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "skip custom log: "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "DEBUG"
invoke-static {v1, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
return v12
:cond_c0
move-wide/from16 v18, v1
goto :goto_d6
.line 304
:cond_c3
invoke-static {}, Lcom/uc/crashsdk/e;->h()Ljava/lang/String;
move-result-object v1
invoke-static {v1, v0, v11}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;Ljava/lang/String;Z)Z
move-result v1
if-eqz v1, :cond_ce
return v12
.line 305
:cond_ce
invoke-static {}, Lcom/uc/crashsdk/g;->a()V
.line 306
invoke-static {v12}, Lcom/uc/crashsdk/e;->a(Z)V
move-wide/from16 v18, v16
.line 307
:goto_d6
sget-object v20, Lcom/uc/crashsdk/e;->p:Ljava/lang/Object;
monitor-enter v20
move-object v1, v15
move-wide/from16 v2, v18
move-object/from16 v4, p0
move-object/from16 v5, p1
move-wide/from16 v6, p2
move-object/from16 v8, p4
move-object/from16 v9, p5
move-object/from16 v10, p6
move v13, v11
move-object/from16 v11, p7
.line 308
:try_start_eb
invoke-static/range {v1 .. v11}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;JLjava/lang/StringBuffer;Ljava/lang/String;JLjava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;)Z
move-result v1
.line 309
monitor-exit v20
:try_end_f0
.catchall {:try_start_eb .. :try_end_f0} :catchall_128
if-eqz v1, :cond_fb
if-nez v14, :cond_fb
.line 310
invoke-static {}, Lcom/uc/crashsdk/e;->h()Ljava/lang/String;
move-result-object v2
invoke-static {v2, v0, v13}, Lcom/uc/crashsdk/e;->b(Ljava/lang/String;Ljava/lang/String;Z)V
:cond_fb
cmp-long v2, v18, v16
if-eqz v2, :cond_102
.line 311
invoke-static/range {v18 .. v19}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCloseConnection(J)V
:cond_102
if-nez v1, :cond_105
return v12
:cond_105
if-nez v14, :cond_10a
.line 312
invoke-static {v15}, Lcom/uc/crashsdk/e;->q(Ljava/lang/String;)V
:cond_10a
if-nez v14, :cond_114
.line 313
invoke-static {v15}, Lcom/uc/crashsdk/e;->l(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
.line 314
invoke-static {v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v15
.line 315
:cond_114
invoke-static {v15, v0}, Lcom/uc/crashsdk/e;->b(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v13, :cond_126
if-nez v14, :cond_126
const/4 v1, 0x1
.line 316
:try_start_11c
invoke-static {v1, v12}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_11f
.catch Ljava/lang/Throwable; {:try_start_11c .. :try_end_11f} :catch_120
goto :goto_127
:catch_120
move-exception v0
move-object v2, v0
.line 317
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_127
:cond_126
const/4 v1, 0x1
:goto_127
return v1
:catchall_128
move-exception v0
.line 318
:try_start_129
monitor-exit v20
:try_end_12a
.catchall {:try_start_129 .. :try_end_12a} :catchall_128
throw v0
:cond_12b
:goto_12b
return v12
.end method
.method public static a(ZZ)Z
.registers 9
.line 243
sget-boolean v0, Lcom/uc/crashsdk/e;->d:Z
const/4 v1, 0x1
if-nez v0, :cond_e
.line 244
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_c
.line 245
invoke-static {v1, v1}, Lcom/uc/crashsdk/JNIBridge;->set(IZ)J
.line 246
:cond_c
sput-boolean v1, Lcom/uc/crashsdk/e;->d:Z
:cond_e
const/4 v0, 0x0
.line 247
:try_start_f
invoke-static {}, Lcom/uc/crashsdk/e;->k()Ljava/lang/String;
move-result-object v2
.line 248
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_21
const-string p0, "CrashHandler url is empty!"
const-string p1, "crashsdk"
.line 249
invoke-static {p1, p0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
return v0
.line 250
:cond_21
sget-object v3, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
monitor-enter v3
:try_end_24
.catch Ljava/lang/Throwable; {:try_start_f .. :try_end_24} :catch_54
.line 251
:try_start_24
new-instance v4, Lcom/uc/crashsdk/a/e;
const/16 v5, 0x196
const/4 v6, 0x3
new-array v6, v6, [Ljava/lang/Object;
aput-object v2, v6, v0
.line 252
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
aput-object p1, v6, v1
const/4 p1, 0x2
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v2
aput-object v2, v6, p1
invoke-direct {v4, v5, v6}, Lcom/uc/crashsdk/a/e;-><init>(I[Ljava/lang/Object;)V
.line 253
invoke-static {p0, v4}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;)Z
move-result p1
:try_end_41
.catchall {:try_start_24 .. :try_end_41} :catchall_51
if-eqz p1, :cond_4f
if-eqz p0, :cond_4f
.line 254
:try_start_45
sget-object p0, Lcom/uc/crashsdk/e;->n:Ljava/lang/Object;
invoke-virtual {p0}, Ljava/lang/Object;->wait()V
:try_end_4a
.catch Ljava/lang/InterruptedException; {:try_start_45 .. :try_end_4a} :catch_4b
.catchall {:try_start_45 .. :try_end_4a} :catchall_51
goto :goto_4f
:catch_4b
move-exception p0
.line 255
:try_start_4c
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 256
:cond_4f
:goto_4f
monitor-exit v3
return v1
:catchall_51
move-exception p0
monitor-exit v3
:try_end_53
.catchall {:try_start_4c .. :try_end_53} :catchall_51
:try_start_53
throw p0
:try_end_54
.catch Ljava/lang/Throwable; {:try_start_53 .. :try_end_54} :catch_54
:catch_54
move-exception p0
.line 257
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return v0
.end method
.method private static aa()V
.registers 17
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->W()Ljava/lang/String;
move-result-object v1
.line 2
new-instance v0, Ljava/io/File;
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 3
invoke-virtual {v0}, Ljava/io/File;->isDirectory()Z
move-result v2
if-nez v2, :cond_10
return-void
.line 4
:cond_10
:try_start_10
invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v2
if-nez v2, :cond_17
return-void
.line 5
:cond_17
array-length v0, v2
const/16 v3, 0x96
if-gt v0, v3, :cond_1d
return-void
.line 6
:cond_1d
new-instance v0, Lcom/uc/crashsdk/e$b;
const/4 v4, 0x0
invoke-direct {v0, v4}, Lcom/uc/crashsdk/e$b;-><init>(B)V
invoke-static {v2, v0}, Ljava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
.line 7
array-length v0, v2
sub-int/2addr v0, v3
if-gez v0, :cond_2c
const/4 v3, 0x0
goto :goto_2d
:cond_2c
move v3, v0
.line 8
:goto_2d
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
const/4 v7, 0x0
const/4 v8, 0x0
const/4 v9, 0x0
.line 9
:goto_34
array-length v0, v2
if-ge v7, v0, :cond_64
.line 10
aget-object v0, v2, v7
const/4 v10, 0x1
if-ge v7, v3, :cond_3e
const/4 v11, 0x1
goto :goto_3f
:cond_3e
const/4 v11, 0x0
:goto_3f
if-nez v11, :cond_4f
.line 11
invoke-virtual {v0}, Ljava/io/File;->lastModified()J
move-result-wide v12
:try_end_45
.catch Ljava/lang/Throwable; {:try_start_10 .. :try_end_45} :catch_7e
sub-long v12, v5, v12
const-wide/32 v14, 0x19bfcc00
cmp-long v16, v12, v14
if-ltz v16, :cond_4f
const/4 v11, 0x1
:cond_4f
if-eqz v11, :cond_64
.line 12
:try_start_51
invoke-virtual {v0}, Ljava/io/File;->delete()Z
:try_end_54
.catch Ljava/lang/Throwable; {:try_start_51 .. :try_end_54} :catch_58
add-int/lit8 v8, v8, 0x1
const/4 v9, 0x0
goto :goto_5e
:catch_58
move-exception v0
move-object v11, v0
add-int/2addr v9, v10
.line 13
:try_start_5b
invoke-static {v11}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_5e
const/4 v0, 0x3
if-ge v9, v0, :cond_64
add-int/lit8 v7, v7, 0x1
goto :goto_34
.line 14
:cond_64
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "Removed "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " logs in "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;)V
:try_end_7d
.catch Ljava/lang/Throwable; {:try_start_5b .. :try_end_7d} :catch_7e
return-void
:catch_7e
move-exception v0
.line 15
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method static b(Ljava/io/OutputStream;Ljava/lang/String;I)I
.registers 13
const/4 v0, 0x0
const/4 v1, 0x0
.line 114
:try_start_2
new-instance v2, Ljava/io/File;
invoke-direct {v2, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 115
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v3
:try_end_b
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_b} :catch_9e
.catchall {:try_start_2 .. :try_end_b} :catchall_9c
const/4 v4, 0x1
const-string v5, "UTF-8"
if-eqz v3, :cond_56
.line 116
:try_start_10
invoke-static {}, Lcom/uc/crashsdk/e;->Q()[B
move-result-object p1
if-nez p1, :cond_23
const-string p1, "(alloc buffer failed!)\n"
.line 117
invoke-virtual {p1, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
invoke-virtual {p0, p1}, Ljava/io/OutputStream;->write([B)V
:try_end_1f
.catch Ljava/lang/Throwable; {:try_start_10 .. :try_end_1f} :catch_9e
.catchall {:try_start_10 .. :try_end_1f} :catchall_9c
.line 118
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
return v1
.line 119
:cond_23
:try_start_23
new-instance v3, Ljava/io/DataInputStream;
new-instance v6, Ljava/io/FileInputStream;
invoke-direct {v6, v2}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
invoke-direct {v3, v6}, Ljava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_2d
.catch Ljava/lang/Throwable; {:try_start_23 .. :try_end_2d} :catch_9e
.catchall {:try_start_23 .. :try_end_2d} :catchall_9c
const/4 v0, 0x0
const/4 v2, 0x0
:cond_2f
const/4 v6, 0x0
.line 120
:cond_30
:goto_30
:try_start_30
invoke-virtual {v3, p1}, Ljava/io/DataInputStream;->read([B)I
move-result v7
const/4 v8, -0x1
if-eq v7, v8, :cond_73
add-int/2addr v0, v7
sub-int v8, p2, v2
add-int/lit8 v9, v8, 0x20
if-le v7, v9, :cond_3f
goto :goto_40
:cond_3f
move v8, v7
:goto_40
if-lez v8, :cond_48
if-nez v6, :cond_48
.line 121
invoke-virtual {p0, p1, v1, v8}, Ljava/io/OutputStream;->write([BII)V
:try_end_47
.catch Ljava/lang/Throwable; {:try_start_30 .. :try_end_47} :catch_53
.catchall {:try_start_30 .. :try_end_47} :catchall_50
add-int/2addr v2, v8
:cond_48
if-nez v6, :cond_30
if-lt v8, v7, :cond_4e
if-lt v2, p2, :cond_2f
:cond_4e
const/4 v6, 0x1
goto :goto_30
:catchall_50
move-exception p0
move-object v0, v3
goto :goto_aa
:catch_53
move-exception p1
move-object v0, v3
goto :goto_a0
.line 122
:cond_56
:try_start_56
new-instance p2, Ljava/lang/StringBuilder;
const-string v2, "file: \'"
invoke-direct {p2, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, "\' not exists!\n"
invoke-virtual {p2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {p1, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
invoke-virtual {p0, p1}, Ljava/io/OutputStream;->write([B)V
:try_end_70
.catch Ljava/lang/Throwable; {:try_start_56 .. :try_end_70} :catch_9e
.catchall {:try_start_56 .. :try_end_70} :catchall_9c
move-object v3, v0
const/4 v0, 0x0
const/4 v2, 0x0
:cond_73
if-lez v2, :cond_7e
:try_start_75
const-string p1, "\n"
.line 123
invoke-virtual {p1, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
invoke-virtual {p0, p1}, Ljava/io/OutputStream;->write([B)V
:cond_7e
if-ge v2, v0, :cond_98
.line 124
sget-object p1, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string p2, "(truncated %d bytes)\n"
new-array v4, v4, [Ljava/lang/Object;
sub-int/2addr v0, v2
.line 125
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
aput-object v0, v4, v1
.line 126
invoke-static {p1, p2, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
.line 127
invoke-virtual {p1, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p1
.line 128
invoke-virtual {p0, p1}, Ljava/io/OutputStream;->write([B)V
:try_end_98
.catch Ljava/lang/Throwable; {:try_start_75 .. :try_end_98} :catch_53
.catchall {:try_start_75 .. :try_end_98} :catchall_50
.line 129
:cond_98
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
goto :goto_a6
:catchall_9c
move-exception p0
goto :goto_aa
:catch_9e
move-exception p1
const/4 v2, 0x0
.line 130
:goto_a0
:try_start_a0
invoke-static {p1, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_a3
.catchall {:try_start_a0 .. :try_end_a3} :catchall_9c
.line 131
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 132
:goto_a6
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return v2
.line 133
:goto_aa
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 134
goto :goto_af
:goto_ae
throw p0
:goto_af
goto :goto_ae
.end method
.method public static b(ZZ)I
.registers 4
const/4 v0, 0x0
if-eqz p1, :cond_a
.line 176
sget-boolean v1, Lcom/uc/crashsdk/e;->ac:Z
if-nez v1, :cond_a
.line 177
invoke-static {v0}, Lcom/uc/crashsdk/f;->d(Z)V
:cond_a
if-eqz p0, :cond_18
.line 178
invoke-static {}, Lcom/uc/crashsdk/b;->c()Ljava/lang/String;
move-result-object v1
.line 179
invoke-static {v1, v0}, Lcom/uc/crashsdk/f;->a(Ljava/lang/String;Z)Z
move-result v0
.line 180
invoke-static {}, Lcom/uc/crashsdk/a/h;->i()V
goto :goto_1f
.line 181
:cond_18
invoke-static {}, Lcom/uc/crashsdk/f;->a()I
move-result v0
.line 182
invoke-static {}, Lcom/uc/crashsdk/a/h;->i()V
:goto_1f
if-eqz p1, :cond_26
.line 183
invoke-static {p0}, Lcom/uc/crashsdk/f;->a(Z)I
move-result p0
return p0
:cond_26
return v0
.end method
.method static b()J
.registers 5
.line 1
sget-wide v0, Lcom/uc/crashsdk/e;->g:J
const-wide/16 v2, -0x1
cmp-long v4, v0, v2
if-nez v4, :cond_14
const-string v0, "local"
.line 2
invoke-static {v0}, Lcom/uc/crashsdk/b;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/e;->g(Ljava/lang/String;)J
move-result-wide v0
sput-wide v0, Lcom/uc/crashsdk/e;->g:J
.line 3
:cond_14
sget-wide v0, Lcom/uc/crashsdk/e;->g:J
return-wide v0
.end method
.method private static b(Ljava/lang/String;ZZ)Ljava/lang/String;
.registers 3
if-eqz p1, :cond_b
.line 154
:try_start_2
invoke-static {p0}, Lcom/uc/crashsdk/e;->l(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_6
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_6} :catch_7
goto :goto_b
:catch_7
move-exception p1
.line 155
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_b
:goto_b
if-eqz p2, :cond_16
.line 156
:try_start_d
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_11
.catch Ljava/lang/Throwable; {:try_start_d .. :try_end_11} :catch_12
goto :goto_16
:catch_12
move-exception p1
.line 157
invoke-static {p1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_16
:goto_16
return-object p0
.end method
.method public static b(I)V
.registers 4
.line 175
new-instance v0, Lcom/uc/crashsdk/a/e;
const/16 v1, 0x19a
invoke-direct {v0, v1}, Lcom/uc/crashsdk/a/e;-><init>(I)V
mul-int/lit16 p0, p0, 0x3e8
int-to-long v1, p0
const/4 p0, 0x0
invoke-static {p0, v0, v1, v2}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method public static b(Landroid/content/Context;)V
.registers 6
.line 165
invoke-static {}, Lcom/uc/crashsdk/g;->K()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 166
:cond_7
:try_start_7
new-instance v0, Landroid/content/IntentFilter;
invoke-direct {v0}, Landroid/content/IntentFilter;-><init>()V
const-string v1, "android.intent.action.BATTERY_CHANGED"
.line 167
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.BATTERY_LOW"
.line 168
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
const-string v1, "android.intent.action.BATTERY_OKAY"
.line 169
invoke-virtual {v0, v1}, Landroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
.line 170
sget-object v1, Lcom/uc/crashsdk/e;->Q:Lcom/uc/crashsdk/e$c;
const/4 v2, 0x0
const/4 v3, 0x1
.line 171
invoke-static {v3}, Lcom/uc/crashsdk/a/f;->a(I)Landroid/os/Handler;
move-result-object v4
.line 172
invoke-virtual {p0, v1, v0, v2, v4}, Landroid/content/Context;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
.line 173
sput-boolean v3, Lcom/uc/crashsdk/e;->R:Z
:try_end_28
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_28} :catch_29
return-void
:catch_29
move-exception p0
.line 174
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method private static b(Lcom/uc/crashsdk/e$a;)V
.registers 3
const/4 v0, 0x0
.line 109
sput-boolean v0, Lcom/uc/crashsdk/e;->h:Z
.line 110
:try_start_3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "LOG_END"
invoke-static {v1}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\n"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "UTF-8"
.line 111
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Lcom/uc/crashsdk/e$a;->write([B)V
:try_end_23
.catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_23} :catch_24
goto :goto_28
:catch_24
move-exception p0
.line 112
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_28
const/4 p0, 0x1
.line 113
sput-boolean p0, Lcom/uc/crashsdk/e;->h:Z
return-void
.end method
.method private static b(Ljava/io/OutputStream;)V
.registers 12
const-string v0, "-b"
const-string v1, "UTF-8"
const/4 v2, 0x0
const/4 v3, 0x1
:try_start_6
const-string v4, "logcat:\n"
.line 74
invoke-virtual {v4, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v4
invoke-virtual {p0, v4}, Ljava/io/OutputStream;->write([B)V
.line 75
invoke-static {}, Lcom/uc/crashsdk/g;->n()I
move-result v4
:try_end_13
.catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_13} :catch_e7
.catchall {:try_start_6 .. :try_end_13} :catchall_e5
if-gtz v4, :cond_2a
:try_start_15
const-string v0, "[DEBUG] custom java logcat lines count is 0!\n"
.line 76
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_1e
.catch Ljava/lang/Throwable; {:try_start_15 .. :try_end_1e} :catch_1f
.catchall {:try_start_15 .. :try_end_1e} :catchall_e5
goto :goto_23
:catch_1f
move-exception v0
.line 77
:try_start_20
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 78
:goto_23
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
:try_end_26
.catch Ljava/lang/Throwable; {:try_start_20 .. :try_end_26} :catch_e7
.catchall {:try_start_20 .. :try_end_26} :catchall_e5
.line 79
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
return-void
.line 80
:cond_2a
:try_start_2a
invoke-static {}, Lcom/uc/crashsdk/g;->n()I
move-result v4
.line 81
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v5
const/16 v6, 0xa
new-array v6, v6, [Ljava/lang/String;
const-string v7, "logcat"
const/4 v8, 0x0
aput-object v7, v6, v8
const-string v7, "-d"
aput-object v7, v6, v3
const/4 v7, 0x2
aput-object v0, v6, v7
const/4 v9, 0x3
const-string v10, "events"
aput-object v10, v6, v9
const/4 v9, 0x4
aput-object v0, v6, v9
const/4 v0, 0x5
const-string v9, "main"
aput-object v9, v6, v0
const/4 v0, 0x6
const-string v9, "-v"
aput-object v9, v6, v0
const/4 v0, 0x7
const-string v9, "threadtime"
aput-object v9, v6, v0
const/16 v0, 0x8
const-string v9, "-t"
aput-object v9, v6, v0
const/16 v0, 0x9
.line 82
invoke-static {v4}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v9
aput-object v9, v6, v0
.line 83
invoke-virtual {v5, v6}, Ljava/lang/Runtime;->exec([Ljava/lang/String;)Ljava/lang/Process;
move-result-object v0
.line 84
new-instance v5, Ljava/io/InputStreamReader;
invoke-virtual {v0}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;
move-result-object v0
invoke-direct {v5, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
.line 85
invoke-static {v5}, Lcom/uc/crashsdk/e;->a(Ljava/io/InputStreamReader;)Ljava/io/BufferedReader;
move-result-object v2
:try_end_78
.catch Ljava/lang/Throwable; {:try_start_2a .. :try_end_78} :catch_e7
.catchall {:try_start_2a .. :try_end_78} :catchall_e5
if-nez v2, :cond_8f
:try_start_7a
const-string v0, "[DEBUG] alloc buffer failed!\n"
.line 86
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_83
.catch Ljava/lang/Throwable; {:try_start_7a .. :try_end_83} :catch_84
.catchall {:try_start_7a .. :try_end_83} :catchall_e5
goto :goto_88
:catch_84
move-exception v0
.line 87
:try_start_85
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 88
:goto_88
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
:try_end_8b
.catch Ljava/lang/Throwable; {:try_start_85 .. :try_end_8b} :catch_e7
.catchall {:try_start_85 .. :try_end_8b} :catchall_e5
.line 89
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
return-void
.line 90
:cond_8f
:try_start_8f
sput-boolean v8, Lcom/uc/crashsdk/e;->h:Z
const/4 v0, 0x0
const/4 v5, 0x0
.line 91
:cond_93
:goto_93
invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v6
if-eqz v6, :cond_c0
add-int/lit8 v0, v0, 0x1
if-ge v5, v4, :cond_93
const-string v9, " I auditd "
.line 92
invoke-virtual {v6, v9}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-nez v9, :cond_93
const-string v9, " I liblog "
.line 93
invoke-virtual {v6, v9}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v9
if-nez v9, :cond_93
.line 94
invoke-virtual {v6, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v6
invoke-virtual {p0, v6}, Ljava/io/OutputStream;->write([B)V
const-string v6, "\n"
.line 95
invoke-virtual {v6, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v6
invoke-virtual {p0, v6}, Ljava/io/OutputStream;->write([B)V
:try_end_bd
.catch Ljava/lang/Throwable; {:try_start_8f .. :try_end_bd} :catch_e7
.catchall {:try_start_8f .. :try_end_bd} :catchall_e5
add-int/lit8 v5, v5, 0x1
goto :goto_93
.line 96
:cond_c0
:try_start_c0
sget-object v4, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v6, "[DEBUG] Read %d lines, wrote %d lines.\n"
new-array v7, v7, [Ljava/lang/Object;
.line 97
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
aput-object v0, v7, v8
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
aput-object v0, v7, v3
.line 98
invoke-static {v4, v6, v7}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 99
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
.line 100
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_dd
.catch Ljava/lang/Throwable; {:try_start_c0 .. :try_end_dd} :catch_de
.catchall {:try_start_c0 .. :try_end_dd} :catchall_e5
goto :goto_e2
:catch_de
move-exception v0
.line 101
:try_start_df
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 102
:goto_e2
sput-boolean v3, Lcom/uc/crashsdk/e;->h:Z
:try_end_e4
.catch Ljava/lang/Throwable; {:try_start_df .. :try_end_e4} :catch_e7
.catchall {:try_start_df .. :try_end_e4} :catchall_e5
goto :goto_ed
:catchall_e5
move-exception p0
goto :goto_f4
:catch_e7
move-exception v0
.line 103
:try_start_e8
sput-boolean v3, Lcom/uc/crashsdk/e;->h:Z
.line 104
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_ed
.catchall {:try_start_e8 .. :try_end_ed} :catchall_e5
.line 105
:goto_ed
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 106
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.line 107
:goto_f4
invoke-static {v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 108
goto :goto_f9
:goto_f8
throw p0
:goto_f9
goto :goto_f8
.end method
.method private static b(Ljava/io/OutputStream;Ljava/lang/String;Ljava/lang/String;)V
.registers 19
move-object/from16 v1, p0
const-string v2, "\n"
const-string v3, "UTF-8"
:try_start_6
const-string v0, "*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***\n"
.line 13
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_f
.catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_f} :catch_10
goto :goto_14
:catch_10
move-exception v0
.line 14
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_14
const/4 v4, 0x3
const/4 v5, 0x2
const/4 v6, 0x0
const/4 v7, 0x1
.line 15
:try_start_18
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v8, "Basic Information: \'pid: %d/tid: %d/time: %s\'\n"
new-array v9, v4, [Ljava/lang/Object;
.line 16
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v10
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
aput-object v10, v9, v6
.line 17
invoke-static {}, Landroid/os/Process;->myTid()I
move-result v10
invoke-static {v10}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v10
aput-object v10, v9, v7
.line 18
invoke-static {}, Lcom/uc/crashsdk/e;->m()Ljava/lang/String;
move-result-object v10
aput-object v10, v9, v5
.line 19
invoke-static {v0, v8, v9}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 20
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 21
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v8, "Cpu Information: \'abi: %s/processor: %s/hardware: %s\'\n"
new-array v9, v4, [Ljava/lang/Object;
.line 22
invoke-static {}, Lcom/uc/crashsdk/e;->e()Ljava/lang/String;
move-result-object v10
aput-object v10, v9, v6
sget-object v10, Lcom/uc/crashsdk/e;->l:Ljava/lang/String;
invoke-static {v10}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v10
if-eqz v10, :cond_5a
invoke-static {}, Lcom/uc/crashsdk/e;->S()V
:cond_5a
sget-object v10, Lcom/uc/crashsdk/e;->l:Ljava/lang/String;
aput-object v10, v9, v7
invoke-static {}, Lcom/uc/crashsdk/e;->f()Ljava/lang/String;
move-result-object v10
aput-object v10, v9, v5
.line 23
invoke-static {v0, v8, v9}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 24
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_6f
.catch Ljava/lang/Throwable; {:try_start_18 .. :try_end_6f} :catch_70
goto :goto_74
:catch_70
move-exception v0
.line 25
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_74
const/4 v8, 0x4
.line 26
:try_start_75
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v9, "Mobile Information: \'model: %s/version: %s/sdk: %d\'\n"
new-array v10, v4, [Ljava/lang/Object;
sget-object v11, Landroid/os/Build;->MODEL:Ljava/lang/String;
aput-object v11, v10, v6
sget-object v11, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
aput-object v11, v10, v7
sget v11, Landroid/os/Build$VERSION;->SDK_INT:I
.line 27
invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v11
aput-object v11, v10, v5
.line 28
invoke-static {v0, v9, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 29
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 30
new-instance v0, Ljava/lang/StringBuilder;
const-string v9, "Build fingerprint: \'"
invoke-direct {v0, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
sget-object v9, Landroid/os/Build;->FINGERPRINT:Ljava/lang/String;
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v9, "\'\n"
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 31
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 32
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v9, "Runtime Information: \'start: %s/maxheap: %s/primaryabi: %s/ground: %s\'\n"
new-array v10, v8, [Ljava/lang/Object;
new-instance v11, Ljava/util/Date;
sget-wide v12, Lcom/uc/crashsdk/e;->b:J
invoke-direct {v11, v12, v13}, Ljava/util/Date;-><init>(J)V
.line 33
invoke-static {v11}, Lcom/uc/crashsdk/e;->a(Ljava/util/Date;)Ljava/lang/String;
move-result-object v11
aput-object v11, v10, v6
.line 34
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v11
invoke-virtual {v11}, Ljava/lang/Runtime;->maxMemory()J
move-result-wide v11
invoke-static {v11, v12}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v11
aput-object v11, v10, v7
.line 35
invoke-static {}, Lcom/uc/crashsdk/a/g;->d()Ljava/lang/String;
move-result-object v11
aput-object v11, v10, v5
.line 36
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v11
if-eqz v11, :cond_e2
const-string v11, "fg"
goto :goto_e4
:cond_e2
const-string v11, "bg"
:goto_e4
aput-object v11, v10, v4
.line 37
invoke-static {v0, v9, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 38
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_f1
.catch Ljava/lang/Throwable; {:try_start_75 .. :try_end_f1} :catch_f2
goto :goto_f6
:catch_f2
move-exception v0
.line 39
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 40
:goto_f6
:try_start_f6
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v9, "Application Information: \'version: %s/subversion: %s/buildseq: %s/versioncode: %d\'\n"
new-array v10, v8, [Ljava/lang/Object;
.line 41
invoke-static {}, Lcom/uc/crashsdk/g;->R()Ljava/lang/String;
move-result-object v11
aput-object v11, v10, v6
invoke-static {}, Lcom/uc/crashsdk/g;->S()Ljava/lang/String;
move-result-object v11
aput-object v11, v10, v7
.line 42
invoke-static {}, Lcom/uc/crashsdk/g;->T()Ljava/lang/String;
move-result-object v11
aput-object v11, v10, v5
invoke-static {}, Lcom/uc/crashsdk/a;->c()I
move-result v11
invoke-static {v11}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v11
aput-object v11, v10, v4
.line 43
invoke-static {v0, v9, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 44
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
const-string v0, "0"
.line 45
sget-boolean v9, Lcom/uc/crashsdk/b;->d:Z
:try_end_127
.catch Ljava/lang/Throwable; {:try_start_f6 .. :try_end_127} :catch_186
const-string v10, ""
if-eqz v9, :cond_13a
const/4 v0, 0x0
const-wide/16 v11, 0x0
.line 46
:try_start_12e
invoke-static {v7, v11, v12, v0}, Lcom/uc/crashsdk/JNIBridge;->nativeGet(IJLjava/lang/String;)Ljava/lang/String;
move-result-object v9
.line 47
invoke-static {v5, v11, v12, v0}, Lcom/uc/crashsdk/JNIBridge;->nativeGet(IJLjava/lang/String;)Ljava/lang/String;
move-result-object v0
move-object v15, v9
move-object v9, v0
move-object v0, v15
goto :goto_13b
:cond_13a
move-object v9, v10
.line 48
:goto_13b
sget-object v11, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v12, "CrashSDK Information: \'version: %s/nativeseq: %s/javaseq: %s/arch: %s/target: %s\'\n"
const/4 v13, 0x5
new-array v13, v13, [Ljava/lang/Object;
const-string v14, "3.2.0.4"
aput-object v14, v13, v6
aput-object v0, v13, v7
const-string v0, "200403192109"
aput-object v0, v13, v5
aput-object v9, v13, v4
const-string v0, "umeng"
aput-object v0, v13, v8
invoke-static {v11, v12, v13}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 49
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
if-nez p1, :cond_160
goto :goto_162
:cond_160
move-object/from16 v10, p1
:goto_162
const/16 v0, 0x2f
.line 50
invoke-virtual {v10, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v0
add-int/2addr v0, v7
.line 51
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Report Name: "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v10, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 52
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_185
.catch Ljava/lang/Throwable; {:try_start_12e .. :try_end_185} :catch_186
goto :goto_18a
:catch_186
move-exception v0
.line 53
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 54
:goto_18a
:try_start_18a
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_195
const-string v0, "UUID"
.line 55
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
goto :goto_197
.line 56
:cond_195
sget-object v0, Lcom/uc/crashsdk/e;->B:Ljava/lang/String;
:goto_197
const-string v4, "UUID: %s\n"
.line 57
new-array v5, v7, [Ljava/lang/Object;
aput-object v0, v5, v6
invoke-static {v4, v5}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 58
new-instance v0, Ljava/lang/StringBuilder;
const-string v4, "Log Type: "
invoke-direct {v0, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
move-object/from16 v4, p2
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 59
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_1c2
.catch Ljava/lang/Throwable; {:try_start_18a .. :try_end_1c2} :catch_1c3
goto :goto_1c7
:catch_1c3
move-exception v0
.line 60
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 61
:goto_1c7
:try_start_1c7
invoke-static {}, Lcom/uc/crashsdk/b;->B()Ljava/lang/String;
move-result-object v0
.line 62
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_1d3
const-string v0, "(none)"
.line 63
:cond_1d3
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Activity: "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 64
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_1eb
.catch Ljava/lang/Throwable; {:try_start_1c7 .. :try_end_1eb} :catch_1ec
goto :goto_1f0
:catch_1ec
move-exception v0
.line 65
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 66
:goto_1f0
invoke-static/range {p0 .. p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
.line 67
:try_start_1f3
invoke-static {v1, v3}, Lcom/uc/crashsdk/a;->a(Ljava/io/OutputStream;Ljava/lang/String;)V
.line 68
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_210
.line 69
sput-boolean v6, Lcom/uc/crashsdk/e;->h:Z
const-string v0, "HEADER"
.line 70
invoke-static {v0}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v0, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/OutputStream;->write([B)V
.line 71
sput-boolean v7, Lcom/uc/crashsdk/e;->h:Z
:try_end_20b
.catch Ljava/lang/Throwable; {:try_start_1f3 .. :try_end_20b} :catch_20c
goto :goto_210
:catch_20c
move-exception v0
.line 72
invoke-static {v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 73
:cond_210
:goto_210
invoke-static/range {p0 .. p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.end method
.method public static b(Ljava/lang/String;)V
.registers 4
.line 159
sget-object v0, Lcom/uc/crashsdk/e;->z:Ljava/lang/Object;
monitor-enter v0
.line 160
:try_start_3
invoke-static {}, Lcom/uc/crashsdk/b;->i()Ljava/lang/String;
move-result-object v1
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "\n"
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 161
invoke-static {v1, p0}, Lcom/uc/crashsdk/a/b;->a(Ljava/lang/String;Ljava/lang/String;)Z
.line 162
monitor-exit v0
return-void
:catchall_1d
move-exception p0
monitor-exit v0
:try_end_1f
.catchall {:try_start_3 .. :try_end_1f} :catchall_1d
throw p0
.end method
.method private static b(Ljava/lang/String;Ljava/lang/String;)V
.registers 3
.line 163
:try_start_0
invoke-static {}, Lcom/uc/crashsdk/e;->h()Ljava/lang/String;
move-result-object v0
invoke-static {p0, v0, p1}, Lcom/uc/crashsdk/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:try_end_7
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_7} :catch_8
return-void
:catch_8
move-exception p0
.line 164
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method static b(Ljava/lang/String;Ljava/lang/String;Z)V
.registers 4
const/4 v0, 0x0
.line 158
invoke-static {p0, p1, v0, p2}, Lcom/uc/crashsdk/a/h;->a(Ljava/lang/String;Ljava/lang/String;ZZ)Z
return-void
.end method
.method static b(Z)V
.registers 4
.line 135
:try_start_0
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_14
.line 136
invoke-static {}, Lcom/uc/crashsdk/b;->C()Z
move-result v0
if-eqz v0, :cond_14
sget-boolean v0, Lcom/uc/crashsdk/e;->d:Z
if-nez v0, :cond_14
const/4 v0, 0x1
goto :goto_15
:cond_14
const/4 v0, 0x0
:goto_15
if-nez v0, :cond_1b
.line 137
invoke-static {}, Lcom/uc/crashsdk/g;->s()Z
move-result v0
:cond_1b
if-nez v0, :cond_1e
return-void
:cond_1e
if-eqz p0, :cond_31
.line 138
invoke-static {}, Lcom/uc/crashsdk/e;->k()Ljava/lang/String;
move-result-object p0
.line 139
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_30
.line 140
invoke-static {}, Lcom/uc/crashsdk/e;->j()V
.line 141
invoke-static {p0, v2, v2}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;ZZ)V
:cond_30
return-void
.line 142
:cond_31
invoke-static {v1, v2}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_34
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_34} :catch_35
return-void
:catch_35
move-exception p0
.line 143
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method public static b(I[Ljava/lang/Object;)Z
.registers 8
const/16 v0, 0x1c3
const/4 v1, 0x1
const/4 v2, 0x0
if-eq p0, v0, :cond_65
const/16 v0, 0x1c4
if-eq p0, v0, :cond_15
.line 4
sget-boolean p0, Lcom/uc/crashsdk/e;->a:Z
if-eqz p0, :cond_f
return v2
:cond_f
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 5
:cond_15
sget-boolean p0, Lcom/uc/crashsdk/e;->a:Z
if-nez p0, :cond_22
if-eqz p1, :cond_1c
goto :goto_22
:cond_1c
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 6
:cond_22
:goto_22
aget-object p0, p1, v2
check-cast p0, Ljava/lang/String;
.line 7
aget-object p1, p1, v1
check-cast p1, Lcom/uc/crashsdk/e$d;
.line 8
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v3, 0x4
new-array v3, v3, [Ljava/lang/Object;
iget-wide v4, p1, Lcom/uc/crashsdk/e$d;->a:J
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
aput-object v4, v3, v2
iget-wide v4, p1, Lcom/uc/crashsdk/e$d;->b:J
invoke-static {v4, v5}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v2
aput-object v2, v3, v1
const/4 v1, 0x2
iget v2, p1, Lcom/uc/crashsdk/e$d;->c:I
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v3, v1
const/4 v1, 0x3
iget p1, p1, Lcom/uc/crashsdk/e$d;->d:I
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
aput-object p1, v3, v1
const-string p1, "%d %d %d %d"
invoke-static {v0, p1, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
move-result-object p0
invoke-static {v0, p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;[B)Z
move-result p0
return p0
.line 9
:cond_65
sget-boolean p0, Lcom/uc/crashsdk/e;->a:Z
if-nez p0, :cond_72
if-eqz p1, :cond_6c
goto :goto_72
:cond_6c
new-instance p0, Ljava/lang/AssertionError;
invoke-direct {p0}, Ljava/lang/AssertionError;-><init>()V
throw p0
.line 10
:cond_72
:goto_72
aget-object p0, p1, v2
check-cast p0, Ljava/lang/String;
.line 11
aget-object p1, p1, v1
check-cast p1, Lcom/uc/crashsdk/e$d;
.line 12
invoke-static {p0, p1}, Lcom/uc/crashsdk/e;->a(Ljava/lang/String;Lcom/uc/crashsdk/e$d;)Z
move-result p0
return p0
.end method
.method private static b(Ljava/io/File;)Z
.registers 5
.line 144
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p0
const/16 v0, 0x5f
.line 145
invoke-virtual {p0, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v0
const/4 v1, 0x0
if-gtz v0, :cond_e
return v1
:cond_e
const/16 v2, 0x2e
.line 146
invoke-virtual {p0, v2, v0}, Ljava/lang/String;->indexOf(II)I
move-result v2
if-gtz v2, :cond_17
return v1
:cond_17
const/4 v3, 0x1
add-int/2addr v0, v3
.line 147
invoke-virtual {p0, v0, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
const-string v0, "java"
.line 148
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4f
const-string v0, "ucebujava"
.line 149
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4f
const-string v0, "jni"
.line 150
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4f
const-string v0, "ucebujni"
.line 151
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4f
const-string v0, "unexp"
.line 152
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4f
const-string v0, "anr"
.line 153
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_4e
goto :goto_4f
:cond_4e
return v1
:cond_4f
:goto_4f
return v3
.end method
.method static synthetic c(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->C:I
return p0
.end method
.method static c()V
.registers 1
const/4 v0, 0x0
.line 3
sput-object v0, Lcom/uc/crashsdk/e;->i:Ljava/lang/String;
return-void
.end method
.method private static c(Ljava/io/OutputStream;)V
.registers 8
const-string v0, "UTF-8"
:try_start_2
const-string v1, "disk info:\n"
.line 4
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
invoke-virtual {p0, v1}, Ljava/io/OutputStream;->write([B)V
:try_end_b
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_b} :catch_c
goto :goto_10
:catch_c
move-exception v1
.line 5
invoke-static {v1, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 6
:goto_10
sget-boolean v1, Lcom/uc/crashsdk/e;->af:Z
const/4 v2, 0x0
if-eqz v1, :cond_2d
.line 7
sput-boolean v2, Lcom/uc/crashsdk/e;->h:Z
:try_start_17
const-string v1, "FSSTAT"
.line 8
invoke-static {v1}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_24
.catch Ljava/lang/Throwable; {:try_start_17 .. :try_end_24} :catch_25
goto :goto_29
:catch_25
move-exception v0
.line 9
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_29
const/4 v0, 0x1
.line 10
sput-boolean v0, Lcom/uc/crashsdk/e;->h:Z
goto :goto_84
:cond_2d
const/4 v0, 0x0
.line 11
:try_start_2e
new-instance v1, Ljava/util/HashSet;
invoke-direct {v1}, Ljava/util/HashSet;-><init>()V
:try_end_33
.catch Ljava/lang/Throwable; {:try_start_2e .. :try_end_33} :catch_46
.line 12
:try_start_33
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/uc/crashsdk/a/g;->b()Ljava/lang/String;
move-result-object v3
invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 13
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/io/File;)Ljava/lang/String;
move-result-object v0
invoke-static {p0, v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/Set;)V
:try_end_43
.catch Ljava/lang/Throwable; {:try_start_33 .. :try_end_43} :catch_44
goto :goto_4d
:catch_44
move-exception v0
goto :goto_4a
:catch_46
move-exception v1
move-object v6, v1
move-object v1, v0
move-object v0, v6
.line 14
:goto_4a
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 15
:goto_4d
:try_start_4d
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
.line 16
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/io/File;)Ljava/lang/String;
move-result-object v0
invoke-static {p0, v0, v1}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/Set;)V
.line 17
new-instance v0, Ljava/io/File;
const-string v3, "/storage"
invoke-direct {v0, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 18
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v3
if-eqz v3, :cond_84
.line 19
invoke-virtual {v0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
if-eqz v0, :cond_84
.line 20
array-length v3, v0
:goto_6c
if-ge v2, v3, :cond_84
aget-object v4, v0, v2
.line 21
invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z
move-result v5
if-eqz v5, :cond_7d
.line 22
invoke-static {v4}, Lcom/uc/crashsdk/e;->a(Ljava/io/File;)Ljava/lang/String;
move-result-object v4
invoke-static {p0, v4, v1}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;Ljava/lang/String;Ljava/util/Set;)V
:try_end_7d
.catch Ljava/lang/Throwable; {:try_start_4d .. :try_end_7d} :catch_80
:cond_7d
add-int/lit8 v2, v2, 0x1
goto :goto_6c
:catch_80
move-exception v0
.line 23
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 24
:cond_84
:goto_84
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.end method
.method static c(Z)V
.registers 4
.line 28
sget-boolean v0, Lcom/uc/crashsdk/e;->R:Z
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_f
if-eqz p0, :cond_19
.line 29
invoke-static {}, Lcom/uc/crashsdk/g;->K()Z
move-result p0
if-nez p0, :cond_18
goto :goto_19
:cond_f
if-eqz p0, :cond_18
.line 30
invoke-static {}, Lcom/uc/crashsdk/g;->K()Z
move-result p0
if-eqz p0, :cond_18
goto :goto_19
:cond_18
const/4 v1, 0x0
:cond_19
:goto_19
if-eqz v1, :cond_2f
.line 31
sget-object p0, Lcom/uc/crashsdk/e;->S:Lcom/uc/crashsdk/a/e;
invoke-static {p0}, Lcom/uc/crashsdk/a/f;->b(Ljava/lang/Runnable;)Z
move-result p0
if-eqz p0, :cond_28
.line 32
sget-object p0, Lcom/uc/crashsdk/e;->S:Lcom/uc/crashsdk/a/e;
invoke-static {p0}, Lcom/uc/crashsdk/a/f;->a(Ljava/lang/Runnable;)V
.line 33
:cond_28
sget-object p0, Lcom/uc/crashsdk/e;->S:Lcom/uc/crashsdk/a/e;
const-wide/16 v0, 0xbb8
invoke-static {v2, p0, v0, v1}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
:cond_2f
return-void
.end method
.method static synthetic c(Landroid/content/Context;)Z
.registers 1
.line 2
invoke-static {p0}, Lcom/uc/crashsdk/e;->d(Landroid/content/Context;)Z
move-result p0
return p0
.end method
.method static c(Ljava/lang/String;)Z
.registers 3
.line 25
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
const/4 v1, 0x1
if-eqz v0, :cond_6
return v1
.line 26
:cond_6
:try_start_6
invoke-static {p0}, Lcom/uc/crashsdk/e;->o(Ljava/lang/String;)Z
move-result p0
:try_end_a
.catch Ljava/lang/Throwable; {:try_start_6 .. :try_end_a} :catch_b
return p0
:catch_b
move-exception p0
.line 27
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return v1
.end method
.method static synthetic d(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->D:I
return p0
.end method
.method public static d(Z)I
.registers 2
if-eqz p0, :cond_10
.line 57
invoke-static {}, Lcom/uc/crashsdk/b;->c()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_e
const/4 v0, 0x1
goto :goto_14
:cond_e
const/4 v0, 0x0
goto :goto_14
.line 58
:cond_10
invoke-static {}, Lcom/uc/crashsdk/f;->b()I
move-result v0
.line 59
:goto_14
invoke-static {p0}, Lcom/uc/crashsdk/f;->b(Z)I
move-result p0
if-le p0, v0, :cond_1b
return p0
:cond_1b
return v0
.end method
.method static d()Ljava/lang/String;
.registers 1
.line 2
sget-object v0, Lcom/uc/crashsdk/e;->i:Ljava/lang/String;
if-eqz v0, :cond_5
return-object v0
:cond_5
const/4 v0, 0x0
.line 3
invoke-static {v0}, Lcom/uc/crashsdk/e;->i(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 4
sput-object v0, Lcom/uc/crashsdk/e;->i:Ljava/lang/String;
return-object v0
.end method
.method private static d(Ljava/io/OutputStream;)V
.registers 10
const-string v0, "UTF-8"
.line 5
sget-boolean v1, Lcom/uc/crashsdk/b;->d:Z
const/4 v2, 0x0
const/4 v3, 0x1
if-eqz v1, :cond_3d
.line 6
invoke-static {}, Lcom/uc/crashsdk/b;->l()Ljava/lang/String;
move-result-object v0
.line 7
sput-boolean v2, Lcom/uc/crashsdk/e;->h:Z
const-wide/16 v1, 0x1
const/16 v4, 0x11
.line 8
invoke-static {v4, v0}, Lcom/uc/crashsdk/JNIBridge;->cmd(ILjava/lang/String;)J
move-result-wide v4
cmp-long v6, v1, v4
if-nez v6, :cond_3a
.line 9
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 10
:try_start_1f
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->e(Ljava/io/File;)[B
move-result-object v0
if-eqz v0, :cond_2d
.line 11
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_28
.catch Ljava/lang/Throwable; {:try_start_1f .. :try_end_28} :catch_29
goto :goto_2d
:catch_29
move-exception v0
.line 12
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 13
:cond_2d
:goto_2d
:try_start_2d
invoke-virtual {v1}, Ljava/io/File;->delete()Z
:try_end_30
.catch Ljava/lang/Throwable; {:try_start_2d .. :try_end_30} :catch_31
goto :goto_35
:catch_31
move-exception v0
.line 14
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 15
:goto_35
sput-boolean v3, Lcom/uc/crashsdk/e;->h:Z
.line 16
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
.line 17
:cond_3a
sput-boolean v3, Lcom/uc/crashsdk/e;->h:Z
return-void
:cond_3d
const/4 v1, 0x0
const/16 v4, 0x384
.line 18
:try_start_40
invoke-static {}, Lcom/uc/crashsdk/g;->H()I
move-result v4
.line 19
new-instance v5, Ljava/io/File;
const-string v6, "/proc/self/fd"
invoke-direct {v5, v6}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 20
invoke-virtual {v5}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
if-eqz v1, :cond_71
.line 21
sget-object v5, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v6, "opened file count: %d, write limit: %d.\n"
const/4 v7, 0x2
new-array v7, v7, [Ljava/lang/Object;
array-length v8, v1
.line 22
invoke-static {v8}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v2
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v7, v3
.line 23
invoke-static {v5, v6, v7}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
.line 24
invoke-virtual {v3, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
.line 25
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
goto :goto_7f
:cond_71
const-string v3, "[DEBUG] listFiles failed!\n"
.line 26
invoke-virtual {v3, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
:try_end_7a
.catch Ljava/lang/Throwable; {:try_start_40 .. :try_end_7a} :catch_7b
goto :goto_7f
:catch_7b
move-exception v3
.line 27
invoke-static {v3, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_7f
if-eqz v1, :cond_c6
.line 28
:try_start_81
array-length v3, v1
if-lt v3, v4, :cond_c6
const-string v3, "opened files:\n"
.line 29
invoke-virtual {v3, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
.line 30
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
:try_end_92
.catch Ljava/lang/Throwable; {:try_start_81 .. :try_end_92} :catch_c2
.line 31
:try_start_92
array-length v4, v1
:goto_93
if-ge v2, v4, :cond_b6
aget-object v5, v1, v2
.line 32
invoke-virtual {v5}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v6
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v6, " -> "
.line 33
invoke-virtual {v3, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 34
invoke-virtual {v5}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v5
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, "\n"
.line 35
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_af
.catch Ljava/lang/Throwable; {:try_start_92 .. :try_end_af} :catch_b2
add-int/lit8 v2, v2, 0x1
goto :goto_93
:catch_b2
move-exception v1
.line 36
:try_start_b3
invoke-static {v1, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 37
:cond_b6
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_c1
.catch Ljava/lang/Throwable; {:try_start_b3 .. :try_end_c1} :catch_c2
goto :goto_c6
:catch_c2
move-exception v0
.line 38
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 39
:cond_c6
:goto_c6
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.end method
.method private static d(Landroid/content/Context;)Z
.registers 6
const-string v0, "activity"
.line 40
invoke-virtual {p0, v0}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Landroid/app/ActivityManager;
const/4 v0, 0x0
if-nez p0, :cond_c
return v0
.line 41
:cond_c
invoke-virtual {p0}, Landroid/app/ActivityManager;->getProcessesInErrorState()Ljava/util/List;
move-result-object p0
if-nez p0, :cond_13
return v0
.line 42
:cond_13
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v1
.line 43
invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p0
:cond_1b
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v2
const/4 v3, 0x1
if-eqz v2, :cond_55
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;
.line 44
iget v4, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->pid:I
if-ne v4, v1, :cond_1b
.line 45
sput-boolean v3, Lcom/uc/crashsdk/e;->O:Z
.line 46
invoke-static {}, Lcom/uc/crashsdk/e;->N()Z
move-result p0
if-eqz p0, :cond_49
.line 47
new-instance p0, Ljava/lang/StringBuilder;
const-string v0, "ANR occurred in process: "
invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v0, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->processName:Ljava/lang/String;
invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string v0, "crashsdk"
invoke-static {v0, p0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 48
:cond_49
sget-boolean p0, Lcom/uc/crashsdk/b;->d:Z
if-eqz p0, :cond_54
const/16 p0, 0x82
.line 49
iget-object v0, v2, Landroid/app/ActivityManager$ProcessErrorStateInfo;->longMsg:Ljava/lang/String;
invoke-static {p0, v0}, Lcom/uc/crashsdk/JNIBridge;->set(ILjava/lang/String;)J
:cond_54
const/4 v0, 0x1
:cond_55
if-nez v0, :cond_5e
.line 50
sget-boolean p0, Lcom/uc/crashsdk/b;->d:Z
if-eqz p0, :cond_5e
.line 51
invoke-static {}, Lcom/uc/crashsdk/e;->V()V
:cond_5e
return v3
.end method
.method public static d(Ljava/lang/String;)Z
.registers 3
.line 52
:try_start_0
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_29
const-string v0, "lib"
invoke-virtual {p0, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_29
const-string v0, ".so"
.line 53
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_29
.line 54
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x3
sub-int/2addr v0, v1
invoke-virtual {p0, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
.line 55
invoke-static {p0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
:try_end_23
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_23} :catch_25
const/4 p0, 0x1
return p0
:catch_25
move-exception p0
.line 56
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_29
const/4 p0, 0x0
return p0
.end method
.method static synthetic e(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->E:I
return p0
.end method
.method public static e()Ljava/lang/String;
.registers 10
const-string v0, ","
.line 3
sget-object v1, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_d
.line 4
sget-object v0, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
return-object v0
:cond_d
const/4 v1, 0x0
const/4 v2, 0x1
const/4 v3, 0x0
.line 5
:try_start_10
sget v4, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v5, 0x15
if-lt v4, v5, :cond_4b
.line 6
const-class v4, Landroid/os/Build;
:try_end_18
.catch Ljava/lang/Throwable; {:try_start_10 .. :try_end_18} :catch_4b
const-string v5, "SUPPORTED_ABIS"
:try_start_1a
invoke-virtual {v4, v5}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;
move-result-object v4
.line 7
invoke-virtual {v4, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
.line 8
invoke-virtual {v4, v3}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v4
if-eqz v4, :cond_4b
.line 9
instance-of v5, v4, [Ljava/lang/String;
if-eqz v5, :cond_4b
.line 10
check-cast v4, [Ljava/lang/String;
.line 11
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
.line 12
array-length v6, v4
const/4 v7, 0x0
const/4 v8, 0x1
:goto_35
if-ge v7, v6, :cond_45
aget-object v9, v4, v7
if-nez v8, :cond_3e
.line 13
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 14
:cond_3e
invoke-virtual {v5, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 v7, v7, 0x1
const/4 v8, 0x0
goto :goto_35
.line 15
:cond_45
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
sput-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
:try_end_4b
.catch Ljava/lang/Throwable; {:try_start_1a .. :try_end_4b} :catch_4b
.line 16
:catch_4b
:cond_4b
sget-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v4
if-eqz v4, :cond_94
.line 17
:try_start_53
sget-object v4, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;
:try_end_55
.catch Ljava/lang/Throwable; {:try_start_53 .. :try_end_55} :catch_58
.line 18
:try_start_55
sget-object v5, Landroid/os/Build;->CPU_ABI2:Ljava/lang/String;
:try_end_57
.catch Ljava/lang/Throwable; {:try_start_55 .. :try_end_57} :catch_59
goto :goto_5a
:catch_58
move-object v4, v3
:catch_59
move-object v5, v3
.line 19
:goto_5a
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v6
xor-int/2addr v6, v2
if-eqz v6, :cond_63
.line 20
sput-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
.line 21
:cond_63
invoke-static {v5}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v4
if-nez v4, :cond_94
if-eqz v6, :cond_92
.line 22
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
sget-object v6, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
sput-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
.line 23
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
sget-object v6, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
sput-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
goto :goto_94
.line 24
:cond_92
sput-object v5, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
:cond_94
:goto_94
const-string v4, "android.os.SystemProperties"
.line 25
:try_start_96
invoke-static {v4}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v4
const-string v5, "get"
const/4 v6, 0x2
.line 26
new-array v7, v6, [Ljava/lang/Class;
const-class v8, Ljava/lang/String;
aput-object v8, v7, v1
const-class v8, Ljava/lang/String;
aput-object v8, v7, v2
invoke-virtual {v4, v5, v7}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v4
if-eqz v4, :cond_cf
.line 27
invoke-virtual {v4, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 28
new-array v5, v6, [Ljava/lang/Object;
const-string v7, "ro.product.cpu.abi"
aput-object v7, v5, v1
aput-object v3, v5, v2
invoke-virtual {v4, v3, v5}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/String;
:try_end_be
.catch Ljava/lang/Throwable; {:try_start_96 .. :try_end_be} :catch_d1
.line 29
:try_start_be
new-array v6, v6, [Ljava/lang/Object;
const-string v7, "ro.product.cpu.abi2"
aput-object v7, v6, v1
aput-object v3, v6, v2
invoke-virtual {v4, v3, v6}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
:try_end_cc
.catch Ljava/lang/Throwable; {:try_start_be .. :try_end_cc} :catch_cd
goto :goto_d7
:catch_cd
move-exception v1
goto :goto_d3
:cond_cf
move-object v1, v3
goto :goto_d8
:catch_d1
move-exception v1
move-object v5, v3
.line 30
:goto_d3
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
move-object v1, v3
:goto_d7
move-object v3, v5
.line 31
:goto_d8
:try_start_d8
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_10c
sget-object v2, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_10c
.line 32
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
sget-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
sput-object v2, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
.line 33
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
sget-object v4, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
sput-object v2, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
.line 34
:cond_10c
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_145
sget-object v2, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v2, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-nez v2, :cond_145
.line 35
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
sget-object v3, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
.line 36
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
sget-object v2, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
:try_end_140
.catch Ljava/lang/Throwable; {:try_start_d8 .. :try_end_140} :catch_141
goto :goto_145
:catch_141
move-exception v0
.line 37
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 38
:cond_145
:goto_145
sget-object v0, Lcom/uc/crashsdk/e;->j:Ljava/lang/String;
return-object v0
.end method
.method static e(Ljava/lang/String;)Ljava/lang/StringBuilder;
.registers 2
.line 61
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->getStackTrace()[Ljava/lang/StackTraceElement;
move-result-object v0
.line 62
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a([Ljava/lang/StackTraceElement;Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
return-object p0
.end method
.method private static e(Ljava/io/OutputStream;)V
.registers 13
const-string v0, "UTF-8"
const/4 v1, 0x0
const/4 v2, 0x0
.line 39
:try_start_4
invoke-static {}, Lcom/uc/crashsdk/g;->I()I
move-result v3
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_8} :catch_1c
.line 40
:try_start_8
new-instance v4, Ljava/io/File;
const-string v5, "/proc/self/task"
invoke-direct {v4, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 41
invoke-virtual {v4}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v2
if-nez v2, :cond_16
return-void
.line 42
:cond_16
array-length v4, v2
:try_end_17
.catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_17} :catch_1a
if-ge v4, v3, :cond_23
return-void
:catch_1a
move-exception v4
goto :goto_1f
:catch_1c
move-exception v4
const/16 v3, 0x12c
.line 43
:goto_1f
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
const/4 v4, 0x0
:cond_23
if-nez v2, :cond_26
return-void
:cond_26
:try_start_26
const-string v5, "threads info:\n"
.line 44
invoke-virtual {v5, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v5
invoke-virtual {p0, v5}, Ljava/io/OutputStream;->write([B)V
.line 45
sget-object v5, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v6, "threads count: %d, dump limit: %d.\n"
const/4 v7, 0x2
new-array v8, v7, [Ljava/lang/Object;
.line 46
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v8, v1
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x1
aput-object v3, v8, v4
.line 47
invoke-static {v5, v6, v8}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
.line 48
invoke-virtual {v3, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
.line 49
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
const-string v3, " tid name\n"
.line 50
invoke-virtual {v3, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
.line 51
array-length v3, v2
const/4 v5, 0x0
:goto_59
if-ge v5, v3, :cond_92
aget-object v6, v2, v5
.line 52
new-instance v8, Ljava/io/File;
invoke-virtual {v6}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v9
const-string v10, "comm"
invoke-direct {v8, v9, v10}, Ljava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
const/16 v9, 0x80
.line 53
invoke-static {v8, v9, v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;IZ)Ljava/lang/String;
move-result-object v8
.line 54
invoke-static {v8}, Lcom/uc/crashsdk/e;->k(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
.line 55
sget-object v9, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v10, "%5s %s\n"
new-array v11, v7, [Ljava/lang/Object;
.line 56
invoke-virtual {v6}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v6
aput-object v6, v11, v1
aput-object v8, v11, v4
.line 57
invoke-static {v9, v10, v11}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
.line 58
invoke-virtual {v6, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v6
invoke-virtual {p0, v6}, Ljava/io/OutputStream;->write([B)V
:try_end_8b
.catch Ljava/lang/Throwable; {:try_start_26 .. :try_end_8b} :catch_8e
add-int/lit8 v5, v5, 0x1
goto :goto_59
:catch_8e
move-exception v0
.line 59
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 60
:cond_92
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.end method
.method static synthetic e(Z)Z
.registers 1
.line 2
sput-boolean p0, Lcom/uc/crashsdk/e;->K:Z
return p0
.end method
.method static synthetic f(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->F:I
return p0
.end method
.method public static f()Ljava/lang/String;
.registers 1
.line 3
sget-object v0, Lcom/uc/crashsdk/e;->k:Ljava/lang/String;
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_b
.line 4
invoke-static {}, Lcom/uc/crashsdk/e;->S()V
.line 5
:cond_b
sget-object v0, Lcom/uc/crashsdk/e;->k:Ljava/lang/String;
return-object v0
.end method
.method static synthetic f(Ljava/lang/String;)Ljava/lang/String;
.registers 1
.line 2
sput-object p0, Lcom/uc/crashsdk/e;->J:Ljava/lang/String;
return-object p0
.end method
.method private static f(Ljava/io/OutputStream;)V
.registers 12
const-string v0, "UTF-8"
.line 6
sget-boolean v1, Lcom/uc/crashsdk/b;->d:Z
if-nez v1, :cond_7
return-void
:cond_7
:try_start_7
const-string v1, "solib build id:\n"
.line 7
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
invoke-virtual {p0, v1}, Ljava/io/OutputStream;->write([B)V
:try_end_10
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_10} :catch_11
goto :goto_15
:catch_11
move-exception v1
.line 8
invoke-static {v1, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_15
const/4 v1, 0x0
.line 9
:try_start_16
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 10
new-instance v3, Ljava/io/FileReader;
new-instance v4, Ljava/io/File;
const-string v5, "/proc/self/maps"
invoke-direct {v4, v5}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-direct {v3, v4}, Ljava/io/FileReader;-><init>(Ljava/io/File;)V
:try_end_27
.catch Ljava/lang/Throwable; {:try_start_16 .. :try_end_27} :catch_cc
.catchall {:try_start_16 .. :try_end_27} :catchall_c8
.line 11
:try_start_27
new-instance v4, Ljava/io/BufferedReader;
const/16 v5, 0x200
invoke-direct {v4, v3, v5}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
:try_end_2e
.catch Ljava/lang/Throwable; {:try_start_27 .. :try_end_2e} :catch_c4
.catchall {:try_start_27 .. :try_end_2e} :catchall_c1
.line 12
:cond_2e
:goto_2e
:try_start_2e
invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v1
if-eqz v1, :cond_b9
const-string v5, ".so"
.line 13
invoke-virtual {v1, v5}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v5
if-eqz v5, :cond_2e
const/16 v5, 0x2f
.line 14
invoke-virtual {v1, v5}, Ljava/lang/String;->indexOf(I)I
move-result v5
const/4 v6, -0x1
if-eq v5, v6, :cond_2e
.line 15
invoke-virtual {v1, v5}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
const-string v5, "/data/"
.line 16
invoke-virtual {v1, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
const/4 v6, 0x0
const/4 v7, 0x1
if-nez v5, :cond_5e
sget-object v5, Lcom/uc/crashsdk/a;->a:Ljava/lang/String;
.line 17
invoke-virtual {v1, v5}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5, :cond_5c
goto :goto_5e
:cond_5c
const/4 v5, 0x0
goto :goto_5f
:cond_5e
:goto_5e
const/4 v5, 0x1
:goto_5f
if-eqz v5, :cond_2e
.line 18
invoke-interface {v2, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v5
if-nez v5, :cond_2e
.line 19
invoke-interface {v2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 20
sget-boolean v5, Lcom/uc/crashsdk/e;->af:Z
:try_end_6c
.catch Ljava/lang/Throwable; {:try_start_2e .. :try_end_6c} :catch_bf
.catchall {:try_start_2e .. :try_end_6c} :catchall_bd
const/4 v8, 0x2
if-eqz v5, :cond_9b
.line 21
:try_start_6f
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "SOBUILDID"
const-string v10, "$^%s`%s^$"
new-array v8, v8, [Ljava/lang/Object;
aput-object v9, v8, v6
aput-object v1, v8, v7
invoke-static {v10, v8}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "\n"
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 22
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
invoke-virtual {p0, v1}, Ljava/io/OutputStream;->write([B)V
:try_end_95
.catch Ljava/lang/Throwable; {:try_start_6f .. :try_end_95} :catch_96
.catchall {:try_start_6f .. :try_end_95} :catchall_bd
goto :goto_2e
:catch_96
move-exception v1
.line 23
:try_start_97
invoke-static {v1, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
goto :goto_2e
:cond_9b
const/4 v5, 0x3
const-wide/16 v9, 0x0
.line 24
invoke-static {v5, v9, v10, v1}, Lcom/uc/crashsdk/JNIBridge;->nativeGet(IJLjava/lang/String;)Ljava/lang/String;
move-result-object v5
.line 25
sget-object v9, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v10, "%s: %s\n"
new-array v8, v8, [Ljava/lang/Object;
aput-object v1, v8, v6
aput-object v5, v8, v7
invoke-static {v9, v10, v8}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 26
invoke-virtual {v1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
.line 27
invoke-virtual {p0, v1}, Ljava/io/OutputStream;->write([B)V
:try_end_b7
.catch Ljava/lang/Throwable; {:try_start_97 .. :try_end_b7} :catch_bf
.catchall {:try_start_97 .. :try_end_b7} :catchall_bd
goto/16 :goto_2e
.line 28
:cond_b9
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
goto :goto_d4
:catchall_bd
move-exception p0
goto :goto_dd
:catch_bf
move-exception v0
goto :goto_c6
:catchall_c1
move-exception p0
move-object v4, v1
goto :goto_dd
:catch_c4
move-exception v0
move-object v4, v1
:goto_c6
move-object v1, v3
goto :goto_ce
:catchall_c8
move-exception p0
move-object v3, v1
move-object v4, v3
goto :goto_dd
:catch_cc
move-exception v0
move-object v4, v1
.line 29
:goto_ce
:try_start_ce
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:try_end_d1
.catchall {:try_start_ce .. :try_end_d1} :catchall_db
.line 30
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 31
:goto_d4
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 32
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
:catchall_db
move-exception p0
move-object v3, v1
.line 33
:goto_dd
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 34
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 35
goto :goto_e5
:goto_e4
throw p0
:goto_e5
goto :goto_e4
.end method
.method static synthetic g(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->G:I
return p0
.end method
.method private static g(Ljava/lang/String;)J
.registers 10
const-string v0, "android.os.SystemProperties"
const-wide/16 v1, 0x0
.line 2
:try_start_4
invoke-static {v0}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v0
const-string v3, "getLong"
const/4 v4, 0x2
.line 3
new-array v5, v4, [Ljava/lang/Class;
const-class v6, Ljava/lang/String;
const/4 v7, 0x0
aput-object v6, v5, v7
sget-object v6, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
const/4 v8, 0x1
aput-object v6, v5, v8
invoke-virtual {v0, v3, v5}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
if-eqz v0, :cond_3a
.line 4
invoke-virtual {v0, v8}, Ljava/lang/reflect/Method;->setAccessible(Z)V
const/4 v3, 0x0
.line 5
new-array v4, v4, [Ljava/lang/Object;
aput-object p0, v4, v7
invoke-static {v1, v2}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
aput-object p0, v4, v8
invoke-virtual {v0, v3, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Long;
invoke-virtual {p0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
:try_end_35
.catch Ljava/lang/Throwable; {:try_start_4 .. :try_end_35} :catch_36
return-wide v0
:catch_36
move-exception p0
.line 6
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_3a
return-wide v1
.end method
.method static g()Ljava/lang/String;
.registers 8
const-string v0, " kB\n"
.line 7
:try_start_2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "JavaMax: "
.line 8
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Runtime;->maxMemory()J
move-result-wide v2
const-wide/16 v4, 0x400
div-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "JavaTotal: "
.line 9
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Runtime;->totalMemory()J
move-result-wide v2
div-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "JavaFree: "
.line 10
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Runtime;->freeMemory()J
move-result-wide v2
div-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "NativeHeap: "
.line 11
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/Debug;->getNativeHeapSize()J
move-result-wide v2
div-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "NativeAllocated: "
.line 12
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/Debug;->getNativeHeapAllocatedSize()J
move-result-wide v2
div-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "NativeFree: "
.line 13
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {}, Landroid/os/Debug;->getNativeHeapFreeSize()J
move-result-wide v2
div-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_75
.catch Ljava/lang/Throwable; {:try_start_2 .. :try_end_75} :catch_c0
.line 14
:try_start_75
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v2
const-string v3, "activity"
invoke-virtual {v2, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/app/ActivityManager;
if-eqz v2, :cond_bb
.line 15
new-instance v3, Landroid/app/ActivityManager$MemoryInfo;
invoke-direct {v3}, Landroid/app/ActivityManager$MemoryInfo;-><init>()V
.line 16
invoke-virtual {v2, v3}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
const-string v2, "availMem: "
.line 17
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v6, v3, Landroid/app/ActivityManager$MemoryInfo;->availMem:J
div-long/2addr v6, v4
invoke-virtual {v1, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "threshold: "
.line 18
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-wide v6, v3, Landroid/app/ActivityManager$MemoryInfo;->threshold:J
div-long/2addr v6, v4
invoke-virtual {v1, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "lowMemory: "
.line 19
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean v0, v3, Landroid/app/ActivityManager$MemoryInfo;->lowMemory:Z
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v0, "\n"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_b6
.catch Ljava/lang/Throwable; {:try_start_75 .. :try_end_b6} :catch_b7
goto :goto_bb
:catch_b7
move-exception v0
.line 20
:try_start_b8
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 21
:cond_bb
:goto_bb
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:try_end_bf
.catch Ljava/lang/Throwable; {:try_start_b8 .. :try_end_bf} :catch_c0
return-object v0
:catch_c0
move-exception v0
.line 22
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
const-string v0, ""
return-object v0
.end method
.method private static g(Ljava/io/OutputStream;)V
.registers 9
:try_start_0
const-string v0, "recent status:\n"
const-string v1, "UTF-8"
.line 23
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_b
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_b} :catch_c
goto :goto_10
:catch_c
move-exception v0
.line 24
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
:goto_10
const/4 v0, 0x0
const/4 v1, 0x1
.line 25
:try_start_12
sget-boolean v2, Lcom/uc/crashsdk/e;->af:Z
if-eqz v2, :cond_1d
const-string v2, "LASTVER"
.line 26
invoke-static {v2}, Lcom/uc/crashsdk/e;->r(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
goto :goto_21
.line 27
:cond_1d
invoke-static {}, Lcom/uc/crashsdk/a;->m()Ljava/lang/String;
move-result-object v2
.line 28
:goto_21
sget-object v3, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v4, "last version: \'%s\'\n"
new-array v5, v1, [Ljava/lang/Object;
aput-object v2, v5, v0
invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const-string v3, "UTF-8"
.line 29
invoke-virtual {v2, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
.line 30
invoke-virtual {p0, v2}, Ljava/io/OutputStream;->write([B)V
:try_end_36
.catch Ljava/lang/Throwable; {:try_start_12 .. :try_end_36} :catch_37
goto :goto_3b
:catch_37
move-exception v2
.line 31
invoke-static {v2, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 32
:goto_3b
:try_start_3b
sget-object v2, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
monitor-enter v2
:try_end_3e
.catch Ljava/lang/Throwable; {:try_start_3b .. :try_end_3e} :catch_e3
.line 33
:try_start_3e
sget-object v3, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
if-eqz v3, :cond_59
.line 34
sget-object v3, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v4, "generating log: %s\n"
new-array v5, v1, [Ljava/lang/Object;
sget-object v6, Lcom/uc/crashsdk/e;->t:Ljava/lang/String;
aput-object v6, v5, v0
invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
const-string v4, "UTF-8"
.line 35
invoke-virtual {v3, v4}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
.line 36
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
.line 37
:cond_59
sget v3, Lcom/uc/crashsdk/e;->s:I
if-gtz v3, :cond_65
sget-object v3, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->size()I
move-result v3
if-lez v3, :cond_a8
.line 38
:cond_65
sget-object v3, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v4, "generated %d logs, recent are:\n"
new-array v5, v1, [Ljava/lang/Object;
sget v6, Lcom/uc/crashsdk/e;->s:I
.line 39
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
aput-object v6, v5, v0
.line 40
invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v3
const-string v4, "UTF-8"
.line 41
invoke-virtual {v3, v4}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v3
.line 42
invoke-virtual {p0, v3}, Ljava/io/OutputStream;->write([B)V
.line 43
sget-object v3, Lcom/uc/crashsdk/e;->r:Ljava/util/ArrayList;
invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_86
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_a8
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/String;
.line 44
sget-object v5, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v6, "* %s\n"
new-array v7, v1, [Ljava/lang/Object;
aput-object v4, v7, v0
invoke-static {v5, v6, v7}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v4
const-string v5, "UTF-8"
.line 45
invoke-virtual {v4, v5}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v4
.line 46
invoke-virtual {p0, v4}, Ljava/io/OutputStream;->write([B)V
goto :goto_86
.line 47
:cond_a8
monitor-exit v2
:try_end_a9
.catchall {:try_start_3e .. :try_end_a9} :catchall_e0
.line 48
:try_start_a9
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v3, "dumping all threads: %s\n"
new-array v4, v1, [Ljava/lang/Object;
sget-boolean v5, Lcom/uc/crashsdk/e;->u:Z
.line 49
invoke-static {v5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v5
aput-object v5, v4, v0
.line 50
invoke-static {v2, v3, v4}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
const-string v3, "UTF-8"
.line 51
invoke-virtual {v2, v3}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
.line 52
invoke-virtual {p0, v2}, Ljava/io/OutputStream;->write([B)V
.line 53
sget-object v2, Lcom/uc/crashsdk/e;->v:Ljava/lang/String;
if-eqz v2, :cond_e7
.line 54
sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v3, "dumping threads: %s\n"
new-array v1, v1, [Ljava/lang/Object;
sget-object v4, Lcom/uc/crashsdk/e;->v:Ljava/lang/String;
aput-object v4, v1, v0
invoke-static {v2, v3, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
const-string v1, "UTF-8"
.line 55
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
.line 56
invoke-virtual {p0, v0}, Ljava/io/OutputStream;->write([B)V
:try_end_df
.catch Ljava/lang/Throwable; {:try_start_a9 .. :try_end_df} :catch_e3
goto :goto_e7
:catchall_e0
move-exception v0
.line 57
:try_start_e1
monitor-exit v2
:try_end_e2
.catchall {:try_start_e1 .. :try_end_e2} :catchall_e0
:try_start_e2
throw v0
:try_end_e3
.catch Ljava/lang/Throwable; {:try_start_e2 .. :try_end_e3} :catch_e3
:catch_e3
move-exception v0
.line 58
invoke-static {v0, p0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/io/OutputStream;)V
.line 59
:cond_e7
:goto_e7
invoke-static {p0}, Lcom/uc/crashsdk/e;->a(Ljava/io/OutputStream;)V
return-void
.end method
.method static synthetic h(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->H:I
return p0
.end method
.method public static h()Ljava/lang/String;
.registers 1
.line 3
sget-object v0, Lcom/uc/crashsdk/e;->m:Ljava/lang/String;
if-eqz v0, :cond_5
return-object v0
.line 4
:cond_5
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(I)Ljava/lang/String;
move-result-object v0
.line 5
sput-object v0, Lcom/uc/crashsdk/e;->m:Ljava/lang/String;
return-object v0
.end method
.method private static h(Ljava/lang/String;)Ljava/lang/String;
.registers 3
:try_start_0
const-string v0, "[^0-9a-zA-Z-.]"
const-string v1, "-"
.line 2
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_8
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_8} :catch_9
goto :goto_b
:catch_9
const-string p0, "unknown"
:goto_b
return-object p0
.end method
.method static synthetic i(I)I
.registers 1
.line 1
sput p0, Lcom/uc/crashsdk/e;->I:I
return p0
.end method
.method private static i(Ljava/lang/String;)Ljava/lang/String;
.registers 5
if-nez p0, :cond_24
.line 2
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object p0
.line 3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance p0, Ljava/util/Random;
invoke-direct {p0}, Ljava/util/Random;-><init>()V
const/high16 v1, 0x10000
invoke-virtual {p0, v1}, Ljava/util/Random;->nextInt(I)I
move-result p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 4
:cond_24
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v1, 0x6
new-array v1, v1, [Ljava/lang/Object;
const/4 v2, 0x0
.line 5
invoke-static {}, Lcom/uc/crashsdk/e;->O()Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x1
invoke-static {}, Lcom/uc/crashsdk/g;->R()Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x2
.line 6
invoke-static {}, Lcom/uc/crashsdk/g;->T()Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x3
sget-object v3, Landroid/os/Build;->MODEL:Ljava/lang/String;
invoke-static {v3}, Lcom/uc/crashsdk/e;->h(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x4
sget-object v3, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;
.line 7
invoke-static {v3}, Lcom/uc/crashsdk/e;->h(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
aput-object v3, v1, v2
const/4 v2, 0x5
aput-object p0, v1, v2
const-string p0, "%s%s_%s_%s_%s_%s_"
.line 8
invoke-static {v0, p0, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method static i()Z
.registers 1
.line 9
sget-boolean v0, Lcom/uc/crashsdk/e;->d:Z
return v0
.end method
.method private static j(Ljava/lang/String;)Ljava/lang/String;
.registers 5
.line 1
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const/4 v1, 0x4
new-array v1, v1, [Ljava/lang/Object;
.line 2
invoke-static {}, Lcom/uc/crashsdk/e;->d()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
invoke-static {}, Lcom/uc/crashsdk/e;->m()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x1
aput-object v2, v1, v3
.line 3
invoke-static {}, Lcom/uc/crashsdk/e;->P()Ljava/lang/String;
move-result-object v2
const/4 v3, 0x2
aput-object v2, v1, v3
const/4 v2, 0x3
aput-object p0, v1, v2
const-string p0, "%s%s_%s_%s.log"
.line 4
invoke-static {v0, p0, v1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static j()V
.registers 2
.line 5
:try_start_0
invoke-static {}, Landroid/os/StrictMode;->getThreadPolicy()Landroid/os/StrictMode$ThreadPolicy;
move-result-object v0
.line 6
new-instance v1, Landroid/os/StrictMode$ThreadPolicy$Builder;
invoke-direct {v1, v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;-><init>(Landroid/os/StrictMode$ThreadPolicy;)V
invoke-virtual {v1}, Landroid/os/StrictMode$ThreadPolicy$Builder;->permitNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;
move-result-object v0
invoke-virtual {v0}, Landroid/os/StrictMode$ThreadPolicy$Builder;->build()Landroid/os/StrictMode$ThreadPolicy;
move-result-object v0
.line 7
invoke-static {v0}, Landroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
:try_end_14
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_14} :catch_15
return-void
:catch_15
move-exception v0
.line 8
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
return-void
.end method
.method public static k()Ljava/lang/String;
.registers 4
.line 5
sget-object v0, Lcom/uc/crashsdk/e;->w:Ljava/lang/String;
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_1d
.line 6
sget-object v0, Lcom/uc/crashsdk/e;->y:Ljava/lang/Object;
monitor-enter v0
.line 7
:try_start_b
invoke-static {}, Lcom/uc/crashsdk/b;->f()Ljava/lang/String;
move-result-object v1
sget-object v2, Lcom/uc/crashsdk/e;->x:Ljava/lang/String;
const/4 v3, 0x1
.line 8
invoke-static {v1, v2, v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v1
sput-object v1, Lcom/uc/crashsdk/e;->w:Ljava/lang/String;
.line 9
monitor-exit v0
goto :goto_1d
:catchall_1a
move-exception v1
monitor-exit v0
:try_end_1c
.catchall {:try_start_b .. :try_end_1c} :catchall_1a
throw v1
.line 10
:cond_1d
:goto_1d
sget-object v0, Lcom/uc/crashsdk/e;->w:Ljava/lang/String;
return-object v0
.end method
.method private static k(Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->b(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_16
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0}, Ljava/lang/String;->indexOf(I)I
move-result v1
if-ltz v1, :cond_11
.line 3
invoke-virtual {p0, v0, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
.line 4
:cond_11
invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_16
const-string p0, ""
return-object p0
.end method
.method private static l(Ljava/lang/String;)Ljava/lang/String;
.registers 3
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->w()Ljava/lang/String;
move-result-object v0
.line 2
invoke-static {}, Lcom/uc/crashsdk/g;->v()Z
move-result v1
.line 3
invoke-static {p0, v0, v1}, Lcom/uc/crashsdk/a/b;->a(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v0
.line 4
invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_20
.line 5
new-instance v1, Ljava/io/File;
invoke-direct {v1, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 6
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result p0
if-eqz p0, :cond_20
.line 7
invoke-virtual {v1}, Ljava/io/File;->delete()Z
:cond_20
return-object v0
.end method
.method public static l()V
.registers 4
.line 8
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
if-eqz v0, :cond_5
return-void
:cond_5
const/4 v0, 0x1
.line 9
new-instance v1, Lcom/uc/crashsdk/a/e;
const/16 v2, 0x19b
invoke-direct {v1, v2}, Lcom/uc/crashsdk/a/e;-><init>(I)V
const-wide/16 v2, 0x3e8
invoke-static {v0, v1, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method static m()Ljava/lang/String;
.registers 1
.line 14
new-instance v0, Ljava/util/Date;
invoke-direct {v0}, Ljava/util/Date;-><init>()V
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/util/Date;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static m(Ljava/lang/String;)[Z
.registers 8
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->v()Z
move-result v0
.line 2
invoke-static {}, Lcom/uc/crashsdk/g;->x()Z
move-result v1
const/4 v2, 0x0
if-nez v0, :cond_d
if-eqz v1, :cond_6d
:cond_d
const-string v3, ".tmp"
.line 3
invoke-virtual {p0, v3}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v3
if-nez v3, :cond_6b
const-string v3, ".ec"
invoke-virtual {p0, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_1e
goto :goto_6b
.line 4
:cond_1e
sget-char v3, Ljava/io/File;->separatorChar:C
invoke-virtual {p0, v3}, Ljava/lang/String;->lastIndexOf(I)I
move-result v3
if-gez v3, :cond_27
const/4 v3, 0x0
:cond_27
const/4 v4, 0x0
:cond_28
const/16 v5, 0x5f
.line 5
invoke-virtual {p0, v5, v3}, Ljava/lang/String;->indexOf(II)I
move-result v3
if-ltz v3, :cond_34
add-int/lit8 v4, v4, 0x1
add-int/lit8 v3, v3, 0x1
:cond_34
if-gez v3, :cond_28
const/16 v3, 0x8
if-eq v4, v3, :cond_3b
goto :goto_6b
.line 6
:cond_3b
invoke-static {}, Lcom/uc/crashsdk/g;->w()Ljava/lang/String;
move-result-object v3
const-string v4, ".log"
.line 7
invoke-virtual {p0, v4}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v6
if-nez v6, :cond_54
.line 8
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_6b
invoke-virtual {p0, v3}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result p0
if-nez p0, :cond_5a
goto :goto_6b
.line 9
:cond_54
invoke-static {v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_5c
:cond_5a
:goto_5a
const/4 v0, 0x0
goto :goto_6d
.line 10
:cond_5c
invoke-virtual {p0, v5}, Ljava/lang/String;->lastIndexOf(I)I
move-result v3
.line 11
invoke-virtual {p0, v4, v3}, Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v3
.line 12
invoke-virtual {p0, v4}, Ljava/lang/String;->lastIndexOf(Ljava/lang/String;)I
move-result p0
if-eq v3, p0, :cond_6d
goto :goto_5a
:cond_6b
:goto_6b
const/4 v0, 0x0
const/4 v1, 0x0
:cond_6d
:goto_6d
const/4 p0, 0x2
.line 13
new-array p0, p0, [Z
aput-boolean v0, p0, v2
const/4 v0, 0x1
aput-boolean v1, p0, v0
return-object p0
.end method
.method public static n()V
.registers 2
.line 36
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
sput-wide v0, Lcom/uc/crashsdk/e;->b:J
return-void
.end method
.method private static n(Ljava/lang/String;)Z
.registers 18
move-object/from16 v1, p0
.line 1
sget-object v2, Lcom/uc/crashsdk/e;->q:Ljava/lang/Object;
monitor-enter v2
.line 2
:try_start_5
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->U()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "customlog"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 3
new-instance v3, Ljava/io/File;
invoke-direct {v3, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
const/16 v0, 0x400
const/4 v4, 0x0
.line 4
invoke-static {v3, v0, v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;IZ)Ljava/lang/String;
move-result-object v0
.line 5
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
.line 6
new-instance v7, Ljava/lang/StringBuffer;
invoke-direct {v7}, Ljava/lang/StringBuffer;-><init>()V
const/4 v8, 0x2
const/4 v9, 0x1
if-eqz v0, :cond_aa
.line 7
invoke-virtual {v7, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
const-string v0, "([^\\n\\r\\t\\s]+) (\\d+) (\\d+)"
.line 8
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 9
invoke-virtual {v0, v7}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v10
const/4 v0, 0x0
.line 10
:goto_41
invoke-virtual {v10, v0}, Ljava/util/regex/Matcher;->find(I)Z
move-result v0
if-eqz v0, :cond_aa
.line 11
invoke-virtual {v10, v9}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
.line 12
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_56
.line 13
invoke-virtual {v10}, Ljava/util/regex/Matcher;->end()I
move-result v0
goto :goto_41
.line 14
:cond_56
invoke-virtual {v10, v8}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v11
:try_end_5e
.catchall {:try_start_5 .. :try_end_5e} :catchall_ee
sub-long v13, v5, v11
const-wide/32 v15, 0x5265c00
const/4 v8, 0x3
cmp-long v0, v13, v15
if-gez v0, :cond_76
.line 15
:try_start_68
invoke-virtual {v10, v8}, Ljava/util/regex/Matcher;->group(I)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v0
:try_end_70
.catch Ljava/lang/Exception; {:try_start_68 .. :try_end_70} :catch_71
.catchall {:try_start_68 .. :try_end_70} :catchall_ee
goto :goto_78
:catch_71
move-exception v0
.line 16
:try_start_72
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_77
:cond_76
move-wide v11, v5
:goto_77
const/4 v0, 0x0
.line 17
:goto_78
invoke-static {}, Lcom/uc/crashsdk/g;->D()I
move-result v13
if-ltz v13, :cond_82
if-lt v0, v13, :cond_82
const/4 v13, 0x1
goto :goto_83
:cond_82
const/4 v13, 0x0
:goto_83
add-int/2addr v0, v9
.line 18
sget-object v14, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v15, "%s %d %d"
new-array v8, v8, [Ljava/lang/Object;
aput-object v1, v8, v4
.line 19
invoke-static {v11, v12}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v11
aput-object v11, v8, v9
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
const/4 v11, 0x2
aput-object v0, v8, v11
.line 20
invoke-static {v14, v15, v8}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 21
invoke-virtual {v10}, Ljava/util/regex/Matcher;->start()I
move-result v8
invoke-virtual {v10}, Ljava/util/regex/Matcher;->end()I
move-result v10
invoke-virtual {v7, v8, v10, v0}, Ljava/lang/StringBuffer;->replace(IILjava/lang/String;)Ljava/lang/StringBuffer;
const/4 v0, 0x1
goto :goto_ac
:cond_aa
const/4 v0, 0x0
const/4 v13, 0x0
:goto_ac
if-nez v0, :cond_c4
.line 22
sget-object v0, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v8, "%s %d 1\n"
const/4 v10, 0x2
new-array v10, v10, [Ljava/lang/Object;
aput-object v1, v10, v4
.line 23
invoke-static {v5, v6}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v1
aput-object v1, v10, v9
.line 24
invoke-static {v0, v8, v10}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
.line 25
invoke-virtual {v7, v0}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
:try_end_c4
.catchall {:try_start_72 .. :try_end_c4} :catchall_ee
:cond_c4
const/4 v1, 0x0
.line 26
:try_start_c5
new-instance v5, Ljava/io/FileWriter;
invoke-direct {v5, v3}, Ljava/io/FileWriter;-><init>(Ljava/io/File;)V
:try_end_ca
.catch Ljava/lang/Exception; {:try_start_c5 .. :try_end_ca} :catch_e1
.catchall {:try_start_c5 .. :try_end_ca} :catchall_df
.line 27
:try_start_ca
invoke-virtual {v7}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
.line 28
invoke-virtual {v0}, Ljava/lang/String;->length()I
move-result v1
invoke-virtual {v5, v0, v4, v1}, Ljava/io/FileWriter;->write(Ljava/lang/String;II)V
:try_end_d5
.catch Ljava/lang/Exception; {:try_start_ca .. :try_end_d5} :catch_dc
.catchall {:try_start_ca .. :try_end_d5} :catchall_d9
.line 29
:try_start_d5
invoke-static {v5}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
:try_end_d8
.catchall {:try_start_d5 .. :try_end_d8} :catchall_ee
goto :goto_e8
:catchall_d9
move-exception v0
move-object v1, v5
goto :goto_ea
:catch_dc
move-exception v0
move-object v1, v5
goto :goto_e2
:catchall_df
move-exception v0
goto :goto_ea
:catch_e1
move-exception v0
.line 30
:goto_e2
:try_start_e2
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_e5
.catchall {:try_start_e2 .. :try_end_e5} :catchall_df
.line 31
:try_start_e5
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 32
:goto_e8
monitor-exit v2
return v13
.line 33
:goto_ea
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
.line 34
throw v0
:catchall_ee
move-exception v0
.line 35
monitor-exit v2
:try_end_f0
.catchall {:try_start_e5 .. :try_end_f0} :catchall_ee
goto :goto_f2
:goto_f1
throw v0
:goto_f2
goto :goto_f1
.end method
.method public static o()V
.registers 5
.line 9
sget-object v0, Lcom/uc/crashsdk/e;->B:Ljava/lang/String;
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_9
return-void
:cond_9
const/4 v0, 0x0
.line 10
:try_start_a
new-instance v1, Ljava/io/File;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->U()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v3, "unique"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 11
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_4e
const/16 v2, 0x30
const/4 v3, 0x0
.line 12
invoke-static {v1, v2, v3}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;IZ)Ljava/lang/String;
move-result-object v2
:try_end_31
.catch Ljava/lang/Throwable; {:try_start_a .. :try_end_31} :catch_6d
if-eqz v2, :cond_4d
.line 13
:try_start_33
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v3
const/16 v4, 0x24
if-eq v3, v4, :cond_3c
goto :goto_4e
:cond_3c
const-string v0, "[^0-9a-zA-Z-]"
const-string v3, "-"
.line 14
invoke-virtual {v2, v0, v3}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:try_end_44
.catch Ljava/lang/Exception; {:try_start_33 .. :try_end_44} :catch_49
.catch Ljava/lang/Throwable; {:try_start_33 .. :try_end_44} :catch_45
goto :goto_4e
:catch_45
move-exception v0
move-object v1, v0
move-object v0, v2
goto :goto_6e
:catch_49
move-exception v0
.line 15
:try_start_4a
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_4d
.catch Ljava/lang/Throwable; {:try_start_4a .. :try_end_4d} :catch_45
:cond_4d
move-object v0, v2
.line 16
:cond_4e
:goto_4e
:try_start_4e
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v2
if-eqz v2, :cond_71
.line 17
invoke-static {}, Lcom/uc/crashsdk/b;->D()V
.line 18
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v2
invoke-virtual {v2}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v0
.line 19
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_71
.line 20
invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B
move-result-object v2
invoke-static {v1, v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;[B)Z
:try_end_6c
.catch Ljava/lang/Throwable; {:try_start_4e .. :try_end_6c} :catch_6d
goto :goto_71
:catch_6d
move-exception v1
.line 21
:goto_6e
invoke-static {v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 22
:cond_71
:goto_71
sput-object v0, Lcom/uc/crashsdk/e;->B:Ljava/lang/String;
return-void
.end method
.method private static o(Ljava/lang/String;)Z
.registers 15
.line 1
sget-object v0, Lcom/uc/crashsdk/e;->z:Ljava/lang/Object;
monitor-enter v0
.line 2
:try_start_3
sget-object v1, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const/4 v2, 0x0
if-nez v1, :cond_18
.line 3
invoke-static {}, Lcom/uc/crashsdk/b;->i()Ljava/lang/String;
move-result-object v1
const-string v3, "all:1"
.line 4
invoke-static {v1, v3, v2}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
move-result-object v1
.line 5
invoke-static {v1}, Lcom/uc/crashsdk/e;->p(Ljava/lang/String;)Ljava/util/Map;
move-result-object v1
sput-object v1, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
.line 6
:cond_18
sget-object v1, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v3, "all"
invoke-interface {v1, v3}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
const/4 v3, 0x1
if-eqz v1, :cond_33
sget-object p0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v1, "all"
invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Integer;
:goto_2d
invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I
move-result p0
goto/16 :goto_ac
:cond_33
sget-object v1, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
invoke-interface {v1, p0}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_44
sget-object v1, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
invoke-interface {v1, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Integer;
goto :goto_2d
:cond_44
const-string v1, "java"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_67
const-string v1, "jni"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_67
const-string v1, "anr"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-nez v1, :cond_67
const-string v1, "unexp"
invoke-virtual {v1, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_65
goto :goto_67
:cond_65
const/4 p0, 0x0
goto :goto_68
:cond_67
:goto_67
const/4 p0, 0x1
:goto_68
if-eqz p0, :cond_7f
sget-object v1, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v4, "crash"
invoke-interface {v1, v4}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_7f
sget-object p0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v1, "crash"
invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Integer;
goto :goto_2d
:cond_7f
if-nez p0, :cond_96
sget-object p0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v1, "nocrash"
invoke-interface {p0, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_96
sget-object p0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v1, "nocrash"
invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Integer;
goto :goto_2d
:cond_96
sget-object p0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v1, "other"
invoke-interface {p0, v1}, Ljava/util/Map;->containsKey(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_ab
sget-object p0, Lcom/uc/crashsdk/e;->A:Ljava/util/Map;
const-string v1, "other"
invoke-interface {p0, v1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/lang/Integer;
goto :goto_2d
:cond_ab
const/4 p0, 0x1
:goto_ac
if-eqz p0, :cond_103
int-to-long v4, p0
const-wide/16 v6, 0x1
const-wide/16 v8, 0x0
cmp-long p0, v4, v8
if-gez p0, :cond_ef
const-wide/16 v10, 0x1e
const-wide/16 v12, -0x2
cmp-long p0, v4, v12
if-nez p0, :cond_c2
const-wide/16 v10, 0x7
goto :goto_d3
:cond_c2
const-wide/16 v12, -0x3
cmp-long p0, v4, v12
if-nez p0, :cond_cb
const-wide/16 v10, 0xf
goto :goto_d3
:cond_cb
const-wide/16 v12, -0x4
cmp-long p0, v4, v12
if-nez p0, :cond_d3
const-wide/16 v10, 0x3c
.line 7
:cond_d3
:goto_d3
invoke-static {}, Lcom/uc/crashsdk/a;->b()J
move-result-wide v4
cmp-long p0, v4, v8
if-nez p0, :cond_de
const-wide/16 v4, -0x1
goto :goto_e8
:cond_de
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v12
sub-long/2addr v12, v4
const-wide/32 v4, 0x5265c00
div-long v4, v12, v4
:goto_e8
cmp-long p0, v4, v10
if-gtz p0, :cond_ee
move-wide v4, v6
goto :goto_ef
:cond_ee
sub-long/2addr v4, v10
:cond_ef
:goto_ef
cmp-long p0, v4, v6
if-nez p0, :cond_f4
goto :goto_104
:cond_f4
cmp-long p0, v4, v8
if-gtz p0, :cond_f9
goto :goto_104
:cond_f9
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v6
rem-long/2addr v6, v4
cmp-long p0, v6, v8
if-nez p0, :cond_103
goto :goto_104
:cond_103
const/4 v3, 0x0
:goto_104
monitor-exit v0
return v3
:catchall_106
move-exception p0
.line 8
monitor-exit v0
:try_end_108
.catchall {:try_start_3 .. :try_end_108} :catchall_106
goto :goto_10a
:goto_109
throw p0
:goto_10a
goto :goto_109
.end method
.method public static p()Ljava/lang/String;
.registers 1
.line 11
sget-object v0, Lcom/uc/crashsdk/e;->B:Ljava/lang/String;
return-object v0
.end method
.method private static p(Ljava/lang/String;)Ljava/util/Map;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
const-string v1, "\\|"
const/16 v2, 0x1e
.line 2
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object p0
.line 3
array-length v1, p0
const/4 v2, 0x0
const/4 v3, 0x0
:goto_10
if-ge v3, v1, :cond_47
aget-object v4, p0, v3
const/4 v5, 0x3
const-string v6, ":"
.line 4
invoke-virtual {v4, v6, v5}, Ljava/lang/String;->split(Ljava/lang/String;I)[Ljava/lang/String;
move-result-object v4
.line 5
array-length v5, v4
const/4 v6, 0x2
if-ne v5, v6, :cond_44
.line 6
aget-object v5, v4, v2
invoke-virtual {v5}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v5
.line 7
invoke-static {v5}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/String;)Z
move-result v6
if-nez v6, :cond_44
const/4 v6, 0x1
.line 8
:try_start_2c
aget-object v4, v4, v6
invoke-virtual {v4}, Ljava/lang/String;->trim()Ljava/lang/String;
move-result-object v4
const/16 v7, 0xa
invoke-static {v4, v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v6
:try_end_38
.catch Ljava/lang/Throwable; {:try_start_2c .. :try_end_38} :catch_39
goto :goto_3d
:catch_39
move-exception v4
.line 9
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 10
:goto_3d
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-interface {v0, v5, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_44
add-int/lit8 v3, v3, 0x1
goto :goto_10
:cond_47
return-object v0
.end method
.method static q()V
.registers 5
const/4 v0, 0x0
.line 12
sput-boolean v0, Lcom/uc/crashsdk/e;->O:Z
.line 13
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v1
if-nez v1, :cond_16
const/4 v1, 0x3
.line 14
new-instance v2, Lcom/uc/crashsdk/a/e;
const/16 v3, 0x1a0
invoke-direct {v2, v3}, Lcom/uc/crashsdk/a/e;-><init>(I)V
const-wide/16 v3, 0x2af8
invoke-static {v1, v2, v3, v4}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
.line 15
:cond_16
invoke-static {}, Lcom/uc/crashsdk/e;->U()Z
move-result v1
if-eqz v1, :cond_1d
return-void
.line 16
:cond_1d
sput v0, Lcom/uc/crashsdk/e;->N:I
.line 17
invoke-static {}, Lcom/uc/crashsdk/e;->W()V
return-void
.end method
.method private static q(Ljava/lang/String;)V
.registers 4
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->q()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 2
:cond_7
:try_start_7
invoke-static {}, Lcom/uc/crashsdk/e;->aa()V
:try_end_a
.catch Ljava/lang/Throwable; {:try_start_7 .. :try_end_a} :catch_b
goto :goto_f
:catch_b
move-exception v0
.line 3
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_f
if-eqz p0, :cond_4c
const-string v0, ""
.line 4
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1a
goto :goto_4c
.line 5
:cond_1a
:try_start_1a
invoke-static {}, Lcom/uc/crashsdk/g;->W()Ljava/lang/String;
move-result-object v0
.line 6
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 7
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_2c
.line 8
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
.line 9
:cond_2c
new-instance v0, Ljava/lang/StringBuilder;
const-string v2, "copy log to: "
invoke-direct {v0, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v2, "crashsdk"
invoke-static {v2, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
.line 10
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-static {v0, v1}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/File;Ljava/io/File;)V
:try_end_47
.catch Ljava/lang/Throwable; {:try_start_1a .. :try_end_47} :catch_48
return-void
:catch_48
move-exception p0
.line 11
invoke-static {p0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_4c
:goto_4c
return-void
.end method
.method private static r(Ljava/lang/String;)Ljava/lang/String;
.registers 3
const/4 v0, 0x1
.line 1
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
aput-object p0, v0, v1
const-string p0, "$^%s^$"
invoke-static {p0, v0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static r()V
.registers 1
.line 2
invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
move-result-object v0
sput-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
.line 3
new-instance v0, Lcom/uc/crashsdk/e;
invoke-direct {v0}, Lcom/uc/crashsdk/e;-><init>()V
invoke-static {v0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
return-void
.end method
.method public static s()V
.registers 1
.line 1
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-static {v0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
return-void
.end method
.method static t()Z
.registers 1
.line 1
sget-object v0, Lcom/uc/crashsdk/e;->c:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z
move-result v0
if-nez v0, :cond_11
invoke-static {}, Lcom/uc/crashsdk/e;->Z()Z
move-result v0
if-eqz v0, :cond_f
goto :goto_11
:cond_f
const/4 v0, 0x0
return v0
:cond_11
:goto_11
const/4 v0, 0x1
return v0
.end method
.method public static u()Ljava/lang/Throwable;
.registers 1
.line 1
sget-object v0, Lcom/uc/crashsdk/e;->U:Ljava/lang/Throwable;
return-object v0
.end method
.method public static v()I
.registers 2
.line 1
invoke-static {}, Lcom/uc/crashsdk/b;->F()I
move-result v0
const/4 v1, 0x5
if-ne v0, v1, :cond_a
.line 2
sget v0, Lcom/uc/crashsdk/e;->Z:I
return v0
:cond_a
const/16 v0, 0x64
return v0
.end method
.method public static w()V
.registers 6
.line 1
invoke-static {}, Lcom/uc/crashsdk/g;->o()I
move-result v0
int-to-long v0, v0
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-gez v4, :cond_c
return-void
.line 2
:cond_c
invoke-static {}, Lcom/uc/crashsdk/b;->F()I
move-result v2
const/4 v3, 0x5
const/4 v4, 0x0
if-ne v2, v3, :cond_16
const/4 v2, 0x1
goto :goto_17
:cond_16
const/4 v2, 0x0
.line 3
:goto_17
new-instance v3, Lcom/uc/crashsdk/a/e;
const/16 v5, 0x191
invoke-direct {v3, v5}, Lcom/uc/crashsdk/a/e;-><init>(I)V
invoke-static {v4, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;)Z
if-nez v2, :cond_24
return-void
.line 4
:cond_24
new-instance v2, Lcom/uc/crashsdk/a/e;
const/16 v3, 0x192
invoke-direct {v2, v3}, Lcom/uc/crashsdk/a/e;-><init>(I)V
sput-object v2, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
.line 5
sget-object v2, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
invoke-static {v4, v2, v0, v1}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
return-void
.end method
.method static x()V
.registers 4
.line 1
sget-boolean v0, Lcom/uc/crashsdk/b;->c:Z
if-eqz v0, :cond_18
sget-boolean v0, Lcom/uc/crashsdk/a;->c:Z
if-eqz v0, :cond_18
.line 2
sget-object v0, Lcom/uc/crashsdk/e;->aa:Ljava/lang/Runnable;
invoke-static {v0}, Lcom/uc/crashsdk/a/f;->b(Ljava/lang/Runnable;)Z
move-result v0
if-nez v0, :cond_18
const/4 v0, 0x0
.line 3
sget-object v1, Lcom/uc/crashsdk/e;->aa:Ljava/lang/Runnable;
const-wide/16 v2, 0x3e8
invoke-static {v0, v1, v2, v3}, Lcom/uc/crashsdk/a/f;->a(ILjava/lang/Runnable;J)Z
:cond_18
return-void
.end method
.method public static y()Z
.registers 2
.line 1
sget-object v0, Lcom/uc/crashsdk/e;->Y:Ljava/lang/Object;
monitor-enter v0
.line 2
:try_start_3
sget-object v1, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
if-eqz v1, :cond_16
sget-boolean v1, Lcom/uc/crashsdk/e;->W:Z
if-nez v1, :cond_16
.line 3
sget-object v1, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
invoke-static {v1}, Lcom/uc/crashsdk/a/f;->a(Ljava/lang/Runnable;)V
const/4 v1, 0x0
.line 4
sput-object v1, Lcom/uc/crashsdk/e;->X:Ljava/lang/Runnable;
const/4 v1, 0x1
.line 5
monitor-exit v0
return v1
.line 6
:cond_16
monitor-exit v0
const/4 v0, 0x0
return v0
:catchall_19
move-exception v1
monitor-exit v0
:try_end_1b
.catchall {:try_start_3 .. :try_end_1b} :catchall_19
throw v1
.end method
.method public static z()Ljava/lang/String;
.registers 1
const-string v0, "https://errlog.umeng.com/upload"
return-object v0
.end method
# virtual methods
.method public final a(Ljava/lang/Thread;Ljava/lang/Throwable;Z)V
.registers 25
move-object/from16 v1, p0
move-object/from16 v2, p1
move-object/from16 v3, p2
const-string v4, "original exception is: "
const-string v5, "crashsdk"
const-string v6, "Call java default handler: "
const-string v7, "DEBUG"
.line 440
sget-boolean v0, Lcom/uc/crashsdk/e;->af:Z
const/4 v8, 0x1
const/4 v9, 0x0
if-eqz v0, :cond_18
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-nez v0, :cond_1e
.line 441
:cond_18
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v0
if-eqz v0, :cond_20
:cond_1e
const/4 v10, 0x1
goto :goto_21
:cond_20
const/4 v10, 0x0
.line 442
:goto_21
:try_start_21
sget-object v0, Lcom/uc/crashsdk/e;->c:Ljava/util/concurrent/atomic/AtomicBoolean;
invoke-virtual {v0, v8}, Ljava/util/concurrent/atomic/AtomicBoolean;->getAndSet(Z)Z
move-result v0
const/4 v13, 0x4
if-eqz v0, :cond_c9
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_c9
const-string v0, "another thread is generating java report!"
.line 443
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
const-string v0, "current thread exception is:"
.line 444
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 445
invoke-static/range {p2 .. p2}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;)V
const/4 v14, 0x0
.line 446
:cond_3e
sget-boolean v0, Lcom/uc/crashsdk/e;->V:Z
:try_end_40
.catch Ljava/lang/Throwable; {:try_start_21 .. :try_end_40} :catch_52c
.catchall {:try_start_21 .. :try_end_40} :catchall_526
if-nez v0, :cond_50
const-wide/16 v15, 0x3e8
.line 447
:try_start_44
invoke-static/range {v15 .. v16}, Ljava/lang/Thread;->sleep(J)V
:try_end_47
.catch Ljava/lang/Throwable; {:try_start_44 .. :try_end_47} :catch_48
.catchall {:try_start_44 .. :try_end_47} :catchall_526
goto :goto_4d
:catch_48
move-exception v0
move-object v15, v0
.line 448
:try_start_4a
invoke-static {v15}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_4d
add-int/2addr v14, v8
if-lt v14, v13, :cond_3e
.line 449
:cond_50
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:try_end_57
.catch Ljava/lang/Throwable; {:try_start_4a .. :try_end_57} :catch_52c
.catchall {:try_start_4a .. :try_end_57} :catchall_526
if-eqz p3, :cond_6f
.line 450
:try_start_59
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_5d
.catch Ljava/lang/Throwable; {:try_start_59 .. :try_end_5d} :catch_69
if-eqz v0, :cond_6f
if-nez v10, :cond_6f
.line 451
:try_start_61
invoke-static {v8, v9}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_64
.catch Ljava/lang/Throwable; {:try_start_61 .. :try_end_64} :catch_66
const/4 v4, 0x1
goto :goto_70
:catch_66
move-exception v0
const/4 v4, 0x1
goto :goto_6b
:catch_69
move-exception v0
const/4 v4, 0x0
.line 452
:goto_6b
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_70
:cond_6f
const/4 v4, 0x0
:goto_70
if-nez v4, :cond_77
if-nez v10, :cond_77
.line 453
invoke-static {v9}, Lcom/uc/crashsdk/e;->b(Z)V
.line 454
:cond_77
:try_start_77
invoke-static {v9}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_7a
.catch Ljava/lang/Throwable; {:try_start_77 .. :try_end_7a} :catch_7b
goto :goto_80
:catch_7b
move-exception v0
move-object v4, v0
.line 455
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 456
:goto_80
:try_start_80
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v0
.line 457
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v4
if-nez v4, :cond_8b
const/4 v0, 0x1
.line 458
:cond_8b
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v5, v4}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v0, :cond_a5
.line 459
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_a5
.line 460
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 461
:cond_a5
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_b9
if-nez v10, :cond_b9
.line 462
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_b4
.catch Ljava/lang/Throwable; {:try_start_80 .. :try_end_b4} :catch_b5
goto :goto_b9
:catch_b5
move-exception v0
.line 463
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 464
:cond_b9
:goto_b9
sput-boolean v8, Lcom/uc/crashsdk/e;->V:Z
.line 465
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_c8
.line 466
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_c8
return-void
.line 467
:cond_c9
:try_start_c9
sput-object v3, Lcom/uc/crashsdk/e;->U:Ljava/lang/Throwable;
if-nez v10, :cond_14c
.line 468
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_14c
.line 469
invoke-static {}, Lcom/uc/crashsdk/a/d;->b()Ljava/lang/String;
move-result-object v0
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
:try_end_da
.catch Ljava/lang/Throwable; {:try_start_c9 .. :try_end_da} :catch_52c
.catchall {:try_start_c9 .. :try_end_da} :catchall_526
if-eqz p3, :cond_f2
.line 470
:try_start_dc
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_e0
.catch Ljava/lang/Throwable; {:try_start_dc .. :try_end_e0} :catch_ec
if-eqz v0, :cond_f2
if-nez v10, :cond_f2
.line 471
:try_start_e4
invoke-static {v8, v9}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_e7
.catch Ljava/lang/Throwable; {:try_start_e4 .. :try_end_e7} :catch_e9
const/4 v4, 0x1
goto :goto_f3
:catch_e9
move-exception v0
const/4 v4, 0x1
goto :goto_ee
:catch_ec
move-exception v0
const/4 v4, 0x0
.line 472
:goto_ee
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_f3
:cond_f2
const/4 v4, 0x0
:goto_f3
if-nez v4, :cond_fa
if-nez v10, :cond_fa
.line 473
invoke-static {v9}, Lcom/uc/crashsdk/e;->b(Z)V
.line 474
:cond_fa
:try_start_fa
invoke-static {v9}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_fd
.catch Ljava/lang/Throwable; {:try_start_fa .. :try_end_fd} :catch_fe
goto :goto_103
:catch_fe
move-exception v0
move-object v4, v0
.line 475
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 476
:goto_103
:try_start_103
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v0
.line 477
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v4
if-nez v4, :cond_10e
const/4 v0, 0x1
.line 478
:cond_10e
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-static {v5, v4}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v0, :cond_128
.line 479
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_128
.line 480
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 481
:cond_128
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_13c
if-nez v10, :cond_13c
.line 482
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_137
.catch Ljava/lang/Throwable; {:try_start_103 .. :try_end_137} :catch_138
goto :goto_13c
:catch_138
move-exception v0
.line 483
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 484
:cond_13c
:goto_13c
sput-boolean v8, Lcom/uc/crashsdk/e;->V:Z
.line 485
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_14b
.line 486
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_14b
return-void
:cond_14c
:try_start_14c
const-string v0, "begin to generate java report"
.line 487
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_151
.catch Ljava/lang/Throwable; {:try_start_14c .. :try_end_151} :catch_52c
.catchall {:try_start_14c .. :try_end_151} :catchall_526
.line 488
:try_start_151
iget-object v0, v1, Lcom/uc/crashsdk/e;->e:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_157
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v14
if-eqz v14, :cond_167
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v14
check-cast v14, Ljava/io/FileInputStream;
invoke-static {v14}, Lcom/uc/crashsdk/a/g;->a(Ljava/io/Closeable;)V
goto :goto_157
:cond_167
iget-object v0, v1, Lcom/uc/crashsdk/e;->e:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->clear()V
:try_end_16c
.catch Ljava/lang/Throwable; {:try_start_151 .. :try_end_16c} :catch_16d
.catchall {:try_start_151 .. :try_end_16c} :catchall_526
goto :goto_171
:catch_16d
move-exception v0
.line 489
:try_start_16e
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_171
.catch Ljava/lang/Throwable; {:try_start_16e .. :try_end_171} :catch_52c
.catchall {:try_start_16e .. :try_end_171} :catchall_526
.line 490
:goto_171
:try_start_171
invoke-static {}, Lcom/uc/crashsdk/g;->t()Z
move-result v15
:try_end_175
.catch Ljava/lang/Throwable; {:try_start_171 .. :try_end_175} :catch_1a3
.catchall {:try_start_171 .. :try_end_175} :catchall_526
.line 491
:try_start_175
invoke-static {}, Lcom/uc/crashsdk/g;->g()Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_183
const-string v11, ""
invoke-virtual {v0, v11}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v11
if-eqz v11, :cond_18b
:cond_183
invoke-static {}, Lcom/uc/crashsdk/e;->R()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/e;->j(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:cond_18b
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {}, Lcom/uc/crashsdk/g;->V()Ljava/lang/String;
move-result-object v12
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
:try_end_19e
.catch Ljava/lang/Throwable; {:try_start_175 .. :try_end_19e} :catch_1a1
.catchall {:try_start_175 .. :try_end_19e} :catchall_526
move-object v11, v0
const/4 v12, 0x0
goto :goto_1cd
:catch_1a1
move-exception v0
goto :goto_1a5
:catch_1a3
move-exception v0
const/4 v15, 0x0
.line 492
:goto_1a5
:try_start_1a5
new-instance v11, Ljava/lang/StringBuilder;
const-string v12, "get java log name failed: "
invoke-direct {v11, v12}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v11, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v7, v11}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 493
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;)V
.line 494
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 495
invoke-static/range {p2 .. p2}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;)V
:try_end_1cb
.catch Ljava/lang/Throwable; {:try_start_1a5 .. :try_end_1cb} :catch_52c
.catchall {:try_start_1a5 .. :try_end_1cb} :catchall_526
const/4 v11, 0x0
const/4 v12, 0x1
:goto_1cd
const-string v14, "omit java crash"
const-string v8, "java"
if-nez v10, :cond_2fb
.line 496
:try_start_1d3
invoke-static {}, Lcom/uc/crashsdk/g;->a()V
:try_end_1d6
.catch Ljava/lang/Throwable; {:try_start_1d3 .. :try_end_1d6} :catch_1ea
.catchall {:try_start_1d3 .. :try_end_1d6} :catchall_526
.line 497
:try_start_1d6
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_1e1
const/4 v0, 0x3
invoke-static {v0}, Lcom/uc/crashsdk/f;->a(I)V
goto :goto_1ee
:cond_1e1
invoke-static {v13}, Lcom/uc/crashsdk/f;->a(I)V
:try_end_1e4
.catch Ljava/lang/Throwable; {:try_start_1d6 .. :try_end_1e4} :catch_1e5
.catchall {:try_start_1d6 .. :try_end_1e4} :catchall_526
goto :goto_1ee
:catch_1e5
move-exception v0
:try_start_1e6
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_1e9
.catch Ljava/lang/Throwable; {:try_start_1e6 .. :try_end_1e9} :catch_1ea
.catchall {:try_start_1e6 .. :try_end_1e9} :catchall_526
goto :goto_1ee
:catch_1ea
move-exception v0
.line 498
:try_start_1eb
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:try_end_1ee
.catch Ljava/lang/Throwable; {:try_start_1eb .. :try_end_1ee} :catch_524
.catchall {:try_start_1eb .. :try_end_1ee} :catchall_526
.line 499
:goto_1ee
:try_start_1ee
new-instance v0, Ljava/io/File;
invoke-static {}, Lcom/uc/crashsdk/b;->b()Ljava/lang/String;
move-result-object v13
invoke-direct {v0, v13}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 500
invoke-virtual {v0}, Ljava/io/File;->createNewFile()Z
:try_end_1fa
.catch Ljava/lang/Throwable; {:try_start_1ee .. :try_end_1fa} :catch_1fb
.catchall {:try_start_1ee .. :try_end_1fa} :catchall_526
goto :goto_1ff
:catch_1fb
move-exception v0
.line 501
:try_start_1fc
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_1ff
if-eqz v15, :cond_278
.line 502
invoke-static {v7, v14}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_204
.catch Ljava/lang/Throwable; {:try_start_1fc .. :try_end_204} :catch_524
.catchall {:try_start_1fc .. :try_end_204} :catchall_526
if-eqz p3, :cond_21d
.line 503
:try_start_206
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_20a
.catch Ljava/lang/Throwable; {:try_start_206 .. :try_end_20a} :catch_217
if-eqz v0, :cond_21d
if-nez v10, :cond_21d
const/4 v4, 0x1
.line 504
:try_start_20f
invoke-static {v4, v9}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_212
.catch Ljava/lang/Throwable; {:try_start_20f .. :try_end_212} :catch_214
const/4 v4, 0x1
goto :goto_21e
:catch_214
move-exception v0
const/4 v4, 0x1
goto :goto_219
:catch_217
move-exception v0
const/4 v4, 0x0
.line 505
:goto_219
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_21e
:cond_21d
const/4 v4, 0x0
:goto_21e
if-nez v4, :cond_225
if-nez v10, :cond_225
.line 506
invoke-static {v9}, Lcom/uc/crashsdk/e;->b(Z)V
.line 507
:cond_225
:try_start_225
invoke-static {v9}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_228
.catch Ljava/lang/Throwable; {:try_start_225 .. :try_end_228} :catch_229
goto :goto_22e
:catch_229
move-exception v0
move-object v4, v0
.line 508
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 509
:goto_22e
:try_start_22e
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 510
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_239
const/4 v8, 0x1
.line 511
:cond_239
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_253
.line 512
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_253
.line 513
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 514
:cond_253
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_267
if-nez v10, :cond_267
.line 515
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_262
.catch Ljava/lang/Throwable; {:try_start_22e .. :try_end_262} :catch_263
goto :goto_267
:catch_263
move-exception v0
.line 516
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_267
:goto_267
const/4 v2, 0x1
.line 517
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 518
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_277
.line 519
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_277
return-void
.line 520
:cond_278
:try_start_278
invoke-static {v8}, Lcom/uc/crashsdk/e;->c(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_2f7
const-string v0, "java log sample miss"
.line 521
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_283
.catch Ljava/lang/Throwable; {:try_start_278 .. :try_end_283} :catch_524
.catchall {:try_start_278 .. :try_end_283} :catchall_526
if-eqz p3, :cond_29c
.line 522
:try_start_285
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_289
.catch Ljava/lang/Throwable; {:try_start_285 .. :try_end_289} :catch_296
if-eqz v0, :cond_29c
if-nez v10, :cond_29c
const/4 v4, 0x1
.line 523
:try_start_28e
invoke-static {v4, v9}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_291
.catch Ljava/lang/Throwable; {:try_start_28e .. :try_end_291} :catch_293
const/4 v4, 0x1
goto :goto_29d
:catch_293
move-exception v0
const/4 v4, 0x1
goto :goto_298
:catch_296
move-exception v0
const/4 v4, 0x0
.line 524
:goto_298
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_29d
:cond_29c
const/4 v4, 0x0
:goto_29d
if-nez v4, :cond_2a4
if-nez v10, :cond_2a4
.line 525
invoke-static {v9}, Lcom/uc/crashsdk/e;->b(Z)V
.line 526
:cond_2a4
:try_start_2a4
invoke-static {v9}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_2a7
.catch Ljava/lang/Throwable; {:try_start_2a4 .. :try_end_2a7} :catch_2a8
goto :goto_2ad
:catch_2a8
move-exception v0
move-object v4, v0
.line 527
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 528
:goto_2ad
:try_start_2ad
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 529
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_2b8
const/4 v8, 0x1
.line 530
:cond_2b8
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_2d2
.line 531
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_2d2
.line 532
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 533
:cond_2d2
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_2e6
if-nez v10, :cond_2e6
.line 534
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_2e1
.catch Ljava/lang/Throwable; {:try_start_2ad .. :try_end_2e1} :catch_2e2
goto :goto_2e6
:catch_2e2
move-exception v0
.line 535
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_2e6
:goto_2e6
const/4 v2, 0x1
.line 536
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 537
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_2f6
.line 538
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_2f6
return-void
:cond_2f7
const-wide/16 v13, 0x0
goto/16 :goto_41e
:cond_2fb
if-eqz v15, :cond_302
:try_start_2fd
const-string v11, "omit"
.line 539
invoke-static {v7, v14}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 540
:cond_302
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_30c
const/4 v13, 0x0
.line 541
invoke-static {v11, v8, v13, v9}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCreateConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)J
move-result-wide v13
:try_end_30b
.catch Ljava/lang/Throwable; {:try_start_2fd .. :try_end_30b} :catch_524
.catchall {:try_start_2fd .. :try_end_30b} :catchall_526
goto :goto_30e
:cond_30c
const-wide/16 v13, 0x0
:goto_30e
const-wide/16 v16, 0x0
cmp-long v0, v13, v16
if-nez v0, :cond_39b
:try_start_314
const-string v0, "skip java crash:"
.line 542
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 543
invoke-static/range {p2 .. p2}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;)V
:try_end_31c
.catch Ljava/lang/Throwable; {:try_start_314 .. :try_end_31c} :catch_522
.catchall {:try_start_314 .. :try_end_31c} :catchall_5dd
cmp-long v0, v13, v16
if-eqz v0, :cond_327
.line 544
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_327
.line 545
invoke-static {v13, v14}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCloseConnection(J)V
:cond_327
if-eqz p3, :cond_340
.line 546
:try_start_329
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_32d
.catch Ljava/lang/Throwable; {:try_start_329 .. :try_end_32d} :catch_33a
if-eqz v0, :cond_340
if-nez v10, :cond_340
const/4 v4, 0x1
.line 547
:try_start_332
invoke-static {v4, v9}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_335
.catch Ljava/lang/Throwable; {:try_start_332 .. :try_end_335} :catch_337
const/4 v4, 0x1
goto :goto_341
:catch_337
move-exception v0
const/4 v4, 0x1
goto :goto_33c
:catch_33a
move-exception v0
const/4 v4, 0x0
.line 548
:goto_33c
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_341
:cond_340
const/4 v4, 0x0
:goto_341
if-nez v4, :cond_348
if-nez v10, :cond_348
.line 549
invoke-static {v9}, Lcom/uc/crashsdk/e;->b(Z)V
.line 550
:cond_348
:try_start_348
invoke-static {v9}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_34b
.catch Ljava/lang/Throwable; {:try_start_348 .. :try_end_34b} :catch_34c
goto :goto_351
:catch_34c
move-exception v0
move-object v4, v0
.line 551
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 552
:goto_351
:try_start_351
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 553
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_35c
const/4 v8, 0x1
.line 554
:cond_35c
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_376
.line 555
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_376
.line 556
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 557
:cond_376
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_38a
if-nez v10, :cond_38a
.line 558
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_385
.catch Ljava/lang/Throwable; {:try_start_351 .. :try_end_385} :catch_386
goto :goto_38a
:catch_386
move-exception v0
.line 559
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_38a
:goto_38a
const/4 v2, 0x1
.line 560
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 561
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_39a
.line 562
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_39a
return-void
:cond_39b
if-eqz v15, :cond_41e
const-wide/16 v7, 0x0
cmp-long v0, v13, v7
if-eqz v0, :cond_3aa
.line 563
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_3aa
.line 564
invoke-static {v13, v14}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCloseConnection(J)V
:cond_3aa
if-eqz p3, :cond_3c3
.line 565
:try_start_3ac
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_3b0
.catch Ljava/lang/Throwable; {:try_start_3ac .. :try_end_3b0} :catch_3bd
if-eqz v0, :cond_3c3
if-nez v10, :cond_3c3
const/4 v4, 0x1
.line 566
:try_start_3b5
invoke-static {v4, v9}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_3b8
.catch Ljava/lang/Throwable; {:try_start_3b5 .. :try_end_3b8} :catch_3ba
const/4 v4, 0x1
goto :goto_3c4
:catch_3ba
move-exception v0
const/4 v4, 0x1
goto :goto_3bf
:catch_3bd
move-exception v0
const/4 v4, 0x0
.line 567
:goto_3bf
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_3c4
:cond_3c3
const/4 v4, 0x0
:goto_3c4
if-nez v4, :cond_3cb
if-nez v10, :cond_3cb
.line 568
invoke-static {v9}, Lcom/uc/crashsdk/e;->b(Z)V
.line 569
:cond_3cb
:try_start_3cb
invoke-static {v9}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_3ce
.catch Ljava/lang/Throwable; {:try_start_3cb .. :try_end_3ce} :catch_3cf
goto :goto_3d4
:catch_3cf
move-exception v0
move-object v4, v0
.line 570
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 571
:goto_3d4
:try_start_3d4
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 572
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_3df
const/4 v8, 0x1
.line 573
:cond_3df
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_3f9
.line 574
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_3f9
.line 575
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 576
:cond_3f9
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_40d
if-nez v10, :cond_40d
.line 577
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_408
.catch Ljava/lang/Throwable; {:try_start_3d4 .. :try_end_408} :catch_409
goto :goto_40d
:catch_409
move-exception v0
.line 578
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_40d
:goto_40d
const/4 v2, 0x1
.line 579
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 580
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_41d
.line 581
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_41d
return-void
.line 582
:cond_41e
:goto_41e
:try_start_41e
instance-of v0, v3, Ljava/lang/OutOfMemoryError;
.line 583
invoke-static {v3, v11, v13, v14, v0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;Ljava/lang/String;JZ)Ljava/lang/String;
const-string v8, "generate java report finished"
.line 584
invoke-static {v7, v8}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 585
invoke-static {}, Lcom/uc/crashsdk/b;->I()Z
move-result v8
if-nez v8, :cond_49d
if-eqz v0, :cond_49d
.line 586
invoke-static {}, Lcom/uc/crashsdk/g;->j()Z
move-result v0
if-eqz v0, :cond_49d
.line 587
new-instance v0, Ljava/io/File;
invoke-direct {v0, v11}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 588
invoke-virtual {v0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {}, Lcom/uc/crashsdk/g;->W()Ljava/lang/String;
move-result-object v8
new-instance v11, Ljava/io/File;
invoke-direct {v11, v8}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v11}, Ljava/io/File;->exists()Z
move-result v15
if-nez v15, :cond_451
invoke-virtual {v11}, Ljava/io/File;->mkdirs()Z
:cond_451
sget-object v11, Ljava/util/Locale;->US:Ljava/util/Locale;
const-string v15, "%s%s.hprof"
const/4 v9, 0x2
new-array v9, v9, [Ljava/lang/Object;
const/16 v18, 0x0
aput-object v8, v9, v18
const/4 v8, 0x1
aput-object v0, v9, v8
invoke-static {v11, v15, v9}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
new-instance v8, Ljava/lang/StringBuilder;
const-string v9, "begin dump hprof: "
invoke-direct {v8, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v7, v8}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
:try_end_478
.catch Ljava/lang/Throwable; {:try_start_41e .. :try_end_478} :catch_522
.catchall {:try_start_41e .. :try_end_478} :catchall_5dd
:try_start_478
invoke-static {v0}, Landroid/os/Debug;->dumpHprofData(Ljava/lang/String;)V
:try_end_47b
.catch Ljava/lang/Throwable; {:try_start_478 .. :try_end_47b} :catch_47c
.catchall {:try_start_478 .. :try_end_47b} :catchall_5dd
goto :goto_481
:catch_47c
move-exception v0
move-object v11, v0
:try_start_47e
invoke-static {v11}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:goto_481
new-instance v0, Ljava/lang/StringBuilder;
const-string v11, "end dump hprof, use "
invoke-direct {v0, v11}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v19
sub-long v8, v19, v8
invoke-virtual {v0, v8, v9}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const-string v8, " ms"
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
:try_end_49d
.catch Ljava/lang/Throwable; {:try_start_47e .. :try_end_49d} :catch_522
.catchall {:try_start_47e .. :try_end_49d} :catchall_5dd
:cond_49d
const-wide/16 v7, 0x0
cmp-long v0, v13, v7
if-eqz v0, :cond_4aa
.line 589
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_4aa
.line 590
invoke-static {v13, v14}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCloseConnection(J)V
:cond_4aa
if-eqz p3, :cond_4c4
.line 591
:try_start_4ac
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_4b0
.catch Ljava/lang/Throwable; {:try_start_4ac .. :try_end_4b0} :catch_4be
if-eqz v0, :cond_4c4
if-nez v10, :cond_4c4
const/4 v4, 0x1
const/4 v7, 0x0
.line 592
:try_start_4b6
invoke-static {v4, v7}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_4b9
.catch Ljava/lang/Throwable; {:try_start_4b6 .. :try_end_4b9} :catch_4bb
const/4 v4, 0x1
goto :goto_4c5
:catch_4bb
move-exception v0
const/4 v4, 0x1
goto :goto_4c0
:catch_4be
move-exception v0
const/4 v4, 0x0
.line 593
:goto_4c0
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_4c5
:cond_4c4
const/4 v4, 0x0
:goto_4c5
if-nez v4, :cond_4ce
if-nez v10, :cond_4ce
const/4 v4, 0x0
.line 594
invoke-static {v4}, Lcom/uc/crashsdk/e;->b(Z)V
goto :goto_4cf
:cond_4ce
const/4 v4, 0x0
.line 595
:goto_4cf
:try_start_4cf
invoke-static {v4}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_4d2
.catch Ljava/lang/Throwable; {:try_start_4cf .. :try_end_4d2} :catch_4d3
goto :goto_4d8
:catch_4d3
move-exception v0
move-object v4, v0
.line 596
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 597
:goto_4d8
:try_start_4d8
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 598
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_4e3
const/4 v8, 0x1
.line 599
:cond_4e3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_4fd
.line 600
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_4fd
.line 601
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 602
:cond_4fd
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_511
if-nez v10, :cond_511
.line 603
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_50c
.catch Ljava/lang/Throwable; {:try_start_4d8 .. :try_end_50c} :catch_50d
goto :goto_511
:catch_50d
move-exception v0
.line 604
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_511
:goto_511
const/4 v2, 0x1
.line 605
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 606
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_521
.line 607
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_521
return-void
:catch_522
move-exception v0
goto :goto_530
:catch_524
move-exception v0
goto :goto_52e
:catchall_526
move-exception v0
move-object v4, v0
const-wide/16 v13, 0x0
goto/16 :goto_5df
:catch_52c
move-exception v0
const/4 v12, 0x0
:goto_52e
const-wide/16 v13, 0x0
.line 608
:goto_530
:try_start_530
new-instance v8, Ljava/lang/StringBuilder;
const-string v9, "exception occurs while java log: "
invoke-direct {v8, v9}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v7, v8}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 609
invoke-static {v0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;)V
if-nez v12, :cond_558
.line 610
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v7, v0}, Lcom/uc/crashsdk/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 611
invoke-static/range {p2 .. p2}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Throwable;)V
:try_end_558
.catchall {:try_start_530 .. :try_end_558} :catchall_5dd
:cond_558
const-wide/16 v7, 0x0
cmp-long v0, v13, v7
if-eqz v0, :cond_565
.line 612
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_565
.line 613
invoke-static {v13, v14}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCloseConnection(J)V
:cond_565
if-eqz p3, :cond_57f
.line 614
:try_start_567
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_56b
.catch Ljava/lang/Throwable; {:try_start_567 .. :try_end_56b} :catch_579
if-eqz v0, :cond_57f
if-nez v10, :cond_57f
const/4 v4, 0x1
const/4 v7, 0x0
.line 615
:try_start_571
invoke-static {v4, v7}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_574
.catch Ljava/lang/Throwable; {:try_start_571 .. :try_end_574} :catch_576
const/4 v4, 0x1
goto :goto_580
:catch_576
move-exception v0
const/4 v4, 0x1
goto :goto_57b
:catch_579
move-exception v0
const/4 v4, 0x0
.line 616
:goto_57b
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_580
:cond_57f
const/4 v4, 0x0
:goto_580
if-nez v4, :cond_589
if-nez v10, :cond_589
const/4 v4, 0x0
.line 617
invoke-static {v4}, Lcom/uc/crashsdk/e;->b(Z)V
goto :goto_58a
:cond_589
const/4 v4, 0x0
.line 618
:goto_58a
:try_start_58a
invoke-static {v4}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_58d
.catch Ljava/lang/Throwable; {:try_start_58a .. :try_end_58d} :catch_58e
goto :goto_593
:catch_58e
move-exception v0
move-object v4, v0
.line 619
invoke-static {v4}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 620
:goto_593
:try_start_593
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 621
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_59e
const/4 v8, 0x1
.line 622
:cond_59e
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_5b8
.line 623
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_5b8
.line 624
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 625
:cond_5b8
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_5cc
if-nez v10, :cond_5cc
.line 626
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_5c7
.catch Ljava/lang/Throwable; {:try_start_593 .. :try_end_5c7} :catch_5c8
goto :goto_5cc
:catch_5c8
move-exception v0
.line 627
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_5cc
:goto_5cc
const/4 v2, 0x1
.line 628
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 629
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_5dc
.line 630
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
:cond_5dc
return-void
:catchall_5dd
move-exception v0
move-object v4, v0
:goto_5df
const-wide/16 v7, 0x0
cmp-long v0, v13, v7
if-eqz v0, :cond_5ec
.line 631
sget-boolean v0, Lcom/uc/crashsdk/b;->d:Z
if-eqz v0, :cond_5ec
.line 632
invoke-static {v13, v14}, Lcom/uc/crashsdk/JNIBridge;->nativeClientCloseConnection(J)V
:cond_5ec
if-eqz p3, :cond_606
.line 633
:try_start_5ee
invoke-static {}, Lcom/uc/crashsdk/g;->r()Z
move-result v0
:try_end_5f2
.catch Ljava/lang/Throwable; {:try_start_5ee .. :try_end_5f2} :catch_600
if-eqz v0, :cond_606
if-nez v10, :cond_606
const/4 v7, 0x1
const/4 v8, 0x0
.line 634
:try_start_5f8
invoke-static {v7, v8}, Lcom/uc/crashsdk/e;->a(ZZ)Z
:try_end_5fb
.catch Ljava/lang/Throwable; {:try_start_5f8 .. :try_end_5fb} :catch_5fd
const/4 v7, 0x1
goto :goto_607
:catch_5fd
move-exception v0
const/4 v7, 0x1
goto :goto_602
:catch_600
move-exception v0
const/4 v7, 0x0
.line 635
:goto_602
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
goto :goto_607
:cond_606
const/4 v7, 0x0
:goto_607
if-nez v7, :cond_610
if-nez v10, :cond_610
const/4 v7, 0x0
.line 636
invoke-static {v7}, Lcom/uc/crashsdk/e;->b(Z)V
goto :goto_611
:cond_610
const/4 v7, 0x0
.line 637
:goto_611
:try_start_611
invoke-static {v7}, Lcom/uc/crashsdk/f;->c(Z)V
:try_end_614
.catch Ljava/lang/Throwable; {:try_start_611 .. :try_end_614} :catch_615
goto :goto_61a
:catch_615
move-exception v0
move-object v7, v0
.line 638
invoke-static {v7}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
.line 639
:goto_61a
:try_start_61a
invoke-static {}, Lcom/uc/crashsdk/g;->i()Z
move-result v8
.line 640
invoke-static {}, Lcom/uc/crashsdk/a/d;->d()Z
move-result v0
if-nez v0, :cond_625
const/4 v8, 0x1
.line 641
:cond_625
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v5, v0}, Lcom/uc/crashsdk/a/a;->a(Ljava/lang/String;Ljava/lang/String;)V
if-eqz v8, :cond_63f
.line 642
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
if-eqz v0, :cond_63f
.line 643
sget-object v0, Lcom/uc/crashsdk/e;->T:Ljava/lang/Thread$UncaughtExceptionHandler;
invoke-interface {v0, v2, v3}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.line 644
:cond_63f
invoke-static {}, Lcom/uc/crashsdk/b;->y()Z
move-result v0
if-eqz v0, :cond_653
if-nez v10, :cond_653
.line 645
invoke-static {}, Lcom/uc/crashsdk/a/g;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lcom/uc/crashsdk/b;->b(Landroid/content/Context;)V
:try_end_64e
.catch Ljava/lang/Throwable; {:try_start_61a .. :try_end_64e} :catch_64f
goto :goto_653
:catch_64f
move-exception v0
.line 646
invoke-static {v0}, Lcom/uc/crashsdk/a/g;->a(Ljava/lang/Throwable;)V
:cond_653
:goto_653
const/4 v2, 0x1
.line 647
sput-boolean v2, Lcom/uc/crashsdk/e;->V:Z
.line 648
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
if-lez v0, :cond_663
.line 649
invoke-static {}, Landroid/os/Process;->myPid()I
move-result v0
invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
.line 650
:cond_663
goto :goto_665
:goto_664
throw v4
:goto_665
goto :goto_664
.end method
.method public uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
.registers 4
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, p2, v0}, Lcom/uc/crashsdk/e;->a(Ljava/lang/Thread;Ljava/lang/Throwable;Z)V
return-void
.end method