d.smali

.class public final Lcn/jiguang/s/d;
.super Ljava/lang/Object;


# direct methods
.method public static a([Ljava/lang/String;I)Ljava/util/List;
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "([",
            "Ljava/lang/String;",
            "I)",
            "Ljava/util/List",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    const/4 v1, 0x0

    if-eqz p1, :cond_1a2

    new-instance v0, Ljava/util/ArrayList;

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

    :goto_8
    :try_start_8
    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v2

    invoke-virtual {v2, p0}, Ljava/lang/Runtime;->exec([Ljava/lang/String;)Ljava/lang/Process;
    :try_end_f
    .catch Ljava/lang/Throwable; {:try_start_8 .. :try_end_f} :catch_79
    .catch Ljava/io/IOException; {:try_start_8 .. :try_end_f} :catch_18a
    .catchall {:try_start_8 .. :try_end_f} :catchall_13d

    move-result-object v3

    :goto_10
    if-eqz p1, :cond_a0

    :try_start_12
    new-instance v4, Ljava/io/InputStreamReader;

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

    move-result-object v2

    invoke-direct {v4, v2}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
    :try_end_1b
    .catch Ljava/io/IOException; {:try_start_12 .. :try_end_1b} :catch_192
    .catch Ljava/lang/Throwable; {:try_start_12 .. :try_end_1b} :catch_17a
    .catchall {:try_start_12 .. :try_end_1b} :catchall_16b

    :try_start_1b
    new-instance v2, Ljava/io/BufferedReader;

    invoke-direct {v2, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_20
    .catch Ljava/io/IOException; {:try_start_1b .. :try_end_20} :catch_19a
    .catch Ljava/lang/Throwable; {:try_start_1b .. :try_end_20} :catch_181
    .catchall {:try_start_1b .. :try_end_20} :catchall_16f

    :goto_20
    :try_start_20
    invoke-virtual {v2}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v1

    if-eqz v1, :cond_a2

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    const-string v5, "JCommonShellHelper"

    new-instance v6, Ljava/lang/StringBuilder;

    const-string v7, "line: "

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

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v5, v1}, Lcn/jiguang/ai/a;->c(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_3d
    .catch Ljava/io/IOException; {:try_start_20 .. :try_end_3d} :catch_3e
    .catch Ljava/lang/Throwable; {:try_start_20 .. :try_end_3d} :catch_187
    .catchall {:try_start_20 .. :try_end_3d} :catchall_172

    goto :goto_20

    :catch_3e
    move-exception v1

    move-object v8, v3

    move-object v3, v4

    move-object v4, v2

    move-object v2, v8

    :goto_43
    :try_start_43
    const-string v5, "JCommonShellHelper"

    new-instance v6, Ljava/lang/StringBuilder;

    const-string v7, "executeCommand "

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

    invoke-static {p0}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v7

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

    move-result-object v6

    const-string v7, " exception:"

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

    move-result-object v6

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v5, v1}, Lcn/jiguang/ai/a;->g(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_69
    .catchall {:try_start_43 .. :try_end_69} :catchall_174

    if-eqz v4, :cond_6e

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

    :cond_6e
    if-eqz v3, :cond_73

    invoke-virtual {v3}, Ljava/io/InputStreamReader;->close()V
    :try_end_73
    .catch Ljava/io/IOException; {:try_start_6b .. :try_end_73} :catch_cc

    :cond_73
    :goto_73
    if-eqz v2, :cond_78

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

    :cond_78
    :goto_78
    return-object v0

    :catch_79
    move-exception v2

    const/4 v2, 0x3

    :try_start_7b
    new-array v2, v2, [Ljava/lang/String;

    const/4 v3, 0x2

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

    const/4 v4, 0x0

    const-string v5, "/system/bin/sh"

    aput-object v5, v3, v4

    const/4 v4, 0x1

    const-string v5, "-c"

    aput-object v5, v3, v4

    const/4 v4, 0x0

    const/4 v5, 0x0

    const/4 v6, 0x2

    invoke-static {v3, v4, v2, v5, v6}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    const/4 v3, 0x0

    const/4 v4, 0x2

    const/4 v5, 0x1

    invoke-static {p0, v3, v2, v4, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V

    invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/Runtime;->exec([Ljava/lang/String;)Ljava/lang/Process;
    :try_end_9d
    .catch Ljava/io/IOException; {:try_start_7b .. :try_end_9d} :catch_18a
    .catch Ljava/lang/Throwable; {:try_start_7b .. :try_end_9d} :catch_e6
    .catchall {:try_start_7b .. :try_end_9d} :catchall_13d

    move-result-object v3

    goto/16 :goto_10

    :cond_a0
    move-object v4, v1

    move-object v2, v1

    :cond_a2
    if-eqz v2, :cond_a7

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

    :cond_a7
    if-eqz v4, :cond_ac

    invoke-virtual {v4}, Ljava/io/InputStreamReader;->close()V
    :try_end_ac
    .catch Ljava/io/IOException; {:try_start_a4 .. :try_end_ac} :catch_b2

    :cond_ac
    :goto_ac
    if-eqz v3, :cond_78

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

    goto :goto_78

    :catch_b2
    move-exception v1

    const-string v2, "JCommonShellHelper"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "executeCommand  exception:"

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

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v2, v1}, Lcn/jiguang/ai/a;->g(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_ac

    :catch_cc
    move-exception v1

    const-string v3, "JCommonShellHelper"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "executeCommand  exception:"

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

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v3, v1}, Lcn/jiguang/ai/a;->g(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_73

    :catch_e6
    move-exception v2

    move-object v3, v1

    move-object v4, v1

    move-object v8, v2

    move-object v2, v1

    move-object v1, v8

    :goto_ec
    :try_start_ec
    const-string v5, "JCommonShellHelper"

    new-instance v6, Ljava/lang/StringBuilder;

    const-string v7, "executeCommand "

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

    invoke-static {p0}, Ljava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v7

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

    move-result-object v6

    const-string v7, " throwable:"

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

    move-result-object v6

    invoke-virtual {v1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v5, v1}, Lcn/jiguang/ai/a;->g(Ljava/lang/String;Ljava/lang/String;)V
    :try_end_112
    .catchall {:try_start_ec .. :try_end_112} :catchall_172

    if-eqz v2, :cond_117

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

    :cond_117
    if-eqz v4, :cond_11c

    invoke-virtual {v4}, Ljava/io/InputStreamReader;->close()V
    :try_end_11c
    .catch Ljava/io/IOException; {:try_start_114 .. :try_end_11c} :catch_123

    :cond_11c
    :goto_11c
    if-eqz v3, :cond_78

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

    goto/16 :goto_78

    :catch_123
    move-exception v1

    const-string v2, "JCommonShellHelper"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "executeCommand  exception:"

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

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v2, v1}, Lcn/jiguang/ai/a;->g(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_11c

    :catchall_13d
    move-exception v0

    move-object v3, v1

    move-object v4, v1

    move-object v2, v1

    :goto_141
    if-eqz v2, :cond_146

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

    :cond_146
    if-eqz v4, :cond_14b

    invoke-virtual {v4}, Ljava/io/InputStreamReader;->close()V
    :try_end_14b
    .catch Ljava/io/IOException; {:try_start_143 .. :try_end_14b} :catch_151

    :cond_14b
    :goto_14b
    if-eqz v3, :cond_150

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

    :cond_150
    throw v0

    :catch_151
    move-exception v1

    const-string v2, "JCommonShellHelper"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v5, "executeCommand  exception:"

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

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

    move-result-object v1

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

    move-result-object v1

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

    move-result-object v1

    invoke-static {v2, v1}, Lcn/jiguang/ai/a;->g(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_14b

    :catchall_16b
    move-exception v0

    move-object v4, v1

    move-object v2, v1

    goto :goto_141

    :catchall_16f
    move-exception v0

    move-object v2, v1

    goto :goto_141

    :catchall_172
    move-exception v0

    goto :goto_141

    :catchall_174
    move-exception v0

    move-object v8, v2

    move-object v2, v4

    move-object v4, v3

    move-object v3, v8

    goto :goto_141

    :catch_17a
    move-exception v2

    move-object v4, v1

    move-object v8, v2

    move-object v2, v1

    move-object v1, v8

    goto/16 :goto_ec

    :catch_181
    move-exception v2

    move-object v8, v2

    move-object v2, v1

    move-object v1, v8

    goto/16 :goto_ec

    :catch_187
    move-exception v1

    goto/16 :goto_ec

    :catch_18a
    move-exception v2

    move-object v3, v1

    move-object v4, v1

    move-object v8, v2

    move-object v2, v1

    move-object v1, v8

    goto/16 :goto_43

    :catch_192
    move-exception v2

    move-object v4, v1

    move-object v8, v3

    move-object v3, v1

    move-object v1, v2

    move-object v2, v8

    goto/16 :goto_43

    :catch_19a
    move-exception v2

    move-object v8, v2

    move-object v2, v3

    move-object v3, v4

    move-object v4, v1

    move-object v1, v8

    goto/16 :goto_43

    :cond_1a2
    move-object v0, v1

    goto/16 :goto_8
.end method