ced.smali

.class public Ldxoptimizer/ced;
.super Ljava/lang/Object;
.source "MyCrashHandler.java"

# interfaces
.implements Ljava/lang/Thread$UncaughtExceptionHandler;


# instance fields
.field private a:Ljava/lang/Thread$UncaughtExceptionHandler;

.field private b:Landroid/content/Context;

.field private c:J

.field private d:[Ljava/io/FileOutputStream;

.field private e:Ljava/lang/StringBuilder;


# direct methods
.method private constructor <init>(Landroid/content/Context;)V
    .registers 4

    .prologue
    .line 48
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 45
    const/16 v0, 0xa

    new-array v0, v0, [Ljava/io/FileOutputStream;

    iput-object v0, p0, Ldxoptimizer/ced;->d:[Ljava/io/FileOutputStream;

    .line 46
    const/4 v0, 0x0

    iput-object v0, p0, Ldxoptimizer/ced;->e:Ljava/lang/StringBuilder;

    .line 49
    invoke-static {}, Ljava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;

    move-result-object v0

    iput-object v0, p0, Ldxoptimizer/ced;->a:Ljava/lang/Thread$UncaughtExceptionHandler;

    .line 50
    invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    iput-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    .line 51
    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v0

    iput-wide v0, p0, Ldxoptimizer/ced;->c:J

    .line 53
    new-instance v0, Ldxoptimizer/ced$1;

    const-string v1, "QA"

    invoke-direct {v0, p0, v1}, Ldxoptimizer/ced$1;-><init>(Ldxoptimizer/ced;Ljava/lang/String;)V

    .line 58
    invoke-virtual {v0}, Ldxoptimizer/ced$1;->start()V

    .line 59
    return-void
.end method

.method private static a(J)Ljava/lang/String;
    .registers 14

    .prologue
    const-wide/16 v2, 0x0

    const-wide/16 v8, 0x3c

    .line 350
    .line 352
    const-wide/16 v0, 0x3e8

    div-long v0, p0, v0

    .line 353
    cmp-long v4, v0, v8

    if-ltz v4, :cond_41

    .line 354
    div-long v4, v0, v8

    .line 355
    rem-long/2addr v0, v8

    move-wide v10, v0

    move-wide v0, v4

    move-wide v4, v10

    .line 357
    :goto_12
    cmp-long v6, v0, v8

    if-ltz v6, :cond_19

    .line 358
    div-long v2, v0, v8

    .line 359
    rem-long/2addr v0, v8

    .line 361
    :cond_19
    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v6, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v2

    const-string v3, "h"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "m"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "s"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0

    :cond_41
    move-wide v4, v0

    move-wide v0, v2

    goto :goto_12
.end method

.method private a(Ljava/io/File;)Ljava/lang/String;
    .registers 8

    .prologue
    .line 328
    if-eqz p1, :cond_8

    invoke-virtual {p1}, Ljava/io/File;->exists()Z

    move-result v0

    if-nez v0, :cond_a

    .line 329
    :cond_8
    const/4 v0, 0x0

    .line 346
    :goto_9
    return-object v0

    .line 331
    :cond_a
    iget-object v0, p0, Ldxoptimizer/ced;->e:Ljava/lang/StringBuilder;

    if-nez v0, :cond_15

    .line 332
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    iput-object v0, p0, Ldxoptimizer/ced;->e:Ljava/lang/StringBuilder;

    .line 334
    :cond_15
    invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z

    move-result v0

    if-eqz v0, :cond_2b

    .line 335
    invoke-virtual {p1}, Ljava/io/File;->listFiles()[Ljava/io/File;

    move-result-object v1

    .line 336
    array-length v2, v1

    const/4 v0, 0x0

    :goto_21
    if-ge v0, v2, :cond_93

    aget-object v3, v1, v0

    .line 337
    invoke-direct {p0, v3}, Ldxoptimizer/ced;->a(Ljava/io/File;)Ljava/lang/String;

    .line 336
    add-int/lit8 v0, v0, 0x1

    goto :goto_21

    .line 340
    :cond_2b
    invoke-virtual {p1}, Ljava/io/File;->getName()Ljava/lang/String;

    move-result-object v0

    .line 341
    invoke-virtual {p1}, Ljava/io/File;->length()J

    move-result-wide v2

    .line 342
    iget-object v1, p0, Ldxoptimizer/ced;->e:Ljava/lang/StringBuilder;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "filePath:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {p1}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object v5

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v4, ","

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "fileName:"

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    .line 343
    invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, ","

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    const-string v4, "fileLength:"

    invoke-virtual {v1, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    .line 344
    invoke-static {v2, v3}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v1, "&&&"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 346
    :cond_93
    iget-object v0, p0, Ldxoptimizer/ced;->e:Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    goto/16 :goto_9
.end method

.method private a()V
    .registers 8

    .prologue
    const/4 v1, 0x0

    .line 66
    const-wide/16 v2, 0x7530

    invoke-static {v2, v3}, Landroid/os/SystemClock;->sleep(J)V

    .line 67
    invoke-static {}, Ldxoptimizer/bya;->a()Ljava/lang/String;

    move-result-object v0

    .line 68
    if-eqz v0, :cond_1b

    .line 69
    const/16 v2, 0x3a

    invoke-virtual {v0, v2}, Ljava/lang/String;->indexOf(I)I

    move-result v2

    .line 70
    const/4 v3, -0x1

    if-eq v2, v3, :cond_5b

    .line 71
    add-int/lit8 v2, v2, 0x1

    invoke-virtual {v0, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object v0

    .line 77
    :cond_1b
    :goto_1b
    iget-object v2, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    const-string v3, "ofstubs"

    invoke-virtual {v2, v3, v1}, Landroid/content/Context;->getDir(Ljava/lang/String;I)Ljava/io/File;

    move-result-object v3

    .line 78
    iget-object v2, p0, Ldxoptimizer/ced;->d:[Ljava/io/FileOutputStream;

    array-length v4, v2

    move v2, v1

    .line 79
    :goto_27
    if-ge v2, v4, :cond_63

    .line 81
    :try_start_29
    new-instance v1, Ljava/io/File;

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "of_stub_"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    const-string v6, "_"

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v5

    invoke-direct {v1, v3, v5}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V

    .line 82
    iget-object v5, p0, Ldxoptimizer/ced;->d:[Ljava/io/FileOutputStream;

    new-instance v6, Ljava/io/FileOutputStream;

    invoke-direct {v6, v1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V

    aput-object v6, v5, v2

    .line 84
    invoke-virtual {v1}, Ljava/io/File;->delete()Z
    :try_end_57
    .catch Ljava/io/FileNotFoundException; {:try_start_29 .. :try_end_57} :catch_5e

    .line 79
    :goto_57
    add-int/lit8 v1, v2, 0x1

    move v2, v1

    goto :goto_27

    .line 73
    :cond_5b
    const-string v0, "def"

    goto :goto_1b

    .line 85
    :catch_5e
    move-exception v1

    .line 86
    invoke-virtual {v1}, Ljava/io/FileNotFoundException;->printStackTrace()V

    goto :goto_57

    .line 91
    :cond_63
    const-wide/32 v0, 0x927c0

    invoke-static {v0, v1}, Landroid/os/SystemClock;->sleep(J)V

    .line 92
    invoke-direct {p0}, Ldxoptimizer/ced;->c()Z

    move-result v0

    if-eqz v0, :cond_63

    .line 97
    return-void
.end method

.method public static a(Landroid/content/Context;)V
    .registers 2

    .prologue
    .line 62
    new-instance v0, Ldxoptimizer/ced;

    invoke-direct {v0, p0}, Ldxoptimizer/ced;-><init>(Landroid/content/Context;)V

    invoke-static {v0}, Ljava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V

    .line 63
    return-void
.end method

.method static synthetic a(Ldxoptimizer/ced;)V
    .registers 1

    .prologue
    .line 26
    invoke-direct {p0}, Ldxoptimizer/ced;->a()V

    return-void
.end method

.method private a(Ljava/io/File;Ljava/lang/String;)V
    .registers 5

    .prologue
    .line 431
    new-instance v0, Ljava/lang/Thread;

    new-instance v1, Ldxoptimizer/ced$2;

    invoke-direct {v1, p0, p1, p2}, Ldxoptimizer/ced$2;-><init>(Ldxoptimizer/ced;Ljava/io/File;Ljava/lang/String;)V

    invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V

    .line 436
    invoke-virtual {v0}, Ljava/lang/Thread;->start()V

    .line 437
    return-void
.end method

.method private a(Ljava/io/PrintWriter;)V
    .registers 8

    .prologue
    const-wide/32 v4, 0x100000

    const/4 v2, 0x0

    .line 228
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v0

    invoke-static {v0, v1}, Ldxoptimizer/cdg;->b(J)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 229
    const-string v0, "App Version: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 230
    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    const/4 v1, 0x0

    invoke-static {v0, v1}, Ldxoptimizer/cdt;->a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 231
    const/16 v0, 0x5f

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(C)V

    .line 232
    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v0, v2}, Ldxoptimizer/cdt;->a(Landroid/content/Context;I)I

    move-result v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(I)V

    .line 234
    const-string v0, "OS Version: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 235
    sget-object v0, Landroid/os/Build$VERSION;->RELEASE:Ljava/lang/String;

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 236
    const-string v0, "_"

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 237
    sget v0, Landroid/os/Build$VERSION;->SDK_INT:I

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(I)V

    .line 239
    const-string v0, "Vendor: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 240
    sget-object v0, Landroid/os/Build;->MANUFACTURER:Ljava/lang/String;

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 242
    const-string v0, "Model: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 243
    sget-object v0, Landroid/os/Build;->MODEL:Ljava/lang/String;

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 245
    const-string v0, "CPU ABI: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 247
    sget-object v0, Landroid/os/Build;->CPU_ABI:Ljava/lang/String;

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 249
    const-string v0, "Sys mem: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 250
    invoke-static {}, Ldxoptimizer/cdy;->a()[I

    move-result-object v0

    .line 251
    aget v1, v0, v2

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(I)V

    .line 252
    const-string v1, ", "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 253
    const/4 v1, 0x1

    aget v0, v0, v1

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(I)V

    .line 255
    const-string v0, "Data space: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 256
    invoke-static {}, Ldxoptimizer/cey;->b()J

    move-result-wide v0

    div-long/2addr v0, v4

    invoke-virtual {p1, v0, v1}, Ljava/io/PrintWriter;->print(J)V

    .line 257
    const-string v0, ", "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 258
    invoke-static {}, Ldxoptimizer/cey;->c()J

    move-result-wide v0

    div-long/2addr v0, v4

    invoke-virtual {p1, v0, v1}, Ljava/io/PrintWriter;->println(J)V

    .line 260
    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v0}, Ldxoptimizer/cfb;->b(Landroid/content/Context;)Landroid/app/ActivityManager;

    move-result-object v0

    .line 261
    if-eqz v0, :cond_a5

    .line 262
    const-string v1, "MemoryClass: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 263
    invoke-virtual {v0}, Landroid/app/ActivityManager;->getMemoryClass()I

    move-result v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(I)V

    .line 267
    :cond_a5
    const-string v0, "Debug.NativeHeapAllocated: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 268
    invoke-static {}, Landroid/os/Debug;->getNativeHeapAllocatedSize()J

    move-result-wide v0

    invoke-virtual {p1, v0, v1}, Ljava/io/PrintWriter;->println(J)V

    .line 269
    const-string v0, "Debug.NativeHeapFree: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 270
    invoke-static {}, Landroid/os/Debug;->getNativeHeapFreeSize()J

    move-result-wide v0

    invoke-virtual {p1, v0, v1}, Ljava/io/PrintWriter;->println(J)V

    .line 271
    const-string v0, "Debug.NativeHeapSize: "

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 272
    invoke-static {}, Landroid/os/Debug;->getNativeHeapSize()J

    move-result-wide v0

    invoke-virtual {p1, v0, v1}, Ljava/io/PrintWriter;->println(J)V

    .line 275
    new-instance v0, Landroid/os/Debug$MemoryInfo;

    invoke-direct {v0}, Landroid/os/Debug$MemoryInfo;-><init>()V

    .line 276
    invoke-static {v0}, Landroid/os/Debug;->getMemoryInfo(Landroid/os/Debug$MemoryInfo;)V

    .line 277
    const-string v1, "Debug.MemInfo.dalvikPss: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 278
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->dalvikPss:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 279
    const-string v1, "Debug.MemInfo.dalvikPrivateDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 280
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->dalvikPrivateDirty:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 281
    const-string v1, "Debug.MemInfo.dalvikSharedDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 282
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->dalvikSharedDirty:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 284
    const-string v1, "Debug.MemInfo.nativePss: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 285
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->nativePss:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 286
    const-string v1, "Debug.MemInfo.nativePrivateDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 287
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->nativePrivateDirty:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 288
    const-string v1, "Debug.MemInfo.nativeSharedDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 289
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->nativeSharedDirty:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 291
    const-string v1, "Debug.MemInfo.otherPss: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 292
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->otherPss:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 293
    const-string v1, "Debug.MemInfo.otherPrivateDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 294
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->otherPrivateDirty:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 295
    const-string v1, "Debug.MemInfo.otherSharedDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 296
    iget v1, v0, Landroid/os/Debug$MemoryInfo;->otherSharedDirty:I

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 299
    :try_start_12b
    const-string v1, "Debug.MemInfo.totalPss: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 300
    invoke-virtual {v0}, Landroid/os/Debug$MemoryInfo;->getTotalPss()I

    move-result v1

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 301
    const-string v1, "Debug.MemInfo.totalPrivateDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 302
    invoke-virtual {v0}, Landroid/os/Debug$MemoryInfo;->getTotalPrivateDirty()I

    move-result v1

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->println(I)V

    .line 303
    const-string v1, "Debug.MemInfo.totalSharedDirty: "

    invoke-virtual {p1, v1}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 304
    invoke-virtual {v0}, Landroid/os/Debug$MemoryInfo;->getTotalSharedDirty()I

    move-result v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(I)V
    :try_end_14f
    .catch Ljava/lang/Exception; {:try_start_12b .. :try_end_14f} :catch_1a7

    .line 313
    :goto_14f
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "Process: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-static {}, Ldxoptimizer/bya;->a()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 315
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "tk: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    iget-object v1, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v1}, Ldxoptimizer/tz;->a(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 317
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "tm: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J

    move-result-wide v2

    iget-wide v4, p0, Ldxoptimizer/ced;->c:J

    sub-long/2addr v2, v4

    invoke-static {v2, v3}, Ldxoptimizer/ced;->a(J)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 318
    return-void

    .line 305
    :catch_1a7
    move-exception v0

    .line 309
    const-string v0, "Something error with MemInfo. SmartPhone not support."

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    goto :goto_14f
.end method

.method private static a(Ljava/io/PrintWriter;[Ljava/io/File;)V
    .registers 7

    .prologue
    .line 377
    if-nez p1, :cond_8

    .line 378
    const-string v0, "of: null"

    invoke-virtual {p0, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 395
    :cond_7
    return-void

    .line 381
    :cond_8
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    const-string v1, "of: "

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    array-length v1, p1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-virtual {p0, v0}, Ljava/io/PrintWriter;->println(Ljava/lang/String;)V

    .line 382
    array-length v0, p1

    const/16 v1, 0x258

    if-lt v0, v1, :cond_7

    .line 386
    array-length v1, p1

    const/4 v0, 0x0

    :goto_26
    if-ge v0, v1, :cond_7

    aget-object v2, p1, v0

    .line 387
    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v2}, Ljava/io/File;->getName()Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, ":"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {p0, v3}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 389
    :try_start_44
    invoke-virtual {v2}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {p0, v2}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V
    :try_end_4b
    .catch Ljava/io/IOException; {:try_start_44 .. :try_end_4b} :catch_51

    .line 393
    :goto_4b
    invoke-virtual {p0}, Ljava/io/PrintWriter;->println()V

    .line 386
    add-int/lit8 v0, v0, 0x1

    goto :goto_26

    .line 390
    :catch_51
    move-exception v2

    goto :goto_4b
.end method

.method private a(Ljava/lang/Throwable;)V
    .registers 4

    .prologue
    .line 150
    invoke-static {}, Ldxoptimizer/cey;->g()Z

    move-result v0

    if-nez v0, :cond_7

    .line 159
    :cond_6
    :goto_6
    return-void

    .line 153
    :cond_7
    invoke-direct {p0, p1}, Ldxoptimizer/ced;->b(Ljava/lang/Throwable;)V

    .line 155
    invoke-direct {p0, p1}, Ldxoptimizer/ced;->d(Ljava/lang/Throwable;)Ljava/lang/Throwable;

    move-result-object v0

    .line 156
    instance-of v1, v0, Ljava/lang/OutOfMemoryError;

    if-eqz v1, :cond_6

    .line 157
    invoke-direct {p0, v0}, Ldxoptimizer/ced;->c(Ljava/lang/Throwable;)V

    goto :goto_6
.end method

.method static synthetic a(Ldxoptimizer/ced;Ljava/io/File;Ljava/lang/String;)Z
    .registers 4

    .prologue
    .line 26
    invoke-direct {p0, p1, p2}, Ldxoptimizer/ced;->b(Ljava/io/File;Ljava/lang/String;)Z

    move-result v0

    return v0
.end method

.method private b(Ljava/io/PrintWriter;)V
    .registers 3

    .prologue
    .line 321
    const-string v0, "User data EnvironmentInfo start: \n"

    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 322
    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-virtual {v0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;

    move-result-object v0

    invoke-virtual {v0}, Ljava/io/File;->getParentFile()Ljava/io/File;

    move-result-object v0

    .line 323
    invoke-direct {p0, v0}, Ldxoptimizer/ced;->a(Ljava/io/File;)Ljava/lang/String;

    move-result-object v0

    .line 324
    invoke-virtual {p1, v0}, Ljava/io/PrintWriter;->print(Ljava/lang/String;)V

    .line 325
    return-void
.end method

.method private b(Ljava/lang/Throwable;)V
    .registers 9

    .prologue
    const/4 v1, 0x0

    .line 163
    iget-object v2, p0, Ldxoptimizer/ced;->d:[Ljava/io/FileOutputStream;

    array-length v3, v2

    const/4 v0, 0x0

    :goto_5
    if-ge v0, v3, :cond_f

    aget-object v4, v2, v0

    .line 164
    invoke-static {v4}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 163
    add-int/lit8 v0, v0, 0x1

    goto :goto_5

    .line 168
    :cond_f
    sget-object v0, Ldxoptimizer/cdd;->m:Ljava/lang/String;

    const-string v2, "crash.trace"

    invoke-static {v0, v2}, Ldxoptimizer/cdp;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;

    move-result-object v3

    .line 173
    :try_start_17
    new-instance v2, Ljava/io/PrintWriter;

    new-instance v0, Ljava/io/BufferedWriter;

    new-instance v4, Ljava/io/FileWriter;

    invoke-direct {v4, v3}, Ljava/io/FileWriter;-><init>(Ljava/io/File;)V

    invoke-direct {v0, v4}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V

    invoke-direct {v2, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
    :try_end_26
    .catch Ljava/lang/Exception; {:try_start_17 .. :try_end_26} :catch_52
    .catchall {:try_start_17 .. :try_end_26} :catchall_70

    .line 174
    :try_start_26
    invoke-direct {p0, v2}, Ldxoptimizer/ced;->a(Ljava/io/PrintWriter;)V

    .line 175
    invoke-virtual {v2}, Ljava/io/PrintWriter;->println()V

    .line 176
    invoke-virtual {p1, v2}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V

    .line 177
    invoke-virtual {v2}, Ljava/io/PrintWriter;->println()V

    .line 178
    invoke-static {}, Ldxoptimizer/ced;->b()[Ljava/io/File;

    move-result-object v1

    .line 179
    invoke-static {v2, v1}, Ldxoptimizer/ced;->a(Ljava/io/PrintWriter;[Ljava/io/File;)V
    :try_end_39
    .catch Ljava/lang/Exception; {:try_start_26 .. :try_end_39} :catch_78
    .catchall {:try_start_26 .. :try_end_39} :catchall_76

    .line 183
    invoke-static {v2}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 186
    :goto_3c
    if-eqz v1, :cond_51

    array-length v0, v1

    const/16 v1, 0x258

    if-lt v0, v1, :cond_51

    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    .line 187
    invoke-static {v0}, Ldxoptimizer/cee;->b(Landroid/content/Context;)I

    move-result v0

    const/4 v1, 0x1

    if-ne v0, v1, :cond_51

    .line 188
    const-string v0, "of.cgz"

    invoke-direct {p0, v3, v0}, Ldxoptimizer/ced;->a(Ljava/io/File;Ljava/lang/String;)V

    .line 190
    :cond_51
    return-void

    .line 180
    :catch_52
    move-exception v0

    move-object v2, v1

    .line 181
    :goto_54
    :try_start_54
    const-string v4, "MyCrashHandler"

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    const-string v6, "cannot dump crash logs: "

    invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v5

    invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v4, v0}, Ldxoptimizer/cdx;->d(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_6c
    .catchall {:try_start_54 .. :try_end_6c} :catchall_76

    .line 183
    invoke-static {v2}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    goto :goto_3c

    :catchall_70
    move-exception v0

    move-object v2, v1

    :goto_72
    invoke-static {v2}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    throw v0

    :catchall_76
    move-exception v0

    goto :goto_72

    .line 180
    :catch_78
    move-exception v0

    goto :goto_54
.end method

.method private b(Ljava/io/File;Ljava/lang/String;)Z
    .registers 9

    .prologue
    const/4 v0, 0x0

    .line 443
    new-instance v2, Ljava/io/File;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, ".t"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    .line 444
    invoke-static {p1, v2}, Ldxoptimizer/cdq;->a(Ljava/io/File;Ljava/io/File;)Z

    move-result v1

    .line 445
    if-eqz v1, :cond_9c

    .line 447
    const/16 v1, 0x1560

    :try_start_25
    invoke-static {v1}, Ldxoptimizer/cff;->a(I)V

    .line 448
    invoke-static {v2}, Ldxoptimizer/cdp;->c(Ljava/io/File;)[B

    move-result-object v1

    invoke-static {v1}, Ldxoptimizer/cdk;->a([B)Ljava/lang/String;

    move-result-object v1

    .line 449
    iget-object v3, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    const/4 v4, 0x0

    invoke-static {v3, v4}, Ldxoptimizer/cdt;->a(Landroid/content/Context;I)I

    move-result v3

    .line 450
    iget-object v4, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    new-instance v5, Ljava/lang/StringBuilder;

    invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v5, "-"

    invoke-virtual {v1, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v3, "-"

    invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v4, v2, v1}, Ldxoptimizer/cet;->a(Landroid/content/Context;Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
    :try_end_5d
    .catch Ljava/io/IOException; {:try_start_25 .. :try_end_5d} :catch_90
    .catchall {:try_start_25 .. :try_end_5d} :catchall_95

    move-result-object v1

    .line 452
    if-eqz v1, :cond_61

    const/4 v0, 0x1

    .line 460
    :cond_61
    invoke-static {}, Ldxoptimizer/cff;->a()V

    .line 465
    :goto_64
    :try_start_64
    new-instance v1, Lorg/json/JSONObject;

    invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V

    .line 466
    const-string v3, "suffix"

    invoke-virtual {v1, v3, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 467
    const-string v3, "size"

    invoke-virtual {v2}, Ljava/io/File;->length()J

    move-result-wide v4

    invoke-virtual {v1, v3, v4, v5}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;

    .line 468
    const-string v3, "result"

    invoke-virtual {v1, v3, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Z)Lorg/json/JSONObject;

    .line 469
    const-string v3, "sofire_tdid"

    iget-object v4, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v4}, Lcom/baidu/sofire/ac/FH;->gd(Landroid/content/Context;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v1, v3, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;

    .line 470
    const-string v3, "crash_c"

    invoke-static {v3, v1}, Ldxoptimizer/cgh;->b(Ljava/lang/String;Lorg/json/JSONObject;)V
    :try_end_8c
    .catch Ljava/lang/Exception; {:try_start_64 .. :try_end_8c} :catch_9a

    .line 476
    :goto_8c
    invoke-virtual {v2}, Ljava/io/File;->delete()Z

    .line 478
    return v0

    .line 456
    :catch_90
    move-exception v1

    .line 460
    invoke-static {}, Ldxoptimizer/cff;->a()V

    goto :goto_64

    :catchall_95
    move-exception v0

    invoke-static {}, Ldxoptimizer/cff;->a()V

    throw v0

    .line 471
    :catch_9a
    move-exception v1

    goto :goto_8c

    :cond_9c
    move v0, v1

    goto :goto_64
.end method

.method private static b()[Ljava/io/File;
    .registers 4

    .prologue
    .line 365
    invoke-static {}, Landroid/os/Process;->myPid()I

    move-result v0

    .line 366
    new-instance v1, Ljava/io/File;

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "/proc/"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v0

    const-string v2, "/fd"

    invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    .line 367
    invoke-virtual {v1}, Ljava/io/File;->listFiles()[Ljava/io/File;

    move-result-object v0

    .line 368
    if-nez v0, :cond_29

    .line 370
    const/4 v0, 0x0

    .line 373
    :cond_29
    return-object v0
.end method

.method private c(Ljava/lang/Throwable;)V
    .registers 8

    .prologue
    .line 194
    sget-object v0, Ldxoptimizer/cdd;->m:Ljava/lang/String;

    const-string v1, "data.trace"

    invoke-static {v0, v1}, Ldxoptimizer/cdp;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;

    move-result-object v3

    .line 196
    const/4 v2, 0x0

    .line 198
    :try_start_9
    new-instance v1, Ljava/io/PrintWriter;

    new-instance v0, Ljava/io/BufferedWriter;

    new-instance v4, Ljava/io/FileWriter;

    invoke-direct {v4, v3}, Ljava/io/FileWriter;-><init>(Ljava/io/File;)V

    invoke-direct {v0, v4}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V

    invoke-direct {v1, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
    :try_end_18
    .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_18} :catch_44
    .catchall {:try_start_9 .. :try_end_18} :catchall_62

    .line 199
    :try_start_18
    invoke-direct {p0, v1}, Ldxoptimizer/ced;->a(Ljava/io/PrintWriter;)V

    .line 200
    invoke-virtual {v1}, Ljava/io/PrintWriter;->println()V

    .line 201
    invoke-virtual {p1, v1}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V

    .line 202
    invoke-virtual {v1}, Ljava/io/PrintWriter;->println()V

    .line 203
    invoke-direct {p0, v1}, Ldxoptimizer/ced;->b(Ljava/io/PrintWriter;)V

    .line 204
    invoke-virtual {v1}, Ljava/io/PrintWriter;->println()V
    :try_end_2a
    .catch Ljava/lang/Exception; {:try_start_18 .. :try_end_2a} :catch_6a
    .catchall {:try_start_18 .. :try_end_2a} :catchall_68

    .line 208
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 211
    :goto_2d
    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v0}, Ldxoptimizer/cee;->b(Landroid/content/Context;)I

    move-result v0

    const/4 v1, 0x1

    if-ne v0, v1, :cond_43

    iget-object v0, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    .line 212
    invoke-static {v0}, Ldxoptimizer/byy;->s(Landroid/content/Context;)Z

    move-result v0

    if-eqz v0, :cond_43

    .line 213
    const-string v0, "od.cgz"

    invoke-direct {p0, v3, v0}, Ldxoptimizer/ced;->a(Ljava/io/File;Ljava/lang/String;)V

    .line 215
    :cond_43
    return-void

    .line 205
    :catch_44
    move-exception v0

    move-object v1, v2

    .line 206
    :goto_46
    :try_start_46
    const-string v2, "MyCrashHandler"

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "cannot dump data logs: "

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Ldxoptimizer/cdx;->d(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_5e
    .catchall {:try_start_46 .. :try_end_5e} :catchall_68

    .line 208
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    goto :goto_2d

    :catchall_62
    move-exception v0

    move-object v1, v2

    :goto_64
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    throw v0

    :catchall_68
    move-exception v0

    goto :goto_64

    .line 205
    :catch_6a
    move-exception v0

    goto :goto_46
.end method

.method private c()Z
    .registers 7

    .prologue
    const/4 v0, 0x0

    .line 399
    iget-object v1, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v1}, Ldxoptimizer/cee;->b(Landroid/content/Context;)I

    move-result v1

    const/4 v2, 0x1

    if-eq v1, v2, :cond_b

    .line 427
    :cond_a
    :goto_a
    return v0

    .line 404
    :cond_b
    invoke-static {}, Ldxoptimizer/ced;->b()[Ljava/io/File;

    move-result-object v3

    .line 405
    if-eqz v3, :cond_a

    .line 408
    array-length v1, v3

    const/16 v2, 0x258

    if-lt v1, v2, :cond_a

    .line 413
    sget-object v0, Ldxoptimizer/cdd;->m:Ljava/lang/String;

    const-string v1, "of.trace"

    invoke-static {v0, v1}, Ldxoptimizer/cdp;->a(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;

    move-result-object v4

    .line 415
    const/4 v2, 0x0

    .line 417
    :try_start_1f
    new-instance v1, Ljava/io/PrintWriter;

    new-instance v0, Ljava/io/BufferedWriter;

    new-instance v5, Ljava/io/FileWriter;

    invoke-direct {v5, v4}, Ljava/io/FileWriter;-><init>(Ljava/io/File;)V

    invoke-direct {v0, v5}, Ljava/io/BufferedWriter;-><init>(Ljava/io/Writer;)V

    invoke-direct {v1, v0}, Ljava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
    :try_end_2e
    .catch Ljava/lang/Exception; {:try_start_1f .. :try_end_2e} :catch_41
    .catchall {:try_start_1f .. :try_end_2e} :catchall_5f

    .line 418
    :try_start_2e
    invoke-direct {p0, v1}, Ldxoptimizer/ced;->a(Ljava/io/PrintWriter;)V

    .line 419
    invoke-virtual {v1}, Ljava/io/PrintWriter;->println()V

    .line 420
    invoke-static {v1, v3}, Ldxoptimizer/ced;->a(Ljava/io/PrintWriter;[Ljava/io/File;)V
    :try_end_37
    .catch Ljava/lang/Exception; {:try_start_2e .. :try_end_37} :catch_67
    .catchall {:try_start_2e .. :try_end_37} :catchall_65

    .line 424
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 427
    :goto_3a
    const-string v0, "of.cgz"

    invoke-direct {p0, v4, v0}, Ldxoptimizer/ced;->b(Ljava/io/File;Ljava/lang/String;)Z

    move-result v0

    goto :goto_a

    .line 421
    :catch_41
    move-exception v0

    move-object v1, v2

    .line 422
    :goto_43
    :try_start_43
    const-string v2, "MyCrashHandler"

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    const-string v5, "cannot dump crash logs: "

    invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    invoke-static {v2, v0}, Ldxoptimizer/cdx;->d(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_5b
    .catchall {:try_start_43 .. :try_end_5b} :catchall_65

    .line 424
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    goto :goto_3a

    :catchall_5f
    move-exception v0

    move-object v1, v2

    :goto_61
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    throw v0

    :catchall_65
    move-exception v0

    goto :goto_61

    .line 421
    :catch_67
    move-exception v0

    goto :goto_43
.end method

.method private d(Ljava/lang/Throwable;)Ljava/lang/Throwable;
    .registers 4

    .prologue
    .line 219
    invoke-virtual {p1}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;

    move-result-object v0

    .line 220
    :goto_4
    if-eqz v0, :cond_d

    .line 222
    invoke-virtual {v0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;

    move-result-object v1

    move-object p1, v0

    move-object v0, v1

    goto :goto_4

    .line 224
    :cond_d
    return-object p1
.end method


# virtual methods
.method public uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V
    .registers 12

    .prologue
    const/4 v1, 0x0

    .line 101
    if-nez p2, :cond_4

    .line 147
    :cond_3
    :goto_3
    return-void

    .line 104
    :cond_4
    invoke-direct {p0, p2}, Ldxoptimizer/ced;->d(Ljava/lang/Throwable;)Ljava/lang/Throwable;

    move-result-object v3

    .line 109
    if-eqz v3, :cond_bc

    :try_start_a
    instance-of v0, v3, Ljava/lang/NullPointerException;

    if-eqz v0, :cond_bc

    .line 111
    new-instance v2, Ljava/io/ByteArrayOutputStream;

    invoke-direct {v2}, Ljava/io/ByteArrayOutputStream;-><init>()V
    :try_end_13
    .catch Ljava/lang/Throwable; {:try_start_a .. :try_end_13} :catch_88
    .catchall {:try_start_a .. :try_end_13} :catchall_91

    .line 112
    :try_start_13
    new-instance v0, Ljava/io/PrintWriter;

    invoke-direct {v0, v2}, Ljava/io/PrintWriter;-><init>(Ljava/io/OutputStream;)V
    :try_end_18
    .catch Ljava/lang/Throwable; {:try_start_13 .. :try_end_18} :catch_b0
    .catchall {:try_start_13 .. :try_end_18} :catchall_a3

    .line 113
    :try_start_18
    invoke-virtual {p2, v0}, Ljava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V

    .line 114
    invoke-virtual {v0}, Ljava/io/PrintWriter;->flush()V

    .line 115
    invoke-static {}, Ldxoptimizer/bya;->a()Ljava/lang/String;

    move-result-object v4

    .line 116
    new-instance v5, Ljava/lang/String;

    invoke-virtual {v2}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B

    move-result-object v1

    invoke-direct {v5, v1}, Ljava/lang/String;-><init>([B)V

    .line 119
    invoke-virtual {v3}, Ljava/lang/Throwable;->getStackTrace()[Ljava/lang/StackTraceElement;

    move-result-object v3

    .line 120
    if-eqz v3, :cond_b9

    array-length v1, v3

    const/4 v6, 0x3

    if-ge v1, v6, :cond_b9

    .line 121
    new-instance v1, Ljava/lang/NullPointerException;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v7, "pn:"

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v6

    invoke-virtual {v6, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v6, ", tn:"

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    .line 122
    invoke-virtual {p1}, Ljava/lang/Thread;->getName()Ljava/lang/String;

    move-result-object v6

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    const-string v6, ", msg:"

    invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v4

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v4

    invoke-direct {v1, v4}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V

    .line 123
    invoke-virtual {v1, v3}, Ljava/lang/Throwable;->setStackTrace([Ljava/lang/StackTraceElement;)V
    :try_end_68
    .catch Ljava/lang/Throwable; {:try_start_18 .. :try_end_68} :catch_b4
    .catchall {:try_start_18 .. :try_end_68} :catchall_a5

    move-object v8, v1

    move-object v1, v2

    move-object v2, v8

    .line 127
    :goto_6b
    :try_start_6b
    iget-object v3, p0, Ldxoptimizer/ced;->b:Landroid/content/Context;

    invoke-static {v3}, Ldxoptimizer/wd;->a(Landroid/content/Context;)Ldxoptimizer/wd;

    move-result-object v3

    invoke-virtual {v3, v2}, Ldxoptimizer/wd;->a(Ljava/lang/Throwable;)Z
    :try_end_74
    .catch Ljava/lang/Throwable; {:try_start_6b .. :try_end_74} :catch_b7
    .catchall {:try_start_6b .. :try_end_74} :catchall_aa

    .line 133
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 134
    invoke-static {v0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 138
    :goto_7a
    :try_start_7a
    invoke-direct {p0, p2}, Ldxoptimizer/ced;->a(Ljava/lang/Throwable;)V
    :try_end_7d
    .catch Ljava/lang/Throwable; {:try_start_7a .. :try_end_7d} :catch_9a

    .line 144
    :goto_7d
    iget-object v0, p0, Ldxoptimizer/ced;->a:Ljava/lang/Thread$UncaughtExceptionHandler;

    if-eqz v0, :cond_3

    .line 145
    iget-object v0, p0, Ldxoptimizer/ced;->a:Ljava/lang/Thread$UncaughtExceptionHandler;

    invoke-interface {v0, p1, p2}, Ljava/lang/Thread$UncaughtExceptionHandler;->uncaughtException(Ljava/lang/Thread;Ljava/lang/Throwable;)V

    goto/16 :goto_3

    .line 128
    :catch_88
    move-exception v0

    move-object v0, v1

    .line 133
    :goto_8a
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 134
    invoke-static {v0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    goto :goto_7a

    .line 133
    :catchall_91
    move-exception v0

    move-object v2, v1

    :goto_93
    invoke-static {v2}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    .line 134
    invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V

    throw v0

    .line 139
    :catch_9a
    move-exception v0

    .line 140
    const-string v1, "MyCrashHandler"

    const-string v2, "failed to process crash"

    invoke-static {v1, v2, v0}, Ldxoptimizer/cdx;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    goto :goto_7d

    .line 133
    :catchall_a3
    move-exception v0

    goto :goto_93

    :catchall_a5
    move-exception v1

    move-object v8, v1

    move-object v1, v0

    move-object v0, v8

    goto :goto_93

    :catchall_aa
    move-exception v2

    move-object v8, v2

    move-object v2, v1

    move-object v1, v0

    move-object v0, v8

    goto :goto_93

    .line 128
    :catch_b0
    move-exception v0

    move-object v0, v1

    move-object v1, v2

    goto :goto_8a

    :catch_b4
    move-exception v1

    move-object v1, v2

    goto :goto_8a

    :catch_b7
    move-exception v2

    goto :goto_8a

    :cond_b9
    move-object v1, v2

    move-object v2, p2

    goto :goto_6b

    :cond_bc
    move-object v2, p2

    move-object v0, v1

    goto :goto_6b
.end method