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