ProbeCrash.smali

.class public Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;
.super Ljava/lang/Object;
.source "ProbeCrash.java"


# static fields
.field private static final VERSION_INI:Ljava/lang/String; = "version.ini"

.field private static bUpLoad:Z

.field private static s_last_up_time:J


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .prologue
    .line 114
    const/4 v0, 0x0

    sput-boolean v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->bUpLoad:Z

    .line 304
    const-wide/16 v0, 0x0

    sput-wide v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->s_last_up_time:J

    return-void
.end method

.method public constructor <init>()V
    .registers 1

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

    return-void
.end method

.method public static final GetLastUpdateDbTime()J
    .registers 2

    .prologue
    .line 319
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/system/RuntimeCheck;->isServiceProcess()Z

    move-result v0

    if-eqz v0, :cond_b

    .line 320
    invoke-static {}, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->GetLastUpdateDbTimeInService()J

    move-result-wide v0

    .line 326
    :goto_a
    return-wide v0

    .line 324
    :cond_b
    :try_start_b
    invoke-static {}, Lcom/cleanmaster/hpsharelib/synipc/SyncIpcCtrl;->getIns()Lcom/cleanmaster/hpsharelib/synipc/SyncIpcCtrl;

    move-result-object v0

    invoke-virtual {v0}, Lcom/cleanmaster/hpsharelib/synipc/SyncIpcCtrl;->getIPCClient()Lcom/cleanmaster/hpsharelib/synipc/ISyncIpcService;

    move-result-object v0

    invoke-interface {v0}, Lcom/cleanmaster/hpsharelib/synipc/ISyncIpcService;->GetLastUpdateDbTime()J
    :try_end_16
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_16} :catch_18

    move-result-wide v0

    goto :goto_a

    .line 325
    :catch_18
    move-exception v0

    .line 326
    const-wide/16 v0, 0x0

    goto :goto_a
.end method

.method public static final GetLastUpdateDbTimeInService()J
    .registers 4

    .prologue
    .line 310
    sget-wide v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->s_last_up_time:J

    const-wide/16 v2, 0x0

    cmp-long v0, v0, v2

    if-nez v0, :cond_b

    .line 311
    sget-wide v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->s_last_up_time:J

    .line 315
    :goto_a
    return-wide v0

    :cond_b
    sget-wide v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->s_last_up_time:J

    goto :goto_a
.end method

.method public static IsClassNotFoundCrash(Ljava/lang/Throwable;)Z
    .registers 4

    .prologue
    const/4 v0, 0x1

    .line 239
    instance-of v1, p0, Ljava/lang/NoClassDefFoundError;

    if-eqz v1, :cond_6

    .line 253
    :cond_5
    :goto_5
    return v0

    .line 242
    :cond_6
    instance-of v1, p0, Ljava/lang/ClassNotFoundException;

    if-nez v1, :cond_5

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

    move-result-object v1

    .line 246
    if-eqz v1, :cond_18

    .line 247
    instance-of v2, v1, Ljava/lang/NoClassDefFoundError;

    if-nez v2, :cond_5

    .line 250
    instance-of v1, v1, Ljava/lang/ClassNotFoundException;

    if-nez v1, :cond_5

    .line 253
    :cond_18
    const/4 v0, 0x0

    goto :goto_5
.end method

.method public static IsGcFinalizyCrash(Ljava/lang/Throwable;)Z
    .registers 3

    .prologue
    .line 227
    instance-of v0, p0, Ljava/util/concurrent/TimeoutException;

    if-eqz v0, :cond_23

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

    const/16 v1, 0x11

    if-lt v0, v1, :cond_23

    .line 228
    invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_23

    .line 230
    invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v0

    const-string/jumbo v1, "timed out after 10 seconds"

    invoke-virtual {v0, v1}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_23

    .line 231
    const/4 v0, 0x1

    .line 235
    :goto_22
    return v0

    :cond_23
    const/4 v0, 0x0

    goto :goto_22
.end method

.method public static Probe(Landroid/content/Context;)V
    .registers 6

    .prologue
    const/4 v4, -0x1

    .line 30
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/oeam/Env;->getVersionCode(Landroid/content/Context;)I

    move-result v0

    .line 33
    const v1, 0x9cb6be

    if-eq v1, v0, :cond_26

    .line 34
    const-string v1, "CM"

    new-instance v2, Ljava/lang/StringBuilder;

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

    const-string v3, "Env.VERSION_CODE != nSysVerCode, exit...."

    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

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

    move-result-object v0

    invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 35
    invoke-static {v4}, Ljava/lang/System;->exit(I)V

    .line 58
    :goto_25
    return-void

    .line 41
    :cond_26
    invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    if-nez v0, :cond_50

    .line 43
    :try_start_2c
    invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;

    move-result-object v0

    iget-object v0, v0, Landroid/content/pm/ApplicationInfo;->sourceDir:Ljava/lang/String;

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

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

    .line 46
    invoke-virtual {v1}, Ljava/io/File;->exists()Z

    move-result v1

    if-nez v1, :cond_50

    .line 47
    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->getNextSourcePath(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

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

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

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

    move-result v0

    if-eqz v0, :cond_50

    .line 49
    const/4 v0, -0x1

    invoke-static {v0}, Ljava/lang/System;->exit(I)V
    :try_end_50
    .catch Ljava/lang/Exception; {:try_start_2c .. :try_end_50} :catch_54

    .line 57
    :cond_50
    :goto_50
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->ProbeAsset(Landroid/content/Context;)V

    goto :goto_25

    .line 52
    :catch_54
    move-exception v0

    .line 53
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

    goto :goto_50
.end method

.method public static ProbeAsset(Landroid/content/Context;)V
    .registers 5

    .prologue
    const/4 v2, 0x0

    .line 71
    .line 73
    const/4 v3, 0x0

    .line 74
    :try_start_2
    invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
    :try_end_5
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_5} :catch_2e

    move-result-object v1

    .line 76
    :try_start_6
    const-string/jumbo v0, "version.ini"

    invoke-virtual {v1, v0}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
    :try_end_c
    .catchall {:try_start_6 .. :try_end_c} :catchall_13

    move-result-object v0

    .line 78
    if-eqz v0, :cond_12

    .line 79
    :try_start_f
    invoke-virtual {v0}, Ljava/io/InputStream;->close()V

    .line 99
    :cond_12
    :goto_12
    return-void

    .line 78
    :catchall_13
    move-exception v0

    if-eqz v2, :cond_19

    .line 79
    invoke-virtual {v3}, Ljava/io/InputStream;->close()V

    :cond_19
    throw v0
    :try_end_1a
    .catch Ljava/lang/Exception; {:try_start_f .. :try_end_1a} :catch_1a

    .line 83
    :catch_1a
    move-exception v0

    move-object v0, v1

    .line 84
    :goto_1c
    invoke-static {p0, v0}, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->addDefAssetPath(Landroid/content/Context;Landroid/content/res/AssetManager;)I

    .line 88
    :try_start_1f
    const-string/jumbo v1, "version.ini"

    invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;

    move-result-object v0

    .line 90
    if-eqz v0, :cond_12

    .line 91
    invoke-virtual {v0}, Landroid/content/res/AssetFileDescriptor;->close()V
    :try_end_2b
    .catch Ljava/lang/Exception; {:try_start_1f .. :try_end_2b} :catch_2c

    goto :goto_12

    .line 96
    :catch_2c
    move-exception v0

    goto :goto_12

    .line 83
    :catch_2e
    move-exception v0

    move-object v0, v2

    goto :goto_1c
.end method

.method public static ProbeCheckSqliteCrash(I)V
    .registers 12

    .prologue
    const/4 v1, 0x1

    .line 116
    sget-boolean v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->bUpLoad:Z

    if-eqz v0, :cond_6

    .line 152
    :goto_5
    return-void

    .line 119
    :cond_6
    sput-boolean v1, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->bUpLoad:Z

    .line 121
    const/4 v4, 0x0

    .line 122
    const-wide/16 v2, 0x0

    .line 125
    const-string v0, ""

    .line 126
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/HostHelper;->getAppContext()Landroid/content/Context;

    move-result-object v5

    .line 127
    const-string v6, "cleanmaster_process_list.db"

    invoke-virtual {v5, v6}, Landroid/content/Context;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;

    move-result-object v5

    .line 129
    invoke-virtual {v5}, Ljava/io/File;->exists()Z

    move-result v6

    if-eqz v6, :cond_f6

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

    move-result-wide v2

    .line 134
    :try_start_21
    invoke-virtual {v5}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
    :try_end_24
    .catch Ljava/lang/Exception; {:try_start_21 .. :try_end_24} :catch_f0

    move-result-object v0

    .line 139
    :goto_25
    new-instance v4, Landroid/os/StatFs;

    const-string v6, "/data/"

    invoke-direct {v4, v6}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V

    .line 140
    invoke-virtual {v4}, Landroid/os/StatFs;->getAvailableBlocks()I

    move-result v6

    int-to-long v6, v6

    .line 141
    invoke-virtual {v4}, Landroid/os/StatFs;->getBlockCount()I

    move-result v4

    int-to-long v8, v4

    .line 143
    const-string v4, ""

    .line 144
    new-instance v10, Ljava/lang/StringBuilder;

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

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

    move-result-object v4

    const-string v10, "File: "

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

    move-result-object v4

    invoke-virtual {v5}, Ljava/io/File;->getAbsolutePath()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

    const-string v5, "\n"

    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

    .line 145
    new-instance v5, Ljava/lang/StringBuilder;

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

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

    move-result-object v4

    const-string v5, "Exist: "

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

    move-result-object v4

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

    move-result-object v1

    const-string v4, "\n"

    invoke-virtual {v1, v4}, 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

    .line 146
    new-instance v4, Ljava/lang/StringBuilder;

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

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

    move-result-object v1

    const-string v4, "nDBSize: "

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

    move-result-object v1

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

    move-result-object v1

    const-string v2, "\n"

    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

    .line 147
    new-instance v2, Ljava/lang/StringBuilder;

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

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

    move-result-object v1

    const-string v2, "diskTotalSpace: "

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

    move-result-object v1

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

    move-result-object v1

    const-string v2, "\n"

    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

    .line 148
    new-instance v2, Ljava/lang/StringBuilder;

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

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

    move-result-object v1

    const-string v2, "diskFreeSpace: "

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

    move-result-object v1

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

    move-result-object v1

    const-string v2, "\n"

    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

    .line 149
    new-instance v2, Ljava/lang/StringBuilder;

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

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

    move-result-object v1

    const-string v2, "canonPath: "

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

    move-result-object v1

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

    move-result-object v0

    const-string v1, "\n"

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

    move-result-object v0

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

    move-result-object v0

    .line 151
    const/4 v1, 0x2

    invoke-static {v1, p0, v0}, Lcom/cleanmaster/hpsharelib/crash/ExceptionReporter;->report(IILjava/lang/String;)V

    goto/16 :goto_5

    .line 135
    :catch_f0
    move-exception v4

    .line 136
    invoke-virtual {v4}, Ljava/lang/Exception;->printStackTrace()V

    goto/16 :goto_25

    :cond_f6
    move v1, v4

    goto/16 :goto_25
.end method

.method public static final SetLastUpdateDbTime()V
    .registers 2

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

    move-result-wide v0

    sput-wide v0, Lcom/cleanmaster/hpsharelib/crash/ProbeCrash;->s_last_up_time:J

    .line 307
    return-void
.end method

.method public static ShouldPrintLogcat(Ljava/lang/Throwable;)Z
    .registers 6

    .prologue
    const/4 v0, 0x0

    const/4 v1, 0x1

    .line 155
    if-nez p0, :cond_5

    .line 222
    :cond_4
    :goto_4
    return v0

    .line 158
    :cond_5
    instance-of v2, p0, Ljava/lang/OutOfMemoryError;

    if-eqz v2, :cond_b

    move v0, v1

    .line 159
    goto :goto_4

    .line 161
    :cond_b
    instance-of v2, p0, Landroid/database/sqlite/SQLiteDatabaseCorruptException;

    if-eqz v2, :cond_11

    move v0, v1

    .line 162
    goto :goto_4

    .line 164
    :cond_11
    instance-of v2, p0, Landroid/view/WindowManager$BadTokenException;

    if-eqz v2, :cond_17

    move v0, v1

    .line 165
    goto :goto_4

    .line 167
    :cond_17
    instance-of v2, p0, Ljava/lang/VerifyError;

    if-eqz v2, :cond_1d

    move v0, v1

    .line 168
    goto :goto_4

    .line 171
    :cond_1d
    instance-of v2, p0, Ljava/lang/NoClassDefFoundError;

    if-eqz v2, :cond_23

    move v0, v1

    .line 172
    goto :goto_4

    .line 175
    :cond_23
    sget v2, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v3, 0xf

    if-lt v2, v3, :cond_2f

    .line 176
    instance-of v2, p0, Landroid/database/CursorWindowAllocationException;

    if-eqz v2, :cond_2f

    move v0, v1

    .line 177
    goto :goto_4

    .line 181
    :cond_2f
    invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v2

    .line 183
    instance-of v3, p0, Ljava/lang/SecurityException;

    if-eqz v3, :cond_5e

    .line 184
    if-eqz v2, :cond_5e

    .line 185
    const-string v3, "Not allowed to start service Intent"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_4b

    const-string v3, "Service process is bad"

    .line 186
    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_4b

    move v0, v1

    .line 187
    goto :goto_4

    .line 189
    :cond_4b
    const-string/jumbo v3, "when starting service"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_5e

    const-string v3, "com.cleanmaster.service.FloatService"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_5e

    move v0, v1

    .line 190
    goto :goto_4

    .line 195
    :cond_5e
    instance-of v3, p0, Ljava/lang/IllegalArgumentException;

    if-eqz v3, :cond_6e

    .line 196
    if-eqz v2, :cond_6e

    .line 197
    const-string v3, "Unknown URL"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_6e

    move v0, v1

    .line 198
    goto :goto_4

    .line 203
    :cond_6e
    if-eqz v2, :cond_4

    .line 204
    invoke-virtual {p0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v3

    const-string v4, "Couldn\'t expand RemoteViews for"

    invoke-virtual {v3, v4}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_7e

    move v0, v1

    .line 205
    goto :goto_4

    .line 208
    :cond_7e
    const-string v3, "Bad notification posted from"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_89

    move v0, v1

    .line 209
    goto/16 :goto_4

    .line 212
    :cond_89
    const-string v3, "CRITICAL ERROR"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v3

    if-eqz v3, :cond_94

    move v0, v1

    .line 213
    goto/16 :goto_4

    .line 216
    :cond_94
    const-string v3, "infoc data format error"

    invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v2

    if-eqz v2, :cond_4

    move v0, v1

    .line 217
    goto/16 :goto_4
.end method

.method public static addDefAssetPath(Landroid/content/Context;Landroid/content/res/AssetManager;)I
    .registers 8

    .prologue
    const/4 v1, 0x0

    .line 102
    .line 104
    :try_start_1
    const-class v0, Landroid/content/res/AssetManager;

    const-string v2, "addAssetPath"

    const/4 v3, 0x1

    new-array v3, v3, [Ljava/lang/Class;

    const/4 v4, 0x0

    const-class v5, Ljava/lang/String;

    aput-object v5, v3, v4

    invoke-virtual {v0, v2, v3}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    .line 105
    const/4 v2, 0x1

    new-array v2, v2, [Ljava/lang/Object;

    const/4 v3, 0x0

    invoke-virtual {p0}, Landroid/content/Context;->getPackageResourcePath()Ljava/lang/String;

    move-result-object v4

    aput-object v4, v2, v3

    invoke-virtual {v0, p1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/lang/Integer;

    invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
    :try_end_24
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_24} :catch_26
    .catchall {:try_start_1 .. :try_end_24} :catchall_29

    move-result v0

    .line 109
    :goto_25
    return v0

    .line 106
    :catch_26
    move-exception v0

    move v0, v1

    .line 109
    goto :goto_25

    :catchall_29
    move-exception v0

    move v0, v1

    goto :goto_25
.end method

.method private static getNextSourcePath(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 62
    const-string v0, "-1."

    invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_11

    .line 63
    const-string v0, "-1."

    const-string v1, "-2."

    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object v0

    .line 66
    :goto_10
    return-object v0

    :cond_11
    const-string v0, "-2."

    const-string v1, "-1."

    invoke-virtual {p0, v0, v1}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;

    move-result-object v0

    goto :goto_10
.end method