f.smali

.class public Lcom/cleanmaster/c/f;
.super Ljava/lang/Object;
.source "CommandExecution.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/c/f$a;
    }
.end annotation


# direct methods
.method public static a(Ljava/lang/String;Z)Lcom/cleanmaster/c/f$a;
    .registers 4

    .prologue
    .line 39
    const/4 v0, 0x1

    new-array v0, v0, [Ljava/lang/String;

    const/4 v1, 0x0

    aput-object p0, v0, v1

    .line 40
    invoke-static {v0, p1}, Lcom/cleanmaster/c/f;->a([Ljava/lang/String;Z)Lcom/cleanmaster/c/f$a;

    move-result-object v0

    return-object v0
.end method

.method public static a([Ljava/lang/String;Z)Lcom/cleanmaster/c/f$a;
    .registers 12

    .prologue
    const/4 v2, 0x0

    .line 50
    new-instance v0, Lcom/cleanmaster/c/f$a;

    invoke-direct {v0}, Lcom/cleanmaster/c/f$a;-><init>()V

    .line 51
    if-eqz p0, :cond_b

    array-length v1, p0

    if-nez v1, :cond_c

    .line 112
    :cond_b
    :goto_b
    return-object v0

    .line 59
    :cond_c
    :try_start_c
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v3

    if-eqz p1, :cond_3b

    const-string v1, "su"

    :goto_14
    invoke-virtual {v3, v1}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
    :try_end_17
    .catch Ljava/io/IOException; {:try_start_c .. :try_end_17} :catch_1ab
    .catch Ljava/lang/Exception; {:try_start_c .. :try_end_17} :catch_199
    .catchall {:try_start_c .. :try_end_17} :catchall_18a

    move-result-object v6

    .line 60
    :try_start_18
    new-instance v5, Ljava/io/DataOutputStream;

    invoke-virtual {v6}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;

    move-result-object v1

    invoke-direct {v5, v1}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
    :try_end_21
    .catch Ljava/io/IOException; {:try_start_18 .. :try_end_21} :catch_1b1
    .catch Ljava/lang/Exception; {:try_start_18 .. :try_end_21} :catch_19f
    .catchall {:try_start_18 .. :try_end_21} :catchall_18f

    .line 61
    :try_start_21
    array-length v3, p0

    const/4 v1, 0x0

    :goto_23
    if-ge v1, v3, :cond_3e

    aget-object v4, p0, v1

    .line 62
    if-eqz v4, :cond_38

    .line 63
    invoke-virtual {v4}, Ljava/lang/String;->getBytes()[B

    move-result-object v4

    invoke-virtual {v5, v4}, Ljava/io/DataOutputStream;->write([B)V

    .line 64
    const-string v4, "\n"

    invoke-virtual {v5, v4}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

    .line 65
    invoke-virtual {v5}, Ljava/io/DataOutputStream;->flush()V
    :try_end_38
    .catch Ljava/io/IOException; {:try_start_21 .. :try_end_38} :catch_1b7
    .catch Ljava/lang/Exception; {:try_start_21 .. :try_end_38} :catch_1a4
    .catchall {:try_start_21 .. :try_end_38} :catchall_193

    .line 61
    :cond_38
    add-int/lit8 v1, v1, 0x1

    goto :goto_23

    .line 59
    :cond_3b
    :try_start_3b
    const-string v1, "sh"
    :try_end_3d
    .catch Ljava/io/IOException; {:try_start_3b .. :try_end_3d} :catch_1ab
    .catch Ljava/lang/Exception; {:try_start_3b .. :try_end_3d} :catch_199
    .catchall {:try_start_3b .. :try_end_3d} :catchall_18a

    goto :goto_14

    .line 68
    :cond_3e
    :try_start_3e
    const-string v1, "exit\n"

    invoke-virtual {v5, v1}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V

    .line 69
    invoke-virtual {v5}, Ljava/io/DataOutputStream;->flush()V

    .line 70
    invoke-virtual {v6}, Ljava/lang/Process;->waitFor()I

    move-result v1

    iput v1, v0, Lcom/cleanmaster/c/f$a;->a:I

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

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

    .line 73
    new-instance v7, Ljava/lang/StringBuilder;

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

    .line 74
    new-instance v4, Ljava/io/BufferedReader;

    new-instance v3, Ljava/io/InputStreamReader;

    invoke-virtual {v6}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;

    move-result-object v8

    invoke-direct {v3, v8}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    invoke-direct {v4, v3}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_64
    .catch Ljava/io/IOException; {:try_start_3e .. :try_end_64} :catch_1b7
    .catch Ljava/lang/Exception; {:try_start_3e .. :try_end_64} :catch_1a4
    .catchall {:try_start_3e .. :try_end_64} :catchall_193

    .line 75
    :try_start_64
    new-instance v3, Ljava/io/BufferedReader;

    new-instance v8, Ljava/io/InputStreamReader;

    invoke-virtual {v6}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream;

    move-result-object v9

    invoke-direct {v8, v9}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V

    invoke-direct {v3, v8}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_72
    .catch Ljava/io/IOException; {:try_start_64 .. :try_end_72} :catch_1bd
    .catch Ljava/lang/Exception; {:try_start_64 .. :try_end_72} :catch_1a8
    .catchall {:try_start_64 .. :try_end_72} :catchall_164

    .line 77
    :goto_72
    :try_start_72
    invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_a2

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    :try_end_7b
    .catch Ljava/io/IOException; {:try_start_72 .. :try_end_7b} :catch_7c
    .catch Ljava/lang/Exception; {:try_start_72 .. :try_end_7b} :catch_ac
    .catchall {:try_start_72 .. :try_end_7b} :catchall_196

    goto :goto_72

    .line 83
    :catch_7c
    move-exception v1

    move-object v2, v3

    move-object v3, v4

    move-object v4, v5

    move-object v5, v6

    .line 84
    :goto_81
    :try_start_81
    invoke-virtual {v1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v6

    .line 85
    if-eqz v6, :cond_12e

    .line 86
    const-string v1, "CommandExecution"

    invoke-static {v1, v6}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_8c
    .catchall {:try_start_81 .. :try_end_8c} :catchall_133

    .line 99
    :goto_8c
    if-eqz v4, :cond_91

    :try_start_8e
    invoke-virtual {v4}, Ljava/io/DataOutputStream;->close()V

    .line 100
    :cond_91
    if-eqz v3, :cond_96

    invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V

    .line 101
    :cond_96
    if-eqz v2, :cond_9b

    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_9b
    .catch Ljava/io/IOException; {:try_start_8e .. :try_end_9b} :catch_14c

    .line 110
    :cond_9b
    :goto_9b
    if-eqz v5, :cond_b

    invoke-virtual {v5}, Ljava/lang/Process;->destroy()V

    goto/16 :goto_b

    .line 78
    :cond_a2
    :goto_a2
    :try_start_a2
    invoke-virtual {v3}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v2

    if-eqz v2, :cond_cf

    invoke-virtual {v7, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    :try_end_ab
    .catch Ljava/io/IOException; {:try_start_a2 .. :try_end_ab} :catch_7c
    .catch Ljava/lang/Exception; {:try_start_a2 .. :try_end_ab} :catch_ac
    .catchall {:try_start_a2 .. :try_end_ab} :catchall_196

    goto :goto_a2

    .line 90
    :catch_ac
    move-exception v1

    move-object v2, v3

    .line 91
    :goto_ae
    :try_start_ae
    invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v3

    .line 92
    if-eqz v3, :cond_15f

    .line 93
    const-string v1, "CommandExecution"

    invoke-static {v1, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_b9
    .catchall {:try_start_ae .. :try_end_b9} :catchall_164

    .line 99
    :goto_b9
    if-eqz v5, :cond_be

    :try_start_bb
    invoke-virtual {v5}, Ljava/io/DataOutputStream;->close()V

    .line 100
    :cond_be
    if-eqz v4, :cond_c3

    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V

    .line 101
    :cond_c3
    if-eqz v2, :cond_c8

    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_c8
    .catch Ljava/io/IOException; {:try_start_bb .. :try_end_c8} :catch_166

    .line 110
    :cond_c8
    :goto_c8
    if-eqz v6, :cond_b

    invoke-virtual {v6}, Ljava/lang/Process;->destroy()V

    goto/16 :goto_b

    .line 79
    :cond_cf
    :try_start_cf
    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    iput-object v1, v0, Lcom/cleanmaster/c/f$a;->c:Ljava/lang/String;

    .line 80
    invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    iput-object v1, v0, Lcom/cleanmaster/c/f$a;->b:Ljava/lang/String;

    .line 81
    const-string v1, "CommandExecution"

    new-instance v2, Ljava/lang/StringBuilder;

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

    iget v7, v0, Lcom/cleanmaster/c/f$a;->a:I

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

    move-result-object v2

    const-string v7, " | "

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

    move-result-object v2

    iget-object v7, v0, Lcom/cleanmaster/c/f$a;->c:Ljava/lang/String;

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

    move-result-object v2

    const-string v7, " | "

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

    move-result-object v2

    iget-object v7, v0, Lcom/cleanmaster/c/f$a;->b:Ljava/lang/String;

    invoke-virtual {v2, v7}, 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-static {v1, v2}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_107
    .catch Ljava/io/IOException; {:try_start_cf .. :try_end_107} :catch_7c
    .catch Ljava/lang/Exception; {:try_start_cf .. :try_end_107} :catch_ac
    .catchall {:try_start_cf .. :try_end_107} :catchall_196

    .line 99
    if-eqz v5, :cond_10c

    :try_start_109
    invoke-virtual {v5}, Ljava/io/DataOutputStream;->close()V

    .line 100
    :cond_10c
    if-eqz v4, :cond_111

    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V

    .line 101
    :cond_111
    if-eqz v3, :cond_116

    invoke-virtual {v3}, Ljava/io/BufferedReader;->close()V
    :try_end_116
    .catch Ljava/io/IOException; {:try_start_109 .. :try_end_116} :catch_11d

    .line 110
    :cond_116
    :goto_116
    if-eqz v6, :cond_b

    invoke-virtual {v6}, Ljava/lang/Process;->destroy()V

    goto/16 :goto_b

    .line 102
    :catch_11d
    move-exception v1

    .line 103
    invoke-virtual {v1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v2

    .line 104
    if-eqz v2, :cond_12a

    .line 105
    const-string v1, "CommandExecution"

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

    goto :goto_116

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

    goto :goto_116

    .line 88
    :cond_12e
    :try_start_12e
    invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
    :try_end_131
    .catchall {:try_start_12e .. :try_end_131} :catchall_133

    goto/16 :goto_8c

    .line 98
    :catchall_133
    move-exception v0

    move-object v6, v5

    move-object v5, v4

    move-object v4, v3

    .line 99
    :goto_137
    if-eqz v5, :cond_13c

    :try_start_139
    invoke-virtual {v5}, Ljava/io/DataOutputStream;->close()V

    .line 100
    :cond_13c
    if-eqz v4, :cond_141

    invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V

    .line 101
    :cond_141
    if-eqz v2, :cond_146

    invoke-virtual {v2}, Ljava/io/BufferedReader;->close()V
    :try_end_146
    .catch Ljava/io/IOException; {:try_start_139 .. :try_end_146} :catch_179

    .line 110
    :cond_146
    :goto_146
    if-eqz v6, :cond_14b

    invoke-virtual {v6}, Ljava/lang/Process;->destroy()V

    :cond_14b
    throw v0

    .line 102
    :catch_14c
    move-exception v1

    .line 103
    invoke-virtual {v1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v2

    .line 104
    if-eqz v2, :cond_15a

    .line 105
    const-string v1, "CommandExecution"

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

    goto/16 :goto_9b

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

    goto/16 :goto_9b

    .line 95
    :cond_15f
    :try_start_15f
    invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
    :try_end_162
    .catchall {:try_start_15f .. :try_end_162} :catchall_164

    goto/16 :goto_b9

    .line 98
    :catchall_164
    move-exception v0

    goto :goto_137

    .line 102
    :catch_166
    move-exception v1

    .line 103
    invoke-virtual {v1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v2

    .line 104
    if-eqz v2, :cond_174

    .line 105
    const-string v1, "CommandExecution"

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

    goto/16 :goto_c8

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

    goto/16 :goto_c8

    .line 102
    :catch_179
    move-exception v1

    .line 103
    invoke-virtual {v1}, Ljava/io/IOException;->getMessage()Ljava/lang/String;

    move-result-object v2

    .line 104
    if-eqz v2, :cond_186

    .line 105
    const-string v1, "CommandExecution"

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

    goto :goto_146

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

    goto :goto_146

    .line 98
    :catchall_18a
    move-exception v0

    move-object v4, v2

    move-object v5, v2

    move-object v6, v2

    goto :goto_137

    :catchall_18f
    move-exception v0

    move-object v4, v2

    move-object v5, v2

    goto :goto_137

    :catchall_193
    move-exception v0

    move-object v4, v2

    goto :goto_137

    :catchall_196
    move-exception v0

    move-object v2, v3

    goto :goto_137

    .line 90
    :catch_199
    move-exception v1

    move-object v4, v2

    move-object v5, v2

    move-object v6, v2

    goto/16 :goto_ae

    :catch_19f
    move-exception v1

    move-object v4, v2

    move-object v5, v2

    goto/16 :goto_ae

    :catch_1a4
    move-exception v1

    move-object v4, v2

    goto/16 :goto_ae

    :catch_1a8
    move-exception v1

    goto/16 :goto_ae

    .line 83
    :catch_1ab
    move-exception v1

    move-object v3, v2

    move-object v4, v2

    move-object v5, v2

    goto/16 :goto_81

    :catch_1b1
    move-exception v1

    move-object v3, v2

    move-object v4, v2

    move-object v5, v6

    goto/16 :goto_81

    :catch_1b7
    move-exception v1

    move-object v3, v2

    move-object v4, v5

    move-object v5, v6

    goto/16 :goto_81

    :catch_1bd
    move-exception v1

    move-object v3, v4

    move-object v4, v5

    move-object v5, v6

    goto/16 :goto_81
.end method