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