cfl.smali
.class public Ldxoptimizer/cfl;
.super Ljava/lang/Object;
.source "ZipUtils.java"
# direct methods
.method private static a(Ljava/io/InputStream;Ljava/io/File;)V
.registers 6
.prologue
.line 116
invoke-static {p1}, Ldxoptimizer/cfl;->a(Ljava/io/File;)Z
move-result v0
if-eqz v0, :cond_26
.line 117
const/4 v2, 0x0
.line 119
:try_start_7
new-instance v1, Ljava/io/FileOutputStream;
invoke-direct {v1, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
:try_end_c
.catch Ljava/io/FileNotFoundException; {:try_start_7 .. :try_end_c} :catch_4a
.catch Ljava/io/IOException; {:try_start_7 .. :try_end_c} :catch_31
.catchall {:try_start_7 .. :try_end_c} :catchall_3d
.line 120
const/16 v0, 0x1000
:try_start_e
new-array v0, v0, [B
.line 122
:goto_10
const/4 v2, -0x1
invoke-virtual {p0, v0}, Ljava/io/InputStream;->read([B)I
move-result v3
if-eq v2, v3, :cond_27
.line 123
const/4 v2, 0x0
invoke-virtual {v1, v0, v2, v3}, Ljava/io/FileOutputStream;->write([BII)V
:try_end_1b
.catch Ljava/io/FileNotFoundException; {:try_start_e .. :try_end_1b} :catch_1c
.catch Ljava/io/IOException; {:try_start_e .. :try_end_1b} :catch_48
.catchall {:try_start_e .. :try_end_1b} :catchall_46
goto :goto_10
.line 126
:catch_1c
move-exception v0
.line 127
:goto_1d
:try_start_1d
invoke-virtual {v0}, Ljava/io/FileNotFoundException;->printStackTrace()V
:try_end_20
.catchall {:try_start_1d .. :try_end_20} :catchall_46
.line 131
invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 132
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 135
:cond_26
:goto_26
return-void
.line 125
:cond_27
:try_start_27
invoke-virtual {v1}, Ljava/io/FileOutputStream;->flush()V
:try_end_2a
.catch Ljava/io/FileNotFoundException; {:try_start_27 .. :try_end_2a} :catch_1c
.catch Ljava/io/IOException; {:try_start_27 .. :try_end_2a} :catch_48
.catchall {:try_start_27 .. :try_end_2a} :catchall_46
.line 131
invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 132
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
goto :goto_26
.line 128
:catch_31
move-exception v0
move-object v1, v2
.line 129
:goto_33
:try_start_33
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_36
.catchall {:try_start_33 .. :try_end_36} :catchall_46
.line 131
invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 132
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
goto :goto_26
.line 131
:catchall_3d
move-exception v0
move-object v1, v2
:goto_3f
invoke-static {v1}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 132
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
throw v0
.line 131
:catchall_46
move-exception v0
goto :goto_3f
.line 128
:catch_48
move-exception v0
goto :goto_33
.line 126
:catch_4a
move-exception v0
move-object v1, v2
goto :goto_1d
.end method
.method private static final a(Ljava/io/File;)Z
.registers 4
.prologue
const/4 v0, 0x1
.line 99
invoke-virtual {p0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v1
.line 100
if-eqz v1, :cond_d
.line 101
invoke-virtual {v1}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_e
.line 107
:cond_d
:goto_d
return v0
.line 104
:cond_e
invoke-virtual {v1}, Ljava/io/File;->mkdirs()Z
move-result v0
goto :goto_d
.end method
.method public static a(Ljava/io/File;Ljava/io/File;)Z
.registers 3
.prologue
.line 144
const/4 v0, 0x0
invoke-static {p0, p1, v0}, Ldxoptimizer/cfl;->a(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;)Z
move-result v0
return v0
.end method
.method public static a(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;)Z
.registers 9
.prologue
const/4 v3, 0x0
const/4 v1, 0x0
.line 155
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_9
.line 200
:cond_8
:goto_8
return v1
.line 159
:cond_9
new-instance v0, Ldxoptimizer/ceq;
.line 160
invoke-static {}, Ldxoptimizer/cct;->a()Landroid/content/Context;
move-result-object v2
invoke-direct {v0, p0, v2, v3}, Ldxoptimizer/ceq;-><init>(Ljava/io/File;Landroid/content/Context;Ljava/lang/String;)V
.line 161
invoke-virtual {v0, v1}, Ldxoptimizer/ceq;->a(Z)Z
move-result v0
if-eqz v0, :cond_8
.line 168
:try_start_18
new-instance v2, Ljava/util/zip/ZipFile;
invoke-direct {v2, p0}, Ljava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
:try_end_1d
.catch Ljava/util/zip/ZipException; {:try_start_18 .. :try_end_1d} :catch_97
.catch Ljava/io/IOException; {:try_start_18 .. :try_end_1d} :catch_94
.catchall {:try_start_18 .. :try_end_1d} :catchall_85
.line 169
:try_start_1d
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->entries()Ljava/util/Enumeration;
move-result-object v3
.line 172
:cond_21
:goto_21
invoke-interface {v3}, Ljava/util/Enumeration;->hasMoreElements()Z
move-result v0
if-eqz v0, :cond_6d
.line 173
invoke-interface {v3}, Ljava/util/Enumeration;->nextElement()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/zip/ZipEntry;
.line 174
new-instance v4, Ljava/io/File;
invoke-virtual {v0}, Ljava/util/zip/ZipEntry;->getName()Ljava/lang/String;
move-result-object v5
invoke-direct {v4, p1, v5}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 175
if-eqz p2, :cond_3e
invoke-interface {p2, v4}, Ljava/io/FileFilter;->accept(Ljava/io/File;)Z
move-result v5
if-eqz v5, :cond_21
.line 178
:cond_3e
invoke-virtual {v0}, Ljava/util/zip/ZipEntry;->isDirectory()Z
move-result v5
if-eqz v5, :cond_5a
.line 179
invoke-virtual {v4}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_21
.line 180
invoke-virtual {v4}, Ljava/io/File;->mkdirs()Z
:try_end_4d
.catch Ljava/util/zip/ZipException; {:try_start_1d .. :try_end_4d} :catch_4e
.catch Ljava/io/IOException; {:try_start_1d .. :try_end_4d} :catch_62
.catchall {:try_start_1d .. :try_end_4d} :catchall_92
goto :goto_21
.line 187
:catch_4e
move-exception v0
.line 188
:goto_4f
:try_start_4f
invoke-virtual {v0}, Ljava/util/zip/ZipException;->printStackTrace()V
:try_end_52
.catchall {:try_start_4f .. :try_end_52} :catchall_92
.line 192
if-eqz v2, :cond_9a
.line 194
:try_start_54
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_57
.catch Ljava/io/IOException; {:try_start_54 .. :try_end_57} :catch_79
move v0, v1
:cond_58
:goto_58
move v1, v0
.line 200
goto :goto_8
.line 183
:cond_5a
:try_start_5a
invoke-virtual {v2, v0}, Ljava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
move-result-object v0
invoke-static {v0, v4}, Ldxoptimizer/cfl;->a(Ljava/io/InputStream;Ljava/io/File;)V
:try_end_61
.catch Ljava/util/zip/ZipException; {:try_start_5a .. :try_end_61} :catch_4e
.catch Ljava/io/IOException; {:try_start_5a .. :try_end_61} :catch_62
.catchall {:try_start_5a .. :try_end_61} :catchall_92
goto :goto_21
.line 189
:catch_62
move-exception v0
.line 190
:goto_63
:try_start_63
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_66
.catchall {:try_start_63 .. :try_end_66} :catchall_92
.line 192
if-eqz v2, :cond_9a
.line 194
:try_start_68
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_6b
.catch Ljava/io/IOException; {:try_start_68 .. :try_end_6b} :catch_7f
move v0, v1
.line 197
goto :goto_58
.line 186
:cond_6d
const/4 v0, 0x1
.line 192
if-eqz v2, :cond_58
.line 194
:try_start_70
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_73
.catch Ljava/io/IOException; {:try_start_70 .. :try_end_73} :catch_74
goto :goto_58
.line 195
:catch_74
move-exception v1
.line 196
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_58
.line 195
:catch_79
move-exception v0
.line 196
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
move v0, v1
.line 197
goto :goto_58
.line 195
:catch_7f
move-exception v0
.line 196
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
move v0, v1
.line 197
goto :goto_58
.line 192
:catchall_85
move-exception v0
move-object v2, v3
:goto_87
if-eqz v2, :cond_8c
.line 194
:try_start_89
invoke-virtual {v2}, Ljava/util/zip/ZipFile;->close()V
:try_end_8c
.catch Ljava/io/IOException; {:try_start_89 .. :try_end_8c} :catch_8d
.line 197
:cond_8c
:goto_8c
throw v0
.line 195
:catch_8d
move-exception v1
.line 196
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
goto :goto_8c
.line 192
:catchall_92
move-exception v0
goto :goto_87
.line 189
:catch_94
move-exception v0
move-object v2, v3
goto :goto_63
.line 187
:catch_97
move-exception v0
move-object v2, v3
goto :goto_4f
:cond_9a
move v0, v1
goto :goto_58
.end method
.method public static a(Ljava/io/InputStream;Ljava/lang/String;)Z
.registers 9
.prologue
const/4 v1, 0x0
.line 49
const/4 v0, 0x1
.line 50
const/4 v2, 0x0
.line 52
:try_start_3
new-instance v3, Ljava/io/File;
invoke-direct {v3, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 53
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result v4
if-nez v4, :cond_11
.line 54
invoke-virtual {v3}, Ljava/io/File;->mkdirs()Z
.line 57
:cond_11
new-instance v3, Ljava/util/zip/ZipInputStream;
invoke-direct {v3, p0}, Ljava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_16
.catch Ljava/io/FileNotFoundException; {:try_start_3 .. :try_end_16} :catch_bf
.catch Ljava/io/IOException; {:try_start_3 .. :try_end_16} :catch_bc
.catchall {:try_start_3 .. :try_end_16} :catchall_ae
.line 58
:try_start_16
invoke-virtual {v3}, Ljava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;
move-result-object v2
.line 60
:goto_1a
if-eqz v2, :cond_a7
.line 61
invoke-virtual {v2}, Ljava/util/zip/ZipEntry;->isDirectory()Z
move-result v4
if-eqz v4, :cond_55
.line 62
invoke-virtual {v2}, Ljava/util/zip/ZipEntry;->getName()Ljava/lang/String;
move-result-object v2
.line 63
const/4 v4, 0x0
invoke-virtual {v2}, Ljava/lang/String;->length()I
move-result v5
add-int/lit8 v5, v5, -0x1
invoke-virtual {v2, v4, v5}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
.line 64
new-instance v4, Ljava/io/File;
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
sget-object v6, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v4, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 65
invoke-virtual {v4}, Ljava/io/File;->mkdir()Z
.line 77
:goto_50
invoke-virtual {v3}, Ljava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;
move-result-object v2
goto :goto_1a
.line 67
:cond_55
new-instance v4, Ljava/io/File;
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
sget-object v6, Ljava/io/File;->separator:Ljava/lang/String;
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v2}, Ljava/util/zip/ZipEntry;->getName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v4, v2}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 68
new-instance v2, Ljava/io/FileOutputStream;
invoke-direct {v2, v4}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
.line 69
const/16 v4, 0x1000
new-array v4, v4, [B
.line 71
:goto_7e
invoke-virtual {v3, v4}, Ljava/util/zip/ZipInputStream;->read([B)I
move-result v5
const/4 v6, -0x1
if-eq v5, v6, :cond_97
.line 72
const/4 v6, 0x0
invoke-virtual {v2, v4, v6, v5}, Ljava/io/FileOutputStream;->write([BII)V
:try_end_89
.catch Ljava/io/FileNotFoundException; {:try_start_16 .. :try_end_89} :catch_8a
.catch Ljava/io/IOException; {:try_start_16 .. :try_end_89} :catch_9b
.catchall {:try_start_16 .. :try_end_89} :catchall_b7
goto :goto_7e
.line 79
:catch_8a
move-exception v0
move-object v2, v3
.line 81
:goto_8c
:try_start_8c
invoke-virtual {v0}, Ljava/io/FileNotFoundException;->printStackTrace()V
:try_end_8f
.catchall {:try_start_8c .. :try_end_8f} :catchall_b9
.line 86
invoke-static {v2}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 87
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
move v0, v1
.line 90
:goto_96
return v0
.line 74
:cond_97
:try_start_97
invoke-virtual {v2}, Ljava/io/FileOutputStream;->close()V
:try_end_9a
.catch Ljava/io/FileNotFoundException; {:try_start_97 .. :try_end_9a} :catch_8a
.catch Ljava/io/IOException; {:try_start_97 .. :try_end_9a} :catch_9b
.catchall {:try_start_97 .. :try_end_9a} :catchall_b7
goto :goto_50
.line 82
:catch_9b
move-exception v0
.line 84
:goto_9c
:try_start_9c
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_9f
.catchall {:try_start_9c .. :try_end_9f} :catchall_b7
.line 86
invoke-static {v3}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 87
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
move v0, v1
.line 88
goto :goto_96
.line 86
:cond_a7
invoke-static {v3}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 87
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
goto :goto_96
.line 86
:catchall_ae
move-exception v0
move-object v3, v2
:goto_b0
invoke-static {v3}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
.line 87
invoke-static {p0}, Ldxoptimizer/cdp;->a(Ljava/io/Closeable;)V
throw v0
.line 86
:catchall_b7
move-exception v0
goto :goto_b0
:catchall_b9
move-exception v0
move-object v3, v2
goto :goto_b0
.line 82
:catch_bc
move-exception v0
move-object v3, v2
goto :goto_9c
.line 79
:catch_bf
move-exception v0
goto :goto_8c
.end method
.method public static a(Ljava/lang/String;)Z
.registers 2
.prologue
.line 20
:try_start_0
new-instance v0, Ljava/util/zip/ZipFile;
invoke-direct {v0, p0}, Ljava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V
.line 21
invoke-virtual {v0}, Ljava/util/zip/ZipFile;->close()V
:try_end_8
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_8} :catch_a
.line 22
const/4 v0, 0x1
.line 26
:goto_9
return v0
.line 23
:catch_a
move-exception v0
.line 26
const/4 v0, 0x0
goto :goto_9
.end method