aj.smali
.class public final Lcom/imo/android/imoim/util/aj;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.registers 1
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a(Ljava/lang/String;)Ljava/lang/String;
.registers 10
.line 58
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 59
sget-object p0, Lcom/imo/android/imoim/util/-$$Lambda$AuvQl7mzpTuCl6KGI2jmWCB7WvI;->INSTANCE:Lcom/imo/android/imoim/util/-$$Lambda$AuvQl7mzpTuCl6KGI2jmWCB7WvI;
invoke-virtual {v0, p0}, Ljava/io/File;->listFiles(Ljava/io/FileFilter;)[Ljava/io/File;
move-result-object p0
const/4 v0, 0x0
if-eqz p0, :cond_26
.line 65
array-length v1, p0
const/4 v2, 0x0
const-wide/high16 v3, -0x8000000000000000L
:goto_12
if-ge v2, v1, :cond_26
aget-object v5, p0, v2
.line 67
invoke-virtual {v5}, Ljava/io/File;->lastModified()J
move-result-wide v6
cmp-long v8, v6, v3
if-lez v8, :cond_23
.line 70
invoke-virtual {v5}, Ljava/io/File;->lastModified()J
move-result-wide v3
move-object v0, v5
:cond_23
add-int/lit8 v2, v2, 0x1
goto :goto_12
.line 74
:cond_26
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static a(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;)V
.registers 6
.line 103
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_7
return-void
:cond_7
const/4 v0, 0x0
.line 108
:try_start_8
new-instance v1, Ljava/io/BufferedInputStream;
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
invoke-direct {v1, v2}, Ljava/io/BufferedInputStream;-><init>(Ljava/io/InputStream;)V
:try_end_12
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_12} :catch_4e
.catchall {:try_start_8 .. :try_end_12} :catchall_4c
.line 109
:try_start_12
new-instance v0, Ljava/util/zip/ZipEntry;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object p0
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/util/zip/ZipEntry;-><init>(Ljava/lang/String;)V
.line 110
invoke-virtual {p1, v0}, Ljava/util/zip/ZipOutputStream;->putNextEntry(Ljava/util/zip/ZipEntry;)V
const/16 p0, 0x1000
new-array p0, p0, [B
:goto_31
const/16 p2, 0x400
const/4 v0, 0x0
.line 113
invoke-virtual {v1, p0, v0, p2}, Ljava/io/BufferedInputStream;->read([BII)I
move-result p2
const/4 v2, -0x1
if-eq p2, v2, :cond_3f
.line 114
invoke-virtual {p1, p0, v0, p2}, Ljava/util/zip/ZipOutputStream;->write([BII)V
goto :goto_31
.line 116
:cond_3f
invoke-virtual {v1}, Ljava/io/BufferedInputStream;->close()V
:try_end_42
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_42} :catch_49
.catchall {:try_start_12 .. :try_end_42} :catchall_46
.line 120
invoke-static {v1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
return-void
:catchall_46
move-exception p0
move-object v0, v1
goto :goto_5b
:catch_49
move-exception p0
move-object v0, v1
goto :goto_4f
:catchall_4c
move-exception p0
goto :goto_5b
:catch_4e
move-exception p0
:goto_4f
:try_start_4f
const-string p1, "CompressUtil"
const-string p2, "comPressFileEx"
const/4 v1, 0x1
.line 2083
invoke-static {p1, p2, p0, v1}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
:try_end_57
.catchall {:try_start_4f .. :try_end_57} :catchall_4c
.line 120
invoke-static {v0}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
return-void
:goto_5b
invoke-static {v0}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_60
:goto_5f
throw p0
:goto_60
goto :goto_5f
.end method
.method private static a(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;Ljava/lang/String;)V
.registers 7
.line 48
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_a
.line 50
invoke-static/range {p0 .. p5}, Lcom/imo/android/imoim/util/aj;->b(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;Ljava/lang/String;)V
return-void
.line 53
:cond_a
invoke-static {p0, p1, p2}, Lcom/imo/android/imoim/util/aj;->a(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;)V
return-void
.end method
.method public static a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;)V
.registers 12
.line 25
new-instance v0, Ljava/io/File;
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 26
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p0
if-nez p0, :cond_c
return-void
:cond_c
const/4 p0, 0x0
.line 31
:try_start_d
new-instance v6, Ljava/io/FileOutputStream;
invoke-direct {v6, p1}, Ljava/io/FileOutputStream;-><init>(Ljava/lang/String;)V
:try_end_12
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_12} :catch_45
.catchall {:try_start_d .. :try_end_12} :catchall_40
.line 32
:try_start_12
new-instance p1, Ljava/util/zip/CheckedOutputStream;
new-instance v1, Ljava/util/zip/CRC32;
invoke-direct {v1}, Ljava/util/zip/CRC32;-><init>()V
invoke-direct {p1, v6, v1}, Ljava/util/zip/CheckedOutputStream;-><init>(Ljava/io/OutputStream;Ljava/util/zip/Checksum;)V
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_1c} :catch_3b
.catchall {:try_start_12 .. :try_end_1c} :catchall_36
.line 33
:try_start_1c
new-instance p0, Ljava/util/zip/ZipOutputStream;
invoke-direct {p0, p1}, Ljava/util/zip/ZipOutputStream;-><init>(Ljava/io/OutputStream;)V
const-string v2, ""
const/4 v5, 0x0
move-object v1, p0
move-object v3, p2
move-object v4, p3
.line 35
invoke-static/range {v0 .. v5}, Lcom/imo/android/imoim/util/aj;->a(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;Ljava/lang/String;)V
.line 36
invoke-virtual {p0}, Ljava/util/zip/ZipOutputStream;->close()V
:try_end_2d
.catch Ljava/lang/Exception; {:try_start_1c .. :try_end_2d} :catch_34
.catchall {:try_start_1c .. :try_end_2d} :catchall_52
.line 40
:goto_2d
invoke-static {v6}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 41
invoke-static {p1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
return-void
:catch_34
move-exception p0
goto :goto_49
:catchall_36
move-exception p1
move-object v7, p1
move-object p1, p0
move-object p0, v7
goto :goto_53
:catch_3b
move-exception p1
move-object v7, p1
move-object p1, p0
move-object p0, v7
goto :goto_49
:catchall_40
move-exception p1
move-object v6, p0
move-object p0, p1
move-object p1, v6
goto :goto_53
:catch_45
move-exception p1
move-object v6, p0
move-object p0, p1
move-object p1, v6
:goto_49
:try_start_49
const-string p2, "CompressUtil"
const-string p3, "IOEx:"
const/4 v0, 0x1
.line 1083
invoke-static {p2, p3, p0, v0}, Lcom/imo/android/imoim/util/bt;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;Z)V
:try_end_51
.catchall {:try_start_49 .. :try_end_51} :catchall_52
goto :goto_2d
:catchall_52
move-exception p0
.line 40
:goto_53
invoke-static {v6}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 41
invoke-static {p1}, Lsg/bigo/svcapi/util/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
goto :goto_5b
:goto_5a
throw p0
:goto_5b
goto :goto_5a
.end method
.method private static b(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;Ljava/lang/String;)V
.registers 15
.line 79
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 83
:cond_7
invoke-static {p5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f
const/4 v0, 0x0
goto :goto_13
.line 86
:cond_f
invoke-static {p5}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
.line 88
:goto_13
new-instance v1, Lcom/imo/android/imoim/util/aj$1;
invoke-direct {v1, p3, p4, v0}, Lcom/imo/android/imoim/util/aj$1;-><init>(Ljava/lang/String;Ljava/io/FileFilter;Ljava/util/regex/Pattern;)V
invoke-virtual {p0, v1}, Ljava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
move-result-object v0
.line 97
array-length v1, v0
const/4 v2, 0x0
:goto_1e
if-ge v2, v1, :cond_44
aget-object v3, v0, v2
.line 98
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v5, "/"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
move-object v4, p1
move-object v6, p3
move-object v7, p4
move-object v8, p5
invoke-static/range {v3 .. v8}, Lcom/imo/android/imoim/util/aj;->a(Ljava/io/File;Ljava/util/zip/ZipOutputStream;Ljava/lang/String;Ljava/lang/String;Ljava/io/FileFilter;Ljava/lang/String;)V
add-int/lit8 v2, v2, 0x1
goto :goto_1e
:cond_44
return-void
.end method