g.smali

.class public Lcom/umeng/commonsdk/internal/utils/g;
.super Ljava/lang/Object;
.source "ProcessUtil.java"


# static fields
.field private static final a:Ljava/lang/String;

.field private static final b:[B

.field private static c:[B


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

    .prologue
    .line 24
    const-string v0, "\n"

    sput-object v0, Lcom/umeng/commonsdk/internal/utils/g;->a:Ljava/lang/String;

    .line 25
    const-string v0, "\nexit\n"

    invoke-virtual {v0}, Ljava/lang/String;->getBytes()[B

    move-result-object v0

    sput-object v0, Lcom/umeng/commonsdk/internal/utils/g;->b:[B

    .line 26
    const/16 v0, 0x20

    new-array v0, v0, [B

    sput-object v0, Lcom/umeng/commonsdk/internal/utils/g;->c:[B

    .line 27
    return-void
.end method

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

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

    return-void
.end method

.method public static varargs a([Ljava/lang/String;)Ljava/lang/String;
    .registers 11

    .prologue
    const/4 v0, 0x0

    .line 37
    .line 48
    :try_start_1
    new-instance v1, Ljava/lang/ProcessBuilder;

    const/4 v2, 0x0

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

    invoke-direct {v1, v2}, Ljava/lang/ProcessBuilder;-><init>([Ljava/lang/String;)V

    .line 49
    invoke-virtual {v1, p0}, Ljava/lang/ProcessBuilder;->command([Ljava/lang/String;)Ljava/lang/ProcessBuilder;

    move-result-object v1

    .line 50
    invoke-virtual {v1}, Ljava/lang/ProcessBuilder;->start()Ljava/lang/Process;
    :try_end_10
    .catch Ljava/io/IOException; {:try_start_1 .. :try_end_10} :catch_e1
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_10} :catch_71
    .catchall {:try_start_1 .. :try_end_10} :catchall_82

    move-result-object v7

    .line 51
    :try_start_11
    invoke-virtual {v7}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;
    :try_end_14
    .catch Ljava/io/IOException; {:try_start_11 .. :try_end_14} :catch_eb
    .catch Ljava/lang/Exception; {:try_start_11 .. :try_end_14} :catch_be
    .catchall {:try_start_11 .. :try_end_14} :catchall_99

    move-result-object v1

    .line 52
    :try_start_15
    invoke-virtual {v7}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;
    :try_end_18
    .catch Ljava/io/IOException; {:try_start_15 .. :try_end_18} :catch_f4
    .catch Ljava/lang/Exception; {:try_start_15 .. :try_end_18} :catch_c6
    .catchall {:try_start_15 .. :try_end_18} :catchall_a2

    move-result-object v3

    .line 53
    :try_start_19
    invoke-virtual {v7}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream;
    :try_end_1c
    .catch Ljava/io/IOException; {:try_start_19 .. :try_end_1c} :catch_fc
    .catch Ljava/lang/Exception; {:try_start_19 .. :try_end_1c} :catch_cd
    .catchall {:try_start_19 .. :try_end_1c} :catchall_aa

    move-result-object v2

    .line 55
    :try_start_1d
    sget-object v4, Lcom/umeng/commonsdk/internal/utils/g;->b:[B

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

    .line 56
    invoke-virtual {v1}, Ljava/io/OutputStream;->flush()V

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

    .line 60
    new-instance v4, Ljava/io/InputStreamReader;

    invoke-direct {v4, v3}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
    :try_end_2d
    .catch Ljava/io/IOException; {:try_start_1d .. :try_end_2d} :catch_103
    .catch Ljava/lang/Exception; {:try_start_1d .. :try_end_2d} :catch_d3
    .catchall {:try_start_1d .. :try_end_2d} :catchall_b1

    .line 61
    :try_start_2d
    new-instance v5, Ljava/io/BufferedReader;

    invoke-direct {v5, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
    :try_end_32
    .catch Ljava/io/IOException; {:try_start_2d .. :try_end_32} :catch_109
    .catch Ljava/lang/Exception; {:try_start_2d .. :try_end_32} :catch_d8
    .catchall {:try_start_2d .. :try_end_32} :catchall_b7

    .line 64
    :try_start_32
    invoke-virtual {v5}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v8

    if-eqz v8, :cond_112

    .line 65
    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V
    :try_end_3d
    .catch Ljava/io/IOException; {:try_start_32 .. :try_end_3d} :catch_10e
    .catch Ljava/lang/Exception; {:try_start_32 .. :try_end_3d} :catch_dc
    .catchall {:try_start_32 .. :try_end_3d} :catchall_bc

    .line 66
    :try_start_3d
    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 67
    sget-object v8, Lcom/umeng/commonsdk/internal/utils/g;->a:Ljava/lang/String;

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

    .line 68
    :goto_45
    invoke-virtual {v5}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;

    move-result-object v8

    if-eqz v8, :cond_60

    .line 69
    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    .line 70
    sget-object v8, Lcom/umeng/commonsdk/internal/utils/g;->a:Ljava/lang/String;

    invoke-virtual {v6, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
    :try_end_53
    .catch Ljava/io/IOException; {:try_start_3d .. :try_end_53} :catch_54
    .catch Ljava/lang/Exception; {:try_start_3d .. :try_end_53} :catch_df
    .catchall {:try_start_3d .. :try_end_53} :catchall_bc

    goto :goto_45

    .line 76
    :catch_54
    move-exception v8

    .line 81
    :goto_55
    invoke-static {v1, v2, v3, v4, v5}, Lcom/umeng/commonsdk/internal/utils/g;->a(Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/io/InputStream;Ljava/io/InputStreamReader;Ljava/io/BufferedReader;)V

    .line 83
    if-eqz v7, :cond_5d

    .line 84
    invoke-static {v7}, Lcom/umeng/commonsdk/internal/utils/g;->c(Ljava/lang/Process;)V

    .line 89
    :cond_5d
    :goto_5d
    if-nez v6, :cond_94

    :goto_5f
    return-object v0

    .line 74
    :cond_60
    :goto_60
    :try_start_60
    sget-object v8, Lcom/umeng/commonsdk/internal/utils/g;->c:[B

    invoke-virtual {v2, v8}, Ljava/io/InputStream;->read([B)I
    :try_end_65
    .catch Ljava/io/IOException; {:try_start_60 .. :try_end_65} :catch_54
    .catch Ljava/lang/Exception; {:try_start_60 .. :try_end_65} :catch_df
    .catchall {:try_start_60 .. :try_end_65} :catchall_bc

    move-result v8

    if-gtz v8, :cond_60

    .line 81
    invoke-static {v1, v2, v3, v4, v5}, Lcom/umeng/commonsdk/internal/utils/g;->a(Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/io/InputStream;Ljava/io/InputStreamReader;Ljava/io/BufferedReader;)V

    .line 83
    if-eqz v7, :cond_5d

    .line 84
    invoke-static {v7}, Lcom/umeng/commonsdk/internal/utils/g;->c(Ljava/lang/Process;)V

    goto :goto_5d

    .line 78
    :catch_71
    move-exception v1

    move-object v1, v0

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    move-object v7, v0

    .line 81
    :goto_79
    invoke-static {v1, v2, v3, v4, v5}, Lcom/umeng/commonsdk/internal/utils/g;->a(Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/io/InputStream;Ljava/io/InputStreamReader;Ljava/io/BufferedReader;)V

    .line 83
    if-eqz v7, :cond_5d

    .line 84
    invoke-static {v7}, Lcom/umeng/commonsdk/internal/utils/g;->c(Ljava/lang/Process;)V

    goto :goto_5d

    .line 81
    :catchall_82
    move-exception v1

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v7, v0

    move-object v9, v0

    move-object v0, v1

    move-object v1, v9

    :goto_8b
    invoke-static {v1, v2, v3, v4, v5}, Lcom/umeng/commonsdk/internal/utils/g;->a(Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/io/InputStream;Ljava/io/InputStreamReader;Ljava/io/BufferedReader;)V

    .line 83
    if-eqz v7, :cond_93

    .line 84
    invoke-static {v7}, Lcom/umeng/commonsdk/internal/utils/g;->c(Ljava/lang/Process;)V

    .line 85
    :cond_93
    throw v0

    .line 89
    :cond_94
    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    goto :goto_5f

    .line 81
    :catchall_99
    move-exception v1

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v9, v1

    move-object v1, v0

    move-object v0, v9

    goto :goto_8b

    :catchall_a2
    move-exception v2

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v9, v0

    move-object v0, v2

    move-object v2, v9

    goto :goto_8b

    :catchall_aa
    move-exception v2

    move-object v4, v0

    move-object v5, v0

    move-object v9, v2

    move-object v2, v0

    move-object v0, v9

    goto :goto_8b

    :catchall_b1
    move-exception v4

    move-object v5, v0

    move-object v9, v0

    move-object v0, v4

    move-object v4, v9

    goto :goto_8b

    :catchall_b7
    move-exception v5

    move-object v9, v5

    move-object v5, v0

    move-object v0, v9

    goto :goto_8b

    :catchall_bc
    move-exception v0

    goto :goto_8b

    .line 78
    :catch_be
    move-exception v1

    move-object v1, v0

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto :goto_79

    :catch_c6
    move-exception v2

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto :goto_79

    :catch_cd
    move-exception v2

    move-object v2, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto :goto_79

    :catch_d3
    move-exception v4

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto :goto_79

    :catch_d8
    move-exception v5

    move-object v5, v0

    move-object v6, v0

    goto :goto_79

    :catch_dc
    move-exception v6

    move-object v6, v0

    goto :goto_79

    :catch_df
    move-exception v8

    goto :goto_79

    .line 76
    :catch_e1
    move-exception v1

    move-object v1, v0

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    move-object v7, v0

    goto/16 :goto_55

    :catch_eb
    move-exception v1

    move-object v1, v0

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto/16 :goto_55

    :catch_f4
    move-exception v2

    move-object v2, v0

    move-object v3, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto/16 :goto_55

    :catch_fc
    move-exception v2

    move-object v2, v0

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto/16 :goto_55

    :catch_103
    move-exception v4

    move-object v4, v0

    move-object v5, v0

    move-object v6, v0

    goto/16 :goto_55

    :catch_109
    move-exception v5

    move-object v5, v0

    move-object v6, v0

    goto/16 :goto_55

    :catch_10e
    move-exception v6

    move-object v6, v0

    goto/16 :goto_55

    :cond_112
    move-object v6, v0

    goto/16 :goto_60
.end method

.method private static a(Ljava/io/OutputStream;Ljava/io/InputStream;Ljava/io/InputStream;Ljava/io/InputStreamReader;Ljava/io/BufferedReader;)V
    .registers 6

    .prologue
    .line 103
    if-eqz p0, :cond_5

    .line 105
    :try_start_2
    invoke-virtual {p0}, Ljava/io/OutputStream;->close()V
    :try_end_5
    .catch Ljava/io/IOException; {:try_start_2 .. :try_end_5} :catch_1a

    .line 110
    :cond_5
    :goto_5
    if-eqz p1, :cond_a

    .line 112
    :try_start_7
    invoke-virtual {p1}, Ljava/io/InputStream;->close()V
    :try_end_a
    .catch Ljava/io/IOException; {:try_start_7 .. :try_end_a} :catch_1c

    .line 117
    :cond_a
    :goto_a
    if-eqz p2, :cond_f

    .line 119
    :try_start_c
    invoke-virtual {p2}, Ljava/io/InputStream;->close()V
    :try_end_f
    .catch Ljava/io/IOException; {:try_start_c .. :try_end_f} :catch_1e

    .line 124
    :cond_f
    :goto_f
    if-eqz p3, :cond_14

    .line 126
    :try_start_11
    invoke-virtual {p3}, Ljava/io/InputStreamReader;->close()V
    :try_end_14
    .catch Ljava/io/IOException; {:try_start_11 .. :try_end_14} :catch_20

    .line 131
    :cond_14
    :goto_14
    if-eqz p4, :cond_19

    .line 133
    :try_start_16
    invoke-virtual {p4}, Ljava/io/BufferedReader;->close()V
    :try_end_19
    .catch Ljava/io/IOException; {:try_start_16 .. :try_end_19} :catch_22

    .line 138
    :cond_19
    :goto_19
    return-void

    .line 106
    :catch_1a
    move-exception v0

    goto :goto_5

    .line 113
    :catch_1c
    move-exception v0

    goto :goto_a

    .line 120
    :catch_1e
    move-exception v0

    goto :goto_f

    .line 127
    :catch_20
    move-exception v0

    goto :goto_14

    .line 134
    :catch_22
    move-exception v0

    goto :goto_19
.end method

.method private static a(Ljava/lang/Process;)V
    .registers 2

    .prologue
    .line 146
    invoke-static {p0}, Lcom/umeng/commonsdk/internal/utils/g;->b(Ljava/lang/Process;)I

    move-result v0

    .line 147
    if-eqz v0, :cond_9

    .line 150
    :try_start_6
    invoke-static {v0}, Landroid/os/Process;->killProcess(I)V
    :try_end_9
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_9} :catch_a

    .line 158
    :cond_9
    :goto_9
    return-void

    .line 151
    :catch_a
    move-exception v0

    .line 153
    :try_start_b
    invoke-virtual {p0}, Ljava/lang/Process;->destroy()V
    :try_end_e
    .catch Ljava/lang/Exception; {:try_start_b .. :try_end_e} :catch_f

    goto :goto_9

    .line 154
    :catch_f
    move-exception v0

    goto :goto_9
.end method

.method private static b(Ljava/lang/Process;)I
    .registers 4

    .prologue
    .line 167
    invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v0

    .line 169
    :try_start_4
    const-string v1, "="

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

    move-result v1

    add-int/lit8 v1, v1, 0x1

    .line 170
    const-string v2, "]"

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

    move-result v2

    .line 171
    invoke-virtual {v0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object v0

    .line 172
    invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
    :try_end_19
    .catch Ljava/lang/Exception; {:try_start_4 .. :try_end_19} :catch_1b

    move-result v0

    .line 174
    :goto_1a
    return v0

    .line 173
    :catch_1b
    move-exception v0

    .line 174
    const/4 v0, 0x0

    goto :goto_1a
.end method

.method private static c(Ljava/lang/Process;)V
    .registers 2

    .prologue
    .line 184
    if-eqz p0, :cond_b

    .line 187
    :try_start_2
    invoke-virtual {p0}, Ljava/lang/Process;->exitValue()I

    move-result v0

    if-eqz v0, :cond_b

    .line 188
    invoke-static {p0}, Lcom/umeng/commonsdk/internal/utils/g;->a(Ljava/lang/Process;)V
    :try_end_b
    .catch Ljava/lang/IllegalThreadStateException; {:try_start_2 .. :try_end_b} :catch_c

    .line 194
    :cond_b
    :goto_b
    return-void

    .line 190
    :catch_c
    move-exception v0

    .line 191
    invoke-static {p0}, Lcom/umeng/commonsdk/internal/utils/g;->a(Ljava/lang/Process;)V

    goto :goto_b
.end method