FileLog.smali

.class public Lcom/socks/library/klog/FileLog;
.super Ljava/lang/Object;
.source "FileLog.java"


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

    return-void
.end method

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

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

    return-void
.end method

.method private static getFileName()Ljava/lang/String;
    .registers 6

    .line 57
    new-instance v0, Ljava/util/Random;

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

    .line 58
    .local v0, "random":Ljava/util/Random;
    new-instance v1, Ljava/lang/StringBuilder;

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

    const-string v2, "KLog_"

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

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

    move-result-wide v2

    const/16 v4, 0x2710

    invoke-virtual {v0, v4}, Ljava/util/Random;->nextInt(I)I

    move-result v4

    int-to-long v4, v4

    add-long/2addr v2, v4

    invoke-static {v2, v3}, Ljava/lang/Long;->toString(J)Ljava/lang/String;

    move-result-object v2

    const/4 v3, 0x4

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

    move-result-object v2

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

    const-string v2, ".txt"

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

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

    move-result-object v1

    return-object v1
.end method

.method public static printFile(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    .registers 7
    .param p0, "tag"    # Ljava/lang/String;
    .param p1, "targetDirectory"    # Ljava/io/File;
    .param p2, "fileName"    # Ljava/lang/String;
    .param p3, "headString"    # Ljava/lang/String;
    .param p4, "msg"    # Ljava/lang/String;

    .line 21
    if-nez p2, :cond_7

    invoke-static {}, Lcom/socks/library/klog/FileLog;->getFileName()Ljava/lang/String;

    move-result-object v0

    goto :goto_8

    :cond_7
    move-object v0, p2

    :goto_8
    move-object p2, v0

    .line 22
    invoke-static {p1, p2, p4}, Lcom/socks/library/klog/FileLog;->save(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_33

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

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

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

    const-string v1, " save log success ! location is >>>"

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

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

    move-result-object v1

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

    const-string v1, "/"

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

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

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

    move-result-object v0

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

    goto :goto_48

    .line 25
    :cond_33
    new-instance v0, Ljava/lang/StringBuilder;

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

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

    const-string/jumbo v1, "save log fails !"

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

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

    move-result-object v0

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

    .line 27
    :goto_48
    return-void
.end method

.method private static save(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)Z
    .registers 8
    .param p0, "dic"    # Ljava/io/File;
    .param p1, "fileName"    # Ljava/lang/String;
    .param p2, "msg"    # Ljava/lang/String;

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

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

    .line 34
    .local v0, "file":Ljava/io/File;
    const/4 v1, 0x0

    :try_start_6
    new-instance v2, Ljava/io/FileOutputStream;

    invoke-direct {v2, v0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V

    .line 35
    .local v2, "outputStream":Ljava/io/OutputStream;
    new-instance v3, Ljava/io/OutputStreamWriter;

    const-string v4, "UTF-8"

    invoke-direct {v3, v2, v4}, Ljava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/lang/String;)V

    .line 36
    .local v3, "outputStreamWriter":Ljava/io/OutputStreamWriter;
    invoke-virtual {v3, p2}, Ljava/io/OutputStreamWriter;->write(Ljava/lang/String;)V

    .line 37
    invoke-virtual {v3}, Ljava/io/OutputStreamWriter;->flush()V

    .line 38
    invoke-virtual {v2}, Ljava/io/OutputStream;->close()V
    :try_end_1b
    .catch Ljava/io/FileNotFoundException; {:try_start_6 .. :try_end_1b} :catch_2d
    .catch Ljava/io/UnsupportedEncodingException; {:try_start_6 .. :try_end_1b} :catch_28
    .catch Ljava/io/IOException; {:try_start_6 .. :try_end_1b} :catch_23
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_1b} :catch_1e

    .line 51
    .end local v2    # "outputStream":Ljava/io/OutputStream;
    .end local v3    # "outputStreamWriter":Ljava/io/OutputStreamWriter;
    nop

    .line 53
    const/4 v1, 0x1

    return v1

    .line 48
    :catch_1e
    move-exception v2

    .line 49
    .local v2, "e":Ljava/lang/Exception;
    invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V

    .line 50
    return v1

    .line 45
    .end local v2    # "e":Ljava/lang/Exception;
    :catch_23
    move-exception v2

    .line 46
    .local v2, "e":Ljava/io/IOException;
    invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V

    .line 47
    return v1

    .line 42
    .end local v2    # "e":Ljava/io/IOException;
    :catch_28
    move-exception v2

    .line 43
    .local v2, "e":Ljava/io/UnsupportedEncodingException;
    invoke-virtual {v2}, Ljava/io/UnsupportedEncodingException;->printStackTrace()V

    .line 44
    return v1

    .line 39
    .end local v2    # "e":Ljava/io/UnsupportedEncodingException;
    :catch_2d
    move-exception v2

    .line 40
    .local v2, "e":Ljava/io/FileNotFoundException;
    invoke-virtual {v2}, Ljava/io/FileNotFoundException;->printStackTrace()V

    .line 41
    return v1
.end method