FileUtils.smali

.class public Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;
.super Ljava/lang/Object;
.source "FileUtils.java"


# static fields
.field public static final ATS_SR_CN:Ljava/lang/String; = "ats2_sr_cn.dat"

.field public static final ATS_WL_CN:Ljava/lang/String; = "ats2_wl_cn.dat"

.field public static final ATS_WL_EN:Ljava/lang/String; = "ats2_wl_en.dat"

.field public static final CLEARPROCESS_FILTER_CN:Ljava/lang/String; = "clearprocess_cn_5.10.2.filter"

.field public static final CLEARPROCESS_FILTER_EN:Ljava/lang/String; = "clearprocess_en_5.10.1.filter"

.field public static final ID_ANTIVIRUS:Ljava/lang/String; = "antivirus.db"

.field public static final ID_ANTIVIRUS_LW:Ljava/lang/String; = "antivirus_lw.db"

.field public static final ID_APK:Ljava/lang/String; = "cleanmaster.apk"

.field public static final ID_CONFIG:Ljava/lang/String; = "config"

.field public static final ID_COVER_CACHE_DB:Ljava/lang/String; = "tapp.dat"

.field public static final ID_DATA:Ljava/lang/String; = "data"

.field public static final ID_EDB_JUNKWHITE:Ljava/lang/String; = "junkwhite.db"

.field public static final ID_EDB_OTHER:Ljava/lang/String; = "clearpath_other_5.9.6.db"

.field public static final ID_EDB_SOFTDETAIL:Ljava/lang/String; = "clearpath5_softdetail.db"

.field public static final ID_PRIVACY_CACHE_DB:Ljava/lang/String; = "privacy_cache.db"

.field public static final ID_PROCESS_TIPS:Ljava/lang/String; = "process_tips2.db"

.field public static final ID_STRINGS_OTHER_DB:Ljava/lang/String; = "strings2_other.db"

.field public static final ID_STRINGS_SOFTDETAIL_DB:Ljava/lang/String; = "strings2_softdetail.db"

.field public static final MELIB:Ljava/lang/String; = "melib.dat"

.field public static final TYPE_APK:I = 0x1

.field public static final TYPE_BINARY:I = 0x2

.field public static final TYPE_ENCRYPT_SQLITE:I = 0x4

.field public static final TYPE_SQLITE:I = 0x3

.field public static final TYPE_UNKNOWN:I


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

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

    return-void
.end method

.method public static FormetFileSize(J)Ljava/lang/String;
    .registers 8

    .prologue
    .line 913
    new-instance v1, Ljava/text/DecimalFormat;

    const-string v0, "#.00"

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

    .line 914
    const-string v0, ""

    .line 915
    const-string v0, "0B"

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

    cmp-long v2, p0, v2

    if-nez v2, :cond_12

    .line 928
    :goto_11
    return-object v0

    .line 919
    :cond_12
    const-wide/16 v2, 0x400

    cmp-long v0, p0, v2

    if-gez v0, :cond_31

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

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

    long-to-double v2, p0

    invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)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, "B"

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_11

    .line 921
    :cond_31
    const-wide/32 v2, 0x100000

    cmp-long v0, p0, v2

    if-gez v0, :cond_54

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

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

    long-to-double v2, p0

    const-wide/high16 v4, 0x4090000000000000L    # 1024.0

    div-double/2addr v2, v4

    invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)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, "KB"

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_11

    .line 923
    :cond_54
    const-wide/32 v2, 0x40000000

    cmp-long v0, p0, v2

    if-gez v0, :cond_77

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

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

    long-to-double v2, p0

    const-wide/high16 v4, 0x4130000000000000L    # 1048576.0

    div-double/2addr v2, v4

    invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)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, "MB"

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_11

    .line 926
    :cond_77
    new-instance v0, Ljava/lang/StringBuilder;

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

    long-to-double v2, p0

    const-wide/high16 v4, 0x41d0000000000000L    # 1.073741824E9

    div-double/2addr v2, v4

    invoke-virtual {v1, v2, v3}, Ljava/text/DecimalFormat;->format(D)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, "GB"

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

    move-result-object v0

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

    move-result-object v0

    goto/16 :goto_11
.end method

.method public static addSlash(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 459
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/base/util/misc/Miscellaneous;->isEmpty(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_9

    .line 460
    sget-object p0, Ljava/io/File;->separator:Ljava/lang/String;

    .line 467
    :cond_8
    :goto_8
    return-object p0

    .line 463
    :cond_9
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    add-int/lit8 v0, v0, -0x1

    invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C

    move-result v0

    sget-char v1, Ljava/io/File;->separatorChar:C

    if-eq v0, v1, :cond_8

    .line 464
    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;

    move-result-object v0

    sget-char v1, Ljava/io/File;->separatorChar:C

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

    move-result-object v0

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

    move-result-object p0

    goto :goto_8
.end method

.method private static checkApplicationDataSubDir(Landroid/content/Context;Ljava/lang/String;)V
    .registers 5

    .prologue
    .line 561
    if-eqz p0, :cond_3c

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

    move-result-object v0

    .line 563
    if-eqz v0, :cond_3c

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

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

    move-result v1

    if-nez v1, :cond_3c

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

    new-instance v2, Ljava/lang/StringBuilder;

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

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

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

    move-result-object v0

    const-string v2, "/"

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

    move-result-object v0

    invoke-virtual {v0, p1}, 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 565
    if-eqz v1, :cond_39

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

    move-result v0

    if-eqz v0, :cond_39

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

    .line 568
    :cond_39
    invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z

    .line 571
    :cond_3c
    return-void
.end method

.method public static checkAssetsDir(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
    .registers 5

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

    .line 167
    :try_start_1
    invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;

    move-result-object v1

    invoke-virtual {v1, p2}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
    :try_end_8
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_8} :catch_a

    .line 168
    const/4 v0, 0x1

    .line 171
    :goto_9
    return v0

    .line 169
    :catch_a
    move-exception v1

    goto :goto_9
.end method

.method public static checkAssetsFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/InputStream;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 114
    .line 115
    if-nez p1, :cond_4

    .line 125
    :goto_3
    return-object v0

    .line 119
    :cond_4
    :try_start_4
    invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;

    move-result-object v1

    .line 120
    invoke-virtual {v1, p1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
    :try_end_b
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_b} :catch_d

    move-result-object v0

    goto :goto_3

    .line 122
    :catch_d
    move-exception v1

    goto :goto_3
.end method

.method public static checkDir(Ljava/io/File;)Ljava/io/File;
    .registers 2

    .prologue
    .line 428
    if-eqz p0, :cond_e

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

    move-result v0

    if-eqz v0, :cond_e

    invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z

    move-result v0

    if-nez v0, :cond_f

    .line 429
    :cond_e
    const/4 p0, 0x0

    .line 431
    :cond_f
    return-object p0
.end method

.method public static checkDir(Ljava/lang/String;)Ljava/io/File;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 418
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_8

    .line 424
    :cond_7
    :goto_7
    return-object v0

    .line 420
    :cond_8
    new-instance v1, Ljava/io/File;

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

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

    move-result v2

    if-eqz v2, :cond_7

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

    move-result v2

    if-eqz v2, :cond_7

    move-object v0, v1

    .line 424
    goto :goto_7
.end method

.method public static checkDirAndCreate(Ljava/lang/String;)Ljava/io/File;
    .registers 3

    .prologue
    .line 435
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_8

    .line 436
    const/4 v0, 0x0

    .line 444
    :cond_7
    :goto_7
    return-object v0

    .line 437
    :cond_8
    new-instance v0, Ljava/io/File;

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

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

    move-result v1

    if-eqz v1, :cond_19

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

    move-result v1

    if-nez v1, :cond_7

    .line 439
    :cond_19
    invoke-virtual {v0}, Ljava/io/File;->delete()Z

    .line 440
    invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z

    goto :goto_7
.end method

.method public static checkDirCreate(Ljava/lang/String;)Ljava/io/File;
    .registers 3

    .prologue
    .line 101
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_8

    .line 102
    const/4 v0, 0x0

    .line 110
    :cond_7
    :goto_7
    return-object v0

    .line 103
    :cond_8
    new-instance v0, Ljava/io/File;

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

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

    move-result v1

    if-eqz v1, :cond_19

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

    move-result v1

    if-nez v1, :cond_7

    .line 105
    :cond_19
    invoke-virtual {v0}, Ljava/io/File;->delete()Z

    .line 106
    invoke-virtual {v0}, Ljava/io/File;->mkdir()Z

    goto :goto_7
.end method

.method public static checkFile(Ljava/io/File;)Ljava/io/File;
    .registers 2

    .prologue
    .line 411
    if-eqz p0, :cond_e

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

    move-result v0

    if-eqz v0, :cond_e

    invoke-virtual {p0}, Ljava/io/File;->isFile()Z

    move-result v0

    if-nez v0, :cond_f

    .line 412
    :cond_e
    const/4 p0, 0x0

    .line 414
    :cond_f
    return-object p0
.end method

.method public static checkFile(Ljava/lang/String;)Ljava/io/File;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 337
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_8

    .line 343
    :cond_7
    :goto_7
    return-object v0

    .line 339
    :cond_8
    new-instance v1, Ljava/io/File;

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

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

    move-result v2

    if-eqz v2, :cond_7

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

    move-result v2

    if-eqz v2, :cond_7

    move-object v0, v1

    .line 343
    goto :goto_7
.end method

.method public static checkFileAndDelete(Ljava/lang/String;)Z
    .registers 3

    .prologue
    .line 448
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-eqz v0, :cond_8

    .line 449
    const/4 v0, 0x0

    .line 454
    :goto_7
    return v0

    .line 450
    :cond_8
    new-instance v0, Ljava/io/File;

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

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

    move-result v1

    if-eqz v1, :cond_16

    .line 452
    invoke-virtual {v0}, Ljava/io/File;->delete()Z

    .line 454
    :cond_16
    const/4 v0, 0x1

    goto :goto_7
.end method

.method public static checkFilesDirAndCreate(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 188
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_8

    .line 195
    :cond_7
    :goto_7
    return-object v0

    .line 190
    :cond_8
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getFilesDir(Landroid/content/Context;)Ljava/io/File;

    move-result-object v1

    .line 191
    if-eqz v1, :cond_7

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

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

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

    move-result-object v1

    invoke-static {v1}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->addSlash(Ljava/lang/String;)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, p1}, 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 194
    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->checkDirAndCreate(Ljava/lang/String;)Ljava/io/File;

    move-result-object v0

    goto :goto_7
.end method

.method public static checkFilesFile(Landroid/content/Context;Ljava/lang/String;)Ljava/io/File;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 78
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_8

    .line 85
    :cond_7
    :goto_7
    return-object v0

    .line 80
    :cond_8
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getFilesDir(Landroid/content/Context;)Ljava/io/File;

    move-result-object v1

    .line 81
    if-eqz v1, :cond_7

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

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

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

    move-result-object v1

    invoke-static {v1}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->addSlash(Ljava/lang/String;)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, p1}, 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 84
    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->checkFile(Ljava/lang/String;)Ljava/io/File;

    move-result-object v0

    goto :goto_7
.end method

.method public static checkPath(Ljava/lang/String;)Ljava/io/File;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 89
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v1

    if-eqz v1, :cond_8

    .line 97
    :cond_7
    :goto_7
    return-object v0

    .line 93
    :cond_8
    new-instance v1, Ljava/io/File;

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

    .line 94
    if-eqz v1, :cond_7

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

    move-result v2

    if-eqz v2, :cond_7

    move-object v0, v1

    .line 97
    goto :goto_7
.end method

.method public static copyAssetToFiles(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
    .registers 6

    .prologue
    .line 200
    invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v0

    if-nez v0, :cond_c

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

    move-result v0

    if-eqz v0, :cond_d

    .line 231
    :cond_c
    :goto_c
    return-void

    .line 203
    :cond_d
    new-instance v0, Ljava/io/File;

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

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

    move-result v1

    if-eqz v1, :cond_1e

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

    move-result v1

    if-nez v1, :cond_c

    .line 210
    :cond_1e
    const/4 v1, 0x0

    .line 213
    :try_start_1f
    invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;

    move-result-object v2

    .line 214
    invoke-virtual {v2, p1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;

    move-result-object v1

    .line 215
    invoke-static {v1, v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->copyToFile(Ljava/io/InputStream;Ljava/io/File;)Z
    :try_end_2a
    .catch Ljava/io/IOException; {:try_start_1f .. :try_end_2a} :catch_35
    .catchall {:try_start_1f .. :try_end_2a} :catchall_44

    .line 222
    if-eqz v1, :cond_c

    .line 224
    :try_start_2c
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V
    :try_end_2f
    .catch Ljava/io/IOException; {:try_start_2c .. :try_end_2f} :catch_30

    goto :goto_c

    .line 225
    :catch_30
    move-exception v0

    .line 226
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_c

    .line 219
    :catch_35
    move-exception v0

    .line 220
    :try_start_36
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
    :try_end_39
    .catchall {:try_start_36 .. :try_end_39} :catchall_44

    .line 222
    if-eqz v1, :cond_c

    .line 224
    :try_start_3b
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V
    :try_end_3e
    .catch Ljava/io/IOException; {:try_start_3b .. :try_end_3e} :catch_3f

    goto :goto_c

    .line 225
    :catch_3f
    move-exception v0

    .line 226
    invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_c

    .line 222
    :catchall_44
    move-exception v0

    if-eqz v1, :cond_4a

    .line 224
    :try_start_47
    invoke-virtual {v1}, Ljava/io/InputStream;->close()V
    :try_end_4a
    .catch Ljava/io/IOException; {:try_start_47 .. :try_end_4a} :catch_4b

    .line 227
    :cond_4a
    :goto_4a
    throw v0

    .line 225
    :catch_4b
    move-exception v1

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

    goto :goto_4a
.end method

.method public static copyFile(Ljava/lang/String;Ljava/lang/String;)I
    .registers 10

    .prologue
    const/4 v3, 0x0

    const/4 v1, 0x0

    const/4 v0, -0x1

    .line 479
    if-eqz p0, :cond_e

    if-eqz p1, :cond_e

    invoke-virtual {p0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_e

    .line 509
    :cond_d
    :goto_d
    return v0

    .line 483
    :cond_e
    if-eqz p0, :cond_d

    .line 487
    const/4 v2, 0x0

    .line 488
    const/4 v4, 0x0

    .line 492
    :try_start_12
    new-instance v5, Ljava/io/File;

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

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

    move-result v5

    if-eqz v5, :cond_5e

    .line 494
    new-instance v4, Ljava/io/FileInputStream;

    invoke-direct {v4, p0}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
    :try_end_22
    .catch Ljava/lang/Exception; {:try_start_12 .. :try_end_22} :catch_8a
    .catchall {:try_start_12 .. :try_end_22} :catchall_6c

    .line 495
    :try_start_22
    new-instance v2, Ljava/io/FileOutputStream;

    invoke-direct {v2, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
    :try_end_27
    .catch Ljava/lang/Exception; {:try_start_22 .. :try_end_27} :catch_8d
    .catchall {:try_start_22 .. :try_end_27} :catchall_85

    .line 496
    const/16 v3, 0x5a4

    :try_start_29
    new-array v5, v3, [B

    move v3, v1

    .line 497
    :goto_2c
    invoke-virtual {v4, v5}, Ljava/io/InputStream;->read([B)I

    move-result v6

    if-eq v6, v0, :cond_48

    .line 498
    add-int/2addr v3, v6

    .line 500
    const/4 v7, 0x0

    invoke-virtual {v2, v5, v7, v6}, Ljava/io/FileOutputStream;->write([BII)V
    :try_end_37
    .catch Ljava/lang/Exception; {:try_start_29 .. :try_end_37} :catch_38
    .catchall {:try_start_29 .. :try_end_37} :catchall_87

    goto :goto_2c

    .line 508
    :catch_38
    move-exception v1

    move-object v1, v2

    move-object v3, v4

    .line 512
    :goto_3b
    if-eqz v3, :cond_40

    .line 513
    :try_start_3d
    invoke-virtual {v3}, Ljava/io/InputStream;->close()V
    :try_end_40
    .catch Ljava/lang/Exception; {:try_start_3d .. :try_end_40} :catch_7f

    .line 520
    :cond_40
    :goto_40
    if-eqz v1, :cond_d

    .line 521
    :try_start_42
    invoke-virtual {v1}, Ljava/io/FileOutputStream;->close()V
    :try_end_45
    .catch Ljava/lang/Exception; {:try_start_42 .. :try_end_45} :catch_46

    goto :goto_d

    .line 523
    :catch_46
    move-exception v1

    goto :goto_d

    .line 502
    :cond_48
    :try_start_48
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->flush()V

    .line 503
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;

    move-result-object v3

    invoke-virtual {v3}, Ljava/io/FileDescriptor;->sync()V
    :try_end_52
    .catch Ljava/lang/Exception; {:try_start_48 .. :try_end_52} :catch_38
    .catchall {:try_start_48 .. :try_end_52} :catchall_87

    .line 512
    if-eqz v4, :cond_57

    .line 513
    :try_start_54
    invoke-virtual {v4}, Ljava/io/InputStream;->close()V
    :try_end_57
    .catch Ljava/lang/Exception; {:try_start_54 .. :try_end_57} :catch_79

    .line 520
    :cond_57
    :goto_57
    if-eqz v2, :cond_5c

    .line 521
    :try_start_59
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
    :try_end_5c
    .catch Ljava/lang/Exception; {:try_start_59 .. :try_end_5c} :catch_7b

    :cond_5c
    :goto_5c
    move v0, v1

    .line 504
    goto :goto_d

    .line 506
    :cond_5e
    const/4 v0, -0x2

    .line 512
    if-eqz v3, :cond_64

    .line 513
    :try_start_61
    invoke-virtual {v2}, Ljava/io/InputStream;->close()V
    :try_end_64
    .catch Ljava/lang/Exception; {:try_start_61 .. :try_end_64} :catch_7d

    .line 520
    :cond_64
    :goto_64
    if-eqz v3, :cond_d

    .line 521
    :try_start_66
    invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V
    :try_end_69
    .catch Ljava/lang/Exception; {:try_start_66 .. :try_end_69} :catch_6a

    goto :goto_d

    .line 523
    :catch_6a
    move-exception v1

    goto :goto_d

    .line 511
    :catchall_6c
    move-exception v0

    move-object v4, v3

    .line 512
    :goto_6e
    if-eqz v4, :cond_73

    .line 513
    :try_start_70
    invoke-virtual {v4}, Ljava/io/InputStream;->close()V
    :try_end_73
    .catch Ljava/lang/Exception; {:try_start_70 .. :try_end_73} :catch_81

    .line 520
    :cond_73
    :goto_73
    if-eqz v3, :cond_78

    .line 521
    :try_start_75
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V
    :try_end_78
    .catch Ljava/lang/Exception; {:try_start_75 .. :try_end_78} :catch_83

    .line 525
    :cond_78
    :goto_78
    throw v0

    .line 515
    :catch_79
    move-exception v0

    goto :goto_57

    .line 523
    :catch_7b
    move-exception v0

    goto :goto_5c

    .line 515
    :catch_7d
    move-exception v1

    goto :goto_64

    :catch_7f
    move-exception v2

    goto :goto_40

    :catch_81
    move-exception v1

    goto :goto_73

    .line 523
    :catch_83
    move-exception v1

    goto :goto_78

    .line 511
    :catchall_85
    move-exception v0

    goto :goto_6e

    :catchall_87
    move-exception v0

    move-object v3, v2

    goto :goto_6e

    .line 508
    :catch_8a
    move-exception v1

    move-object v1, v3

    goto :goto_3b

    :catch_8d
    move-exception v1

    move-object v1, v3

    move-object v3, v4

    goto :goto_3b
.end method

.method public static copyFolder(Ljava/lang/String;Ljava/lang/String;)V
    .registers 10

    .prologue
    const/4 v0, 0x0

    .line 829
    :try_start_1
    new-instance v1, Ljava/io/File;

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

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

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

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

    .line 831
    invoke-virtual {v1}, Ljava/io/File;->list()[Ljava/lang/String;

    move-result-object v2

    .line 833
    :goto_12
    array-length v1, v2

    if-ge v0, v1, :cond_78

    .line 834
    sget-object v1, Ljava/io/File;->separator:Ljava/lang/String;

    invoke-virtual {p0, v1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z

    move-result v1

    if-eqz v1, :cond_79

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

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    move-result-object v3

    aget-object v4, v2, v0

    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-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    .line 841
    :goto_35
    invoke-virtual {v1}, Ljava/io/File;->isFile()Z

    move-result v3

    if-eqz v3, :cond_a1

    .line 842
    new-instance v3, Ljava/io/FileInputStream;

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

    .line 843
    new-instance v4, Ljava/io/FileOutputStream;

    new-instance v5, Ljava/lang/StringBuilder;

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

    invoke-virtual {v5, p1}, 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

    .line 844
    invoke-virtual {v1}, Ljava/io/File;->getName()Ljava/lang/String;

    move-result-object v6

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

    move-result-object v6

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

    move-result-object v5

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

    move-result-object v5

    invoke-direct {v4, v5}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V

    .line 845
    const/16 v5, 0x1400

    new-array v5, v5, [B

    .line 847
    :goto_68
    invoke-virtual {v3, v5}, Ljava/io/FileInputStream;->read([B)I

    move-result v6

    const/4 v7, -0x1

    if-eq v6, v7, :cond_98

    .line 848
    const/4 v7, 0x0

    invoke-virtual {v4, v5, v7, v6}, Ljava/io/FileOutputStream;->write([BII)V
    :try_end_73
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_73} :catch_74

    goto :goto_68

    .line 859
    :catch_74
    move-exception v0

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

    .line 863
    :cond_78
    return-void

    .line 838
    :cond_79
    :try_start_79
    new-instance v1, Ljava/io/File;

    new-instance v3, Ljava/lang/StringBuilder;

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

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

    move-result-object v3

    sget-object v4, Ljava/io/File;->separator:Ljava/lang/String;

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

    move-result-object v3

    aget-object v4, v2, v0

    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-direct {v1, v3}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    goto :goto_35

    .line 850
    :cond_98
    invoke-virtual {v4}, Ljava/io/FileOutputStream;->flush()V

    .line 851
    invoke-virtual {v4}, Ljava/io/FileOutputStream;->close()V

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

    .line 854
    :cond_a1
    invoke-virtual {v1}, Ljava/io/File;->isDirectory()Z

    move-result v1

    if-eqz v1, :cond_dc

    .line 855
    new-instance v1, Ljava/lang/StringBuilder;

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

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

    move-result-object v1

    const-string v3, "/"

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

    move-result-object v1

    aget-object v3, v2, v0

    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

    new-instance v3, Ljava/lang/StringBuilder;

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

    invoke-virtual {v3, p1}, 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

    aget-object v4, v2, v0

    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-static {v1, v3}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->copyFolder(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_dc
    .catch Ljava/lang/Exception; {:try_start_79 .. :try_end_dc} :catch_74

    .line 833
    :cond_dc
    add-int/lit8 v0, v0, 0x1

    goto/16 :goto_12
.end method

.method public static copyToFile(Ljava/io/InputStream;Ljava/io/File;)Z
    .registers 7

    .prologue
    const/4 v0, 0x0

    .line 236
    :try_start_1
    invoke-virtual {p1}, Ljava/io/File;->exists()Z

    move-result v1

    if-eqz v1, :cond_a

    .line 237
    invoke-virtual {p1}, Ljava/io/File;->delete()Z

    .line 239
    :cond_a
    new-instance v2, Ljava/io/FileOutputStream;

    invoke-direct {v2, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
    :try_end_f
    .catch Ljava/io/IOException; {:try_start_1 .. :try_end_f} :catch_2d

    .line 241
    const/16 v1, 0x1000

    :try_start_11
    new-array v1, v1, [B

    .line 243
    :goto_13
    invoke-virtual {p0, v1}, Ljava/io/InputStream;->read([B)I

    move-result v3

    if-ltz v3, :cond_2f

    .line 244
    const/4 v4, 0x0

    invoke-virtual {v2, v1, v4, v3}, Ljava/io/FileOutputStream;->write([BII)V
    :try_end_1d
    .catchall {:try_start_11 .. :try_end_1d} :catchall_1e

    goto :goto_13

    .line 247
    :catchall_1e
    move-exception v1

    :try_start_1f
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->flush()V
    :try_end_22
    .catch Ljava/io/IOException; {:try_start_1f .. :try_end_22} :catch_2d

    .line 249
    :try_start_22
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;

    move-result-object v3

    invoke-virtual {v3}, Ljava/io/FileDescriptor;->sync()V
    :try_end_29
    .catch Ljava/io/IOException; {:try_start_22 .. :try_end_29} :catch_3e

    .line 252
    :goto_29
    :try_start_29
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V

    throw v1

    .line 255
    :catch_2d
    move-exception v1

    .line 256
    :goto_2e
    return v0

    .line 247
    :cond_2f
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->flush()V
    :try_end_32
    .catch Ljava/io/IOException; {:try_start_29 .. :try_end_32} :catch_2d

    .line 249
    :try_start_32
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->getFD()Ljava/io/FileDescriptor;

    move-result-object v1

    invoke-virtual {v1}, Ljava/io/FileDescriptor;->sync()V
    :try_end_39
    .catch Ljava/io/IOException; {:try_start_32 .. :try_end_39} :catch_40

    .line 252
    :goto_39
    :try_start_39
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
    :try_end_3c
    .catch Ljava/io/IOException; {:try_start_39 .. :try_end_3c} :catch_2d

    .line 254
    const/4 v0, 0x1

    goto :goto_2e

    .line 250
    :catch_3e
    move-exception v3

    goto :goto_29

    :catch_40
    move-exception v1

    goto :goto_39
.end method

.method public static delAllFile(Ljava/lang/String;)Z
    .registers 7

    .prologue
    const/4 v0, 0x0

    .line 738
    if-eqz p0, :cond_9

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    if-gtz v1, :cond_a

    .line 770
    :cond_9
    :goto_9
    return v0

    .line 743
    :cond_a
    new-instance v1, Ljava/io/File;

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

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

    move-result v2

    if-eqz v2, :cond_9

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

    move-result v2

    if-eqz v2, :cond_9

    .line 750
    invoke-virtual {v1}, Ljava/io/File;->list()[Ljava/lang/String;

    move-result-object v3

    .line 751
    if-eqz v3, :cond_b2

    move v2, v0

    move v1, v0

    .line 753
    :goto_23
    array-length v0, v3

    if-ge v2, v0, :cond_b3

    .line 754
    sget-object v0, Ljava/io/File;->separator:Ljava/lang/String;

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

    move-result v0

    if-eqz v0, :cond_93

    .line 755
    new-instance v0, Ljava/io/File;

    new-instance v4, Ljava/lang/StringBuilder;

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

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

    move-result-object v4

    aget-object v5, v3, v2

    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 {v0, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    .line 759
    :goto_46
    invoke-virtual {v0}, Ljava/io/File;->isFile()Z

    move-result v4

    if-eqz v4, :cond_4f

    .line 760
    invoke-virtual {v0}, Ljava/io/File;->delete()Z

    .line 762
    :cond_4f
    invoke-virtual {v0}, Ljava/io/File;->isDirectory()Z

    move-result v0

    if-eqz v0, :cond_b6

    .line 763
    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;

    move-result-object v0

    sget-char v1, Ljava/io/File;->separatorChar:C

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

    move-result-object v0

    aget-object v1, v3, v2

    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-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->delAllFile(Ljava/lang/String;)Z

    .line 764
    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;

    move-result-object v0

    sget-char v1, Ljava/io/File;->separatorChar:C

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

    move-result-object v0

    aget-object v1, v3, v2

    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-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->delFolder(Ljava/lang/String;)V

    .line 765
    const/4 v0, 0x1

    .line 753
    :goto_8e
    add-int/lit8 v1, v2, 0x1

    move v2, v1

    move v1, v0

    goto :goto_23

    .line 757
    :cond_93
    new-instance v0, Ljava/io/File;

    new-instance v4, Ljava/lang/StringBuilder;

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

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

    move-result-object v4

    sget-object v5, Ljava/io/File;->separator:Ljava/lang/String;

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

    move-result-object v4

    aget-object v5, v3, v2

    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 {v0, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V

    goto :goto_46

    :cond_b2
    move v1, v0

    :cond_b3
    move v0, v1

    .line 770
    goto/16 :goto_9

    :cond_b6
    move v0, v1

    goto :goto_8e
.end method

.method public static delFolder(Ljava/lang/String;)V
    .registers 3

    .prologue
    .line 722
    :try_start_0
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->delAllFile(Ljava/lang/String;)Z

    .line 724
    invoke-virtual {p0}, Ljava/lang/String;->toString()Ljava/lang/String;

    move-result-object v0

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

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

    .line 726
    invoke-virtual {v1}, Ljava/io/File;->delete()Z
    :try_end_f
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_f} :catch_10

    .line 730
    :goto_f
    return-void

    .line 727
    :catch_10
    move-exception v0

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

    goto :goto_f
.end method

.method public static deleteFile(Ljava/io/File;)V
    .registers 4

    .prologue
    .line 932
    invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z

    move-result v0

    if-eqz v0, :cond_16

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

    move-result-object v1

    .line 934
    const/4 v0, 0x0

    :goto_b
    array-length v2, v1

    if-ge v0, v2, :cond_1f

    .line 935
    aget-object v2, v1, v0

    .line 936
    invoke-static {v2}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->deleteFile(Ljava/io/File;)V

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

    goto :goto_b

    .line 939
    :cond_16
    invoke-virtual {p0}, Ljava/io/File;->exists()Z

    move-result v0

    if-eqz v0, :cond_1f

    .line 940
    invoke-virtual {p0}, Ljava/io/File;->delete()Z

    .line 942
    :cond_1f
    return-void
.end method

.method public static deleteFile(Ljava/lang/String;)Z
    .registers 3

    .prologue
    .line 592
    new-instance v0, Ljava/io/File;

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

    .line 593
    invoke-virtual {v0}, Ljava/io/File;->isFile()Z

    move-result v1

    if-eqz v1, :cond_16

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

    move-result v1

    if-eqz v1, :cond_16

    .line 594
    invoke-virtual {v0}, Ljava/io/File;->delete()Z

    .line 595
    const/4 v0, 0x1

    .line 597
    :goto_15
    return v0

    :cond_16
    const/4 v0, 0x0

    goto :goto_15
.end method

.method public static getAvailableInternalStorageSize()J
    .registers 4

    .prologue
    .line 679
    invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;

    move-result-object v0

    .line 680
    new-instance v1, Landroid/os/StatFs;

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

    move-result-object v0

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

    .line 682
    invoke-virtual {v1}, Landroid/os/StatFs;->getBlockSize()I

    move-result v0

    int-to-long v2, v0

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

    move-result v0

    int-to-long v0, v0

    .line 685
    mul-long/2addr v0, v2

    return-wide v0
.end method

.method private static getBinaryVersion(Ljava/lang/String;)Ljava/lang/String;
    .registers 9

    .prologue
    const/4 v4, 0x4

    .line 364
    const/4 v0, 0x0

    .line 365
    const/4 v2, 0x0

    .line 367
    :try_start_3
    new-instance v1, Ljava/io/FileInputStream;

    invoke-direct {v1, p0}, Ljava/io/FileInputStream;-><init>(Ljava/lang/String;)V
    :try_end_8
    .catch Ljava/lang/Exception; {:try_start_3 .. :try_end_8} :catch_4a
    .catchall {:try_start_3 .. :try_end_8} :catchall_54

    .line 369
    const/4 v2, 0x4

    :try_start_9
    new-array v2, v2, [B

    .line 370
    invoke-virtual {v1, v2}, Ljava/io/FileInputStream;->read([B)I

    move-result v3

    .line 371
    if-lt v3, v4, :cond_44

    .line 372
    sget-object v3, Ljava/util/Locale;->US:Ljava/util/Locale;

    const-string v4, "%d.%d.%d.%d"

    const/4 v5, 0x4

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

    const/4 v6, 0x0

    const/4 v7, 0x0

    aget-byte v7, v2, v7

    invoke-static {v7}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v7

    aput-object v7, v5, v6

    const/4 v6, 0x1

    const/4 v7, 0x1

    aget-byte v7, v2, v7

    invoke-static {v7}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v7

    aput-object v7, v5, v6

    const/4 v6, 0x2

    const/4 v7, 0x2

    aget-byte v7, v2, v7

    .line 373
    invoke-static {v7}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v7

    aput-object v7, v5, v6

    const/4 v6, 0x3

    const/4 v7, 0x3

    aget-byte v2, v2, v7

    invoke-static {v2}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;

    move-result-object v2

    aput-object v2, v5, v6

    .line 372
    invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
    :try_end_43
    .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_43} :catch_62
    .catchall {:try_start_9 .. :try_end_43} :catchall_60

    move-result-object v0

    .line 377
    :cond_44
    if-eqz v1, :cond_49

    .line 379
    :try_start_46
    invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
    :try_end_49
    .catch Ljava/lang/Exception; {:try_start_46 .. :try_end_49} :catch_5c

    .line 384
    :cond_49
    :goto_49
    return-object v0

    .line 375
    :catch_4a
    move-exception v1

    move-object v1, v2

    .line 377
    :goto_4c
    if-eqz v1, :cond_49

    .line 379
    :try_start_4e
    invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
    :try_end_51
    .catch Ljava/lang/Exception; {:try_start_4e .. :try_end_51} :catch_52

    goto :goto_49

    .line 380
    :catch_52
    move-exception v1

    goto :goto_49

    .line 377
    :catchall_54
    move-exception v0

    move-object v1, v2

    :goto_56
    if-eqz v1, :cond_5b

    .line 379
    :try_start_58
    invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
    :try_end_5b
    .catch Ljava/lang/Exception; {:try_start_58 .. :try_end_5b} :catch_5e

    .line 381
    :cond_5b
    :goto_5b
    throw v0

    .line 380
    :catch_5c
    move-exception v1

    goto :goto_49

    :catch_5e
    move-exception v1

    goto :goto_5b

    .line 377
    :catchall_60
    move-exception v0

    goto :goto_56

    .line 375
    :catch_62
    move-exception v2

    goto :goto_4c
.end method

.method public static getExtensionName(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 792
    if-eqz p0, :cond_1f

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    if-lez v0, :cond_1f

    .line 793
    const/16 v0, 0x2e

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

    move-result v0

    .line 794
    const/4 v1, -0x1

    if-le v0, v1, :cond_1f

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    add-int/lit8 v1, v1, -0x1

    if-ge v0, v1, :cond_1f

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

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

    move-result-object p0

    .line 798
    :cond_1f
    return-object p0
.end method

.method public static getExternalStoragePath()Ljava/lang/String;
    .registers 1

    .prologue
    .line 391
    invoke-static {}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->isValidExternalStorage()Z

    move-result v0

    if-nez v0, :cond_8

    .line 392
    const/4 v0, 0x0

    .line 395
    :goto_7
    return-object v0

    :cond_8
    invoke-static {}, Lcom/cleanmaster/hpsharelib/oeam/Env;->getExternalStorageDirectoryx()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->addSlash(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    goto :goto_7
.end method

.method public static getFileLastModified(Ljava/lang/String;)J
    .registers 5

    .prologue
    const-wide/16 v0, 0x0

    .line 175
    invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-eqz v2, :cond_9

    .line 184
    :cond_8
    :goto_8
    return-wide v0

    .line 179
    :cond_9
    new-instance v2, Ljava/io/File;

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

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

    move-result v3

    if-eqz v3, :cond_8

    .line 184
    invoke-virtual {v2}, Ljava/io/File;->lastModified()J

    move-result-wide v0

    goto :goto_8
.end method

.method public static getFileName(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 613
    if-eqz p0, :cond_1f

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    if-lez v0, :cond_1f

    .line 614
    sget-char v0, Ljava/io/File;->separatorChar:C

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

    move-result v0

    .line 615
    const/4 v1, -0x1

    if-le v0, v1, :cond_1f

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    add-int/lit8 v1, v1, -0x1

    if-ge v0, v1, :cond_1f

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

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

    move-result-object p0

    .line 619
    :cond_1f
    return-object p0
.end method

.method public static getFilePathNoExtension(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 802
    if-eqz p0, :cond_1c

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    if-lez v0, :cond_1c

    .line 803
    const/16 v0, 0x2e

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

    move-result v0

    .line 804
    const/4 v1, -0x1

    if-le v0, v1, :cond_1c

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    if-ge v0, v1, :cond_1c

    .line 805
    const/4 v1, 0x0

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

    move-result-object p0

    .line 808
    :cond_1c
    return-object p0
.end method

.method public static getFileSize(Ljava/io/File;)J
    .registers 6

    .prologue
    .line 885
    const-wide/16 v0, 0x0

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

    move-result v2

    if-eqz v2, :cond_16

    .line 887
    const/4 v4, 0x0

    .line 889
    :try_start_9
    new-instance v3, Ljava/io/FileInputStream;

    invoke-direct {v3, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
    :try_end_e
    .catch Ljava/io/IOException; {:try_start_9 .. :try_end_e} :catch_1c
    .catchall {:try_start_9 .. :try_end_e} :catchall_2a

    .line 890
    :try_start_e
    invoke-virtual {v3}, Ljava/io/FileInputStream;->available()I
    :try_end_11
    .catch Ljava/io/IOException; {:try_start_e .. :try_end_11} :catch_37
    .catchall {:try_start_e .. :try_end_11} :catchall_35

    move-result v0

    int-to-long v0, v0

    .line 895
    :try_start_13
    invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
    :try_end_16
    .catch Ljava/io/IOException; {:try_start_13 .. :try_end_16} :catch_17

    .line 903
    :cond_16
    :goto_16
    return-wide v0

    .line 896
    :catch_17
    move-exception v2

    .line 897
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_16

    .line 891
    :catch_1c
    move-exception v2

    move-object v3, v4

    .line 892
    :goto_1e
    :try_start_1e
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
    :try_end_21
    .catchall {:try_start_1e .. :try_end_21} :catchall_35

    .line 895
    :try_start_21
    invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
    :try_end_24
    .catch Ljava/io/IOException; {:try_start_21 .. :try_end_24} :catch_25

    goto :goto_16

    .line 896
    :catch_25
    move-exception v2

    .line 897
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V

    goto :goto_16

    .line 894
    :catchall_2a
    move-exception v0

    move-object v3, v4

    .line 895
    :goto_2c
    :try_start_2c
    invoke-virtual {v3}, Ljava/io/FileInputStream;->close()V
    :try_end_2f
    .catch Ljava/io/IOException; {:try_start_2c .. :try_end_2f} :catch_30

    .line 898
    :goto_2f
    throw v0

    .line 896
    :catch_30
    move-exception v1

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

    goto :goto_2f

    .line 894
    :catchall_35
    move-exception v0

    goto :goto_2c

    .line 891
    :catch_37
    move-exception v2

    goto :goto_1e
.end method

.method public static getFileSizes(Ljava/io/File;)J
    .registers 7

    .prologue
    const-wide/16 v2, 0x0

    .line 866
    .line 867
    invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;

    move-result-object v1

    .line 868
    if-nez v1, :cond_9

    .line 880
    :cond_8
    return-wide v2

    .line 871
    :cond_9
    if-eqz v1, :cond_8

    .line 872
    const/4 v0, 0x0

    :goto_c
    array-length v4, v1

    if-ge v0, v4, :cond_8

    .line 873
    aget-object v4, v1, v0

    invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z

    move-result v4

    if-eqz v4, :cond_21

    .line 874
    aget-object v4, v1, v0

    invoke-static {v4}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getFileSizes(Ljava/io/File;)J

    move-result-wide v4

    add-long/2addr v2, v4

    .line 872
    :goto_1e
    add-int/lit8 v0, v0, 0x1

    goto :goto_c

    .line 876
    :cond_21
    aget-object v4, v1, v0

    invoke-static {v4}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getFileSize(Ljava/io/File;)J

    move-result-wide v4

    add-long/2addr v2, v4

    goto :goto_1e
.end method

.method public static getFileVersion(ILjava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 355
    const/4 v0, 0x2

    if-ne p0, v0, :cond_8

    .line 356
    invoke-static {p1}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getBinaryVersion(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 359
    :goto_7
    return-object v0

    :cond_8
    const/4 v0, 0x0

    goto :goto_7
.end method

.method public static getFilesDir(Landroid/content/Context;)Ljava/io/File;
    .registers 5

    .prologue
    const/4 v0, 0x0

    .line 635
    if-nez p0, :cond_4

    .line 653
    :cond_3
    return-object v0

    .line 640
    :cond_4
    const/4 v1, 0x0

    :goto_5
    const/4 v2, 0x3

    if-ge v1, v2, :cond_3

    .line 642
    invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;

    move-result-object v0

    .line 643
    if-nez v0, :cond_3

    .line 647
    const-wide/16 v2, 0xa6

    :try_start_10
    invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
    :try_end_13
    .catch Ljava/lang/InterruptedException; {:try_start_10 .. :try_end_13} :catch_16

    .line 640
    :goto_13
    add-int/lit8 v1, v1, 0x1

    goto :goto_5

    .line 648
    :catch_16
    move-exception v2

    goto :goto_13
.end method

.method private static getFilesDirObj(Landroid/content/Context;I)Ljava/io/File;
    .registers 6

    .prologue
    .line 539
    const-string v0, "files"

    invoke-static {p0, v0}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->checkApplicationDataSubDir(Landroid/content/Context;Ljava/lang/String;)V

    .line 541
    const/4 v0, 0x0

    .line 542
    if-eqz p0, :cond_e

    .line 543
    if-gtz p1, :cond_f

    .line 544
    invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;

    move-result-object v0

    .line 557
    :cond_e
    return-object v0

    .line 546
    :cond_f
    const/4 v1, 0x0

    :goto_10
    if-ge v1, p1, :cond_e

    .line 547
    invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;

    move-result-object v0

    .line 548
    if-nez v0, :cond_e

    .line 552
    const-wide/16 v2, 0xa

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

    .line 546
    add-int/lit8 v1, v1, 0x1

    goto :goto_10
.end method

.method public static getFilesDirPath(Landroid/content/Context;)Ljava/lang/String;
    .registers 3

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

    .line 531
    const/4 v1, 0x3

    invoke-static {p0, v1}, Lcom/cleanmaster/hpsharelib/base/util/io/FileUtils;->getFilesDirObj(Landroid/content/Context;I)Ljava/io/File;

    move-result-object v1

    .line 532
    if-eqz v1, :cond_c

    .line 533
    invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;

    move-result-object v0

    .line 535
    :cond_c
    return-object v0
.end method

.method public static getOtherEDbFilePath()Ljava/lang/String;
    .registers 1

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

    return-object v0
.end method

.method public static getStringDbPathByTableName(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 405
    invoke-static {}, Lcom/cleanmaster/hpsharelib/security/update/FileUtil;->ControlWait()V

    .line 406
    invoke-static {}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->getInstance()Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;

    move-result-object v0

    .line 407
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/security/update/FileUtil$TableNameConvert;->GetName(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/cleanmaster/hpsharelib/security/update/UpdateManager;->getItemPath(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public static getStringFromStream(Ljava/io/InputStream;)Ljava/lang/String;
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 129
    if-nez p0, :cond_4

    .line 159
    :cond_3
    :goto_3
    return-object v0

    .line 135
    :cond_4
    :try_start_4
    invoke-virtual {p0}, Ljava/io/InputStream;->available()I
    :try_end_7
    .catch Ljava/io/FileNotFoundException; {:try_start_4 .. :try_end_7} :catch_2c
    .catch Ljava/io/IOException; {:try_start_4 .. :try_end_7} :catch_3b
    .catchall {:try_start_4 .. :try_end_7} :catchall_4a

    move-result v1

    .line 136
    if-gtz v1, :cond_15

    .line 152
    if-eqz p0, :cond_3

    .line 153
    :try_start_c
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_f
    .catch Ljava/io/IOException; {:try_start_c .. :try_end_f} :catch_10

    goto :goto_3

    .line 154
    :catch_10
    move-exception v1

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

    goto :goto_3

    .line 139
    :cond_15
    :try_start_15
    new-array v1, v1, [B

    .line 140
    invoke-virtual {p0, v1}, Ljava/io/InputStream;->read([B)I

    .line 142
    const-string/jumbo v2, "utf-8"

    invoke-static {v1, v2}, Lorg/apache/http/util/EncodingUtils;->getString([BLjava/lang/String;)Ljava/lang/String;
    :try_end_20
    .catch Ljava/io/FileNotFoundException; {:try_start_15 .. :try_end_20} :catch_2c
    .catch Ljava/io/IOException; {:try_start_15 .. :try_end_20} :catch_3b
    .catchall {:try_start_15 .. :try_end_20} :catchall_4a

    move-result-object v0

    .line 152
    if-eqz p0, :cond_3

    .line 153
    :try_start_23
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_26
    .catch Ljava/io/IOException; {:try_start_23 .. :try_end_26} :catch_27

    goto :goto_3

    .line 154
    :catch_27
    move-exception v1

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

    goto :goto_3

    .line 144
    :catch_2c
    move-exception v1

    .line 145
    :try_start_2d
    invoke-virtual {v1}, Ljava/io/FileNotFoundException;->printStackTrace()V
    :try_end_30
    .catchall {:try_start_2d .. :try_end_30} :catchall_4a

    .line 152
    if-eqz p0, :cond_3

    .line 153
    :try_start_32
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_35
    .catch Ljava/io/IOException; {:try_start_32 .. :try_end_35} :catch_36

    goto :goto_3

    .line 154
    :catch_36
    move-exception v1

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

    goto :goto_3

    .line 147
    :catch_3b
    move-exception v1

    .line 148
    :try_start_3c
    invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
    :try_end_3f
    .catchall {:try_start_3c .. :try_end_3f} :catchall_4a

    .line 152
    if-eqz p0, :cond_3

    .line 153
    :try_start_41
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_44
    .catch Ljava/io/IOException; {:try_start_41 .. :try_end_44} :catch_45

    goto :goto_3

    .line 154
    :catch_45
    move-exception v1

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

    goto :goto_3

    .line 151
    :catchall_4a
    move-exception v0

    .line 152
    if-eqz p0, :cond_50

    .line 153
    :try_start_4d
    invoke-virtual {p0}, Ljava/io/InputStream;->close()V
    :try_end_50
    .catch Ljava/io/IOException; {:try_start_4d .. :try_end_50} :catch_51

    .line 156
    :cond_50
    :goto_50
    throw v0

    .line 154
    :catch_51
    move-exception v1

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

    goto :goto_50
.end method

.method public static getTotalInternalStorageSize()J
    .registers 4

    .prologue
    .line 709
    invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;

    move-result-object v0

    .line 710
    new-instance v1, Landroid/os/StatFs;

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

    move-result-object v0

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

    .line 711
    invoke-virtual {v1}, Landroid/os/StatFs;->getBlockSize()I

    move-result v0

    int-to-long v2, v0

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

    move-result v0

    int-to-long v0, v0

    .line 713
    mul-long/2addr v0, v2

    return-wide v0
.end method

.method public static isCacheDirAvail(Landroid/content/Context;)Z
    .registers 3

    .prologue
    const/4 v0, 0x0

    .line 812
    if-nez p0, :cond_4

    .line 815
    :cond_3
    :goto_3
    return v0

    :cond_4
    invoke-virtual {p0}, Landroid/content/Context;->getCacheDir()Ljava/io/File;

    move-result-object v1

    if-eqz v1, :cond_3

    const/4 v0, 0x1

    goto :goto_3
.end method

.method public static isValidExternalStorage()Z
    .registers 2

    .prologue
    .line 603
    const-string/jumbo v0, "unmounted"

    .line 605
    :try_start_3
    invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
    :try_end_6
    .catch Ljava/lang/Throwable; {:try_start_3 .. :try_end_6} :catch_e
    .catchall {:try_start_3 .. :try_end_6} :catchall_16

    move-result-object v0

    .line 608
    const-string v1, "mounted"

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

    move-result v0

    :goto_d
    return v0

    .line 606
    :catch_e
    move-exception v1

    .line 608
    const-string v1, "mounted"

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

    move-result v0

    goto :goto_d

    :catchall_16
    move-exception v1

    const-string v1, "mounted"

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

    move-result v0

    goto :goto_d
.end method

.method public static makePath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 624
    sget-object v0, Ljava/io/File;->separator:Ljava/lang/String;

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

    move-result v0

    if-eqz v0, :cond_1a

    .line 625
    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;

    move-result-object v0

    invoke-virtual {v0, p1}, 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 627
    :goto_19
    return-object v0

    :cond_1a
    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;

    move-result-object v0

    sget-object v1, Ljava/io/File;->separator:Ljava/lang/String;

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

    move-result-object v0

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_19
.end method

.method public static patchSqlite(Ljava/lang/String;Ljava/lang/String;)Z
    .registers 3

    .prologue
    .line 690
    invoke-static {p0, p1}, Lcom/cleanmaster/hpsharelib/base/util/io/SqlitePatcher;->patch(Ljava/lang/String;Ljava/lang/String;)Z

    move-result v0

    return v0
.end method

.method public static pathFileCount(Ljava/lang/String;)I
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 774
    if-eqz p0, :cond_9

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    if-gtz v1, :cond_a

    .line 788
    :cond_9
    :goto_9
    return v0

    .line 778
    :cond_a
    new-instance v1, Ljava/io/File;

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

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

    move-result v2

    if-eqz v2, :cond_9

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

    move-result v2

    if-eqz v2, :cond_9

    .line 783
    invoke-virtual {v1}, Ljava/io/File;->list()[Ljava/lang/String;

    move-result-object v1

    .line 784
    if-eqz v1, :cond_9

    .line 788
    array-length v0, v1

    goto :goto_9
.end method

.method public static removeSlash(Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 575
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/base/util/misc/Miscellaneous;->isEmpty(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_d

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    const/4 v1, 0x1

    if-ne v0, v1, :cond_e

    .line 583
    :cond_d
    :goto_d
    return-object p0

    .line 579
    :cond_e
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    add-int/lit8 v0, v0, -0x1

    invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C

    move-result v0

    sget-char v1, Ljava/io/File;->separatorChar:C

    if-ne v0, v1, :cond_d

    .line 580
    const/4 v0, 0x0

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v1

    add-int/lit8 v1, v1, -0x1

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

    move-result-object p0

    goto :goto_d
.end method

.method public static replaceEndSlashBy0(Ljava/lang/String;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 696
    invoke-static {p0}, Lcom/cleanmaster/hpsharelib/base/util/misc/Miscellaneous;->isEmpty(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_9

    .line 697
    const-string v0, "0"

    .line 704
    :goto_8
    return-object v0

    .line 700
    :cond_9
    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    add-int/lit8 v0, v0, -0x1

    invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C

    move-result v0

    sget-char v1, Ljava/io/File;->separatorChar:C

    if-eq v0, v1, :cond_2b

    .line 701
    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;

    move-result-object v0

    const-string v1, "0"

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_8

    .line 704
    :cond_2b
    new-instance v0, Ljava/lang/StringBuilder;

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

    const/4 v1, 0x0

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v2

    add-int/lit8 v2, v2, -0x1

    invoke-virtual {p0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v1

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

    move-result-object v0

    const-string v1, "0"

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

    move-result-object v0

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

    move-result-object v0

    goto :goto_8
.end method

.method public static replaceFile(Ljava/lang/String;Ljava/lang/String;)Z
    .registers 6

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

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

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

    move-result v0

    if-eqz v0, :cond_27

    .line 660
    const/4 v0, 0x3

    .line 662
    :cond_c
    invoke-virtual {v1}, Ljava/io/File;->delete()Z

    move-result v2

    if-eqz v2, :cond_1c

    .line 663
    new-instance v0, Ljava/io/File;

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

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

    move-result v0

    .line 674
    :goto_1b
    return v0

    .line 667
    :cond_1c
    const-wide/16 v2, 0x64

    :try_start_1e
    invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
    :try_end_21
    .catch Ljava/lang/InterruptedException; {:try_start_1e .. :try_end_21} :catch_31

    .line 670
    :goto_21
    add-int/lit8 v0, v0, -0x1

    if-gtz v0, :cond_c

    .line 671
    const/4 v0, 0x0

    goto :goto_1b

    .line 674
    :cond_27
    new-instance v0, Ljava/io/File;

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

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

    move-result v0

    goto :goto_1b

    .line 668
    :catch_31
    move-exception v2

    goto :goto_21
.end method

.method public static unzip(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    .registers 11

    .prologue
    const/4 v2, 0x0

    const/4 v1, 0x0

    .line 262
    .line 264
    const/4 v0, 0x0

    .line 265
    const/4 v3, 0x0

    .line 268
    :try_start_4
    new-instance v5, Ljava/util/zip/ZipFile;

    invoke-direct {v5, p0}, Ljava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V
    :try_end_9
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_9} :catch_ea
    .catchall {:try_start_4 .. :try_end_9} :catchall_be

    .line 270
    :try_start_9
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->entries()Ljava/util/Enumeration;

    move-result-object v4

    .line 271
    invoke-interface {v4}, Ljava/util/Enumeration;->hasMoreElements()Z
    :try_end_10
    .catch Ljava/lang/Exception; {:try_start_9 .. :try_end_10} :catch_ef
    .catchall {:try_start_9 .. :try_end_10} :catchall_db

    move-result v6

    if-nez v6, :cond_2b

    .line 313
    if-eqz v2, :cond_18

    .line 314
    :try_start_15
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V

    .line 317
    :cond_18
    if-eqz v2, :cond_1d

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

    .line 321
    :cond_1d
    if-eqz v5, :cond_22

    .line 322
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V

    .line 326
    :cond_22
    new-instance v0, Ljava/io/File;

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

    invoke-virtual {v0}, Ljava/io/File;->delete()Z
    :try_end_2a
    .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_2a} :catch_fd

    .line 331
    :goto_2a
    return v1

    .line 275
    :cond_2b
    :try_start_2b
    invoke-interface {v4}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/zip/ZipEntry;

    .line 276
    invoke-virtual {v5, v0}, Ljava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
    :try_end_34
    .catch Ljava/lang/Exception; {:try_start_2b .. :try_end_34} :catch_ef
    .catchall {:try_start_2b .. :try_end_34} :catchall_db

    move-result-object v3

    .line 279
    :try_start_35
    invoke-static {p2}, Lcom/cleanmaster/base/util/misc/Miscellaneous;->isEmpty(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_100

    .line 280
    const-string v0, "MD5"

    invoke-static {v0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;

    move-result-object v0

    .line 281
    new-instance v4, Ljava/security/DigestInputStream;

    invoke-direct {v4, v3, v0}, Ljava/security/DigestInputStream;-><init>(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
    :try_end_46
    .catch Ljava/lang/Exception; {:try_start_35 .. :try_end_46} :catch_f4
    .catchall {:try_start_35 .. :try_end_46} :catchall_de

    .line 285
    :goto_46
    const/16 v3, 0x1000

    :try_start_48
    new-array v6, v3, [B

    .line 287
    new-instance v3, Ljava/io/FileOutputStream;

    invoke-direct {v3, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
    :try_end_4f
    .catch Ljava/lang/Exception; {:try_start_48 .. :try_end_4f} :catch_f8
    .catchall {:try_start_48 .. :try_end_4f} :catchall_e1

    .line 291
    :goto_4f
    :try_start_4f
    invoke-virtual {v4, v6}, Ljava/io/InputStream;->read([B)I

    move-result v2

    .line 292
    if-lez v2, :cond_7b

    .line 293
    const/4 v7, 0x0

    invoke-virtual {v3, v6, v7, v2}, Ljava/io/FileOutputStream;->write([BII)V
    :try_end_59
    .catch Ljava/lang/Exception; {:try_start_4f .. :try_end_59} :catch_5a
    .catchall {:try_start_4f .. :try_end_59} :catchall_e3

    goto :goto_4f

    .line 309
    :catch_5a
    move-exception v0

    move-object v2, v3

    move-object v3, v4

    move-object v4, v5

    .line 310
    :goto_5e
    :try_start_5e
    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
    :try_end_61
    .catchall {:try_start_5e .. :try_end_61} :catchall_e6

    .line 313
    if-eqz v2, :cond_66

    .line 314
    :try_start_63
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V

    .line 317
    :cond_66
    if-eqz v3, :cond_6b

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

    .line 321
    :cond_6b
    if-eqz v4, :cond_70

    .line 322
    invoke-virtual {v4}, Ljava/util/zip/ZipFile;->close()V

    .line 326
    :cond_70
    new-instance v0, Ljava/io/File;

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

    invoke-virtual {v0}, Ljava/io/File;->delete()Z
    :try_end_78
    .catch Ljava/lang/Exception; {:try_start_63 .. :try_end_78} :catch_bb

    move v0, v1

    :cond_79
    :goto_79
    move v1, v0

    .line 331
    goto :goto_2a

    .line 299
    :cond_7b
    :try_start_7b
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->flush()V

    .line 301
    if-eqz v0, :cond_a8

    .line 302
    invoke-virtual {v0}, Ljava/security/MessageDigest;->digest()[B

    move-result-object v0

    invoke-static {v0}, Lcom/cleanmaster/base/util/misc/Miscellaneous;->encodeHex([B)Ljava/lang/String;

    move-result-object v0

    .line 303
    invoke-virtual {v0, p2}, Ljava/lang/String;->compareToIgnoreCase(Ljava/lang/String;)I
    :try_end_8b
    .catch Ljava/lang/Exception; {:try_start_7b .. :try_end_8b} :catch_5a
    .catchall {:try_start_7b .. :try_end_8b} :catchall_e3

    move-result v0

    if-eqz v0, :cond_a8

    .line 313
    if-eqz v3, :cond_93

    .line 314
    :try_start_90
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V

    .line 317
    :cond_93
    if-eqz v4, :cond_98

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

    .line 321
    :cond_98
    if-eqz v5, :cond_9d

    .line 322
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V

    .line 326
    :cond_9d
    new-instance v0, Ljava/io/File;

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

    invoke-virtual {v0}, Ljava/io/File;->delete()Z
    :try_end_a5
    .catch Ljava/lang/Exception; {:try_start_90 .. :try_end_a5} :catch_a6

    goto :goto_2a

    .line 328
    :catch_a6
    move-exception v0

    goto :goto_2a

    .line 308
    :cond_a8
    const/4 v0, 0x1

    .line 313
    if-eqz v3, :cond_ae

    .line 314
    :try_start_ab
    invoke-virtual {v3}, Ljava/io/FileOutputStream;->close()V

    .line 317
    :cond_ae
    if-eqz v4, :cond_b3

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

    .line 321
    :cond_b3
    if-eqz v5, :cond_79

    .line 322
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V
    :try_end_b8
    .catch Ljava/lang/Exception; {:try_start_ab .. :try_end_b8} :catch_b9

    goto :goto_79

    .line 328
    :catch_b9
    move-exception v1

    goto :goto_79

    :catch_bb
    move-exception v0

    move v0, v1

    .line 330
    goto :goto_79

    .line 312
    :catchall_be
    move-exception v0

    move-object v4, v2

    move-object v5, v2

    .line 313
    :goto_c1
    if-eqz v2, :cond_c6

    .line 314
    :try_start_c3
    invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V

    .line 317
    :cond_c6
    if-eqz v4, :cond_cb

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

    .line 321
    :cond_cb
    if-eqz v5, :cond_d0

    .line 322
    invoke-virtual {v5}, Ljava/util/zip/ZipFile;->close()V

    .line 326
    :cond_d0
    new-instance v1, Ljava/io/File;

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

    invoke-virtual {v1}, Ljava/io/File;->delete()Z
    :try_end_d8
    .catch Ljava/lang/Exception; {:try_start_c3 .. :try_end_d8} :catch_d9

    .line 329
    :goto_d8
    throw v0

    .line 328
    :catch_d9
    move-exception v1

    goto :goto_d8

    .line 312
    :catchall_db
    move-exception v0

    move-object v4, v2

    goto :goto_c1

    :catchall_de
    move-exception v0

    move-object v4, v3

    goto :goto_c1

    :catchall_e1
    move-exception v0

    goto :goto_c1

    :catchall_e3
    move-exception v0

    move-object v2, v3

    goto :goto_c1

    :catchall_e6
    move-exception v0

    move-object v5, v4

    move-object v4, v3

    goto :goto_c1

    .line 309
    :catch_ea
    move-exception v0

    move-object v3, v2

    move-object v4, v2

    goto/16 :goto_5e

    :catch_ef
    move-exception v0

    move-object v3, v2

    move-object v4, v5

    goto/16 :goto_5e

    :catch_f4
    move-exception v0

    move-object v4, v5

    goto/16 :goto_5e

    :catch_f8
    move-exception v0

    move-object v3, v4

    move-object v4, v5

    goto/16 :goto_5e

    .line 328
    :catch_fd
    move-exception v0

    goto/16 :goto_2a

    :cond_100
    move-object v0, v2

    move-object v4, v3

    goto/16 :goto_46
.end method