ShellUtils.smali
.class public final Lcom/blankj/utilcode/util/ShellUtils;
.super Ljava/lang/Object;
.source "ShellUtils.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
}
.end annotation
# static fields
.field private static final LINE_SEP:Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 21
const-string v0, "line.separator"
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/blankj/utilcode/util/ShellUtils;->LINE_SEP:Ljava/lang/String;
return-void
.end method
.method private constructor <init>()V
.registers 3
.line 23
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 24
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string/jumbo v1, "u can\'t instantiate me..."
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static execCmd(Ljava/lang/String;Z)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
.registers 5
.param p0, "command" # Ljava/lang/String;
.param p1, "isRooted" # Z
.line 133
const/4 v0, 0x1
new-array v1, v0, [Ljava/lang/String;
const/4 v2, 0x0
aput-object p0, v1, v2
invoke-static {v1, p1, v0}, Lcom/blankj/utilcode/util/ShellUtils;->execCmd([Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
move-result-object v0
return-object v0
.end method
.method public static execCmd(Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
.registers 5
.param p0, "command" # Ljava/lang/String;
.param p1, "isRooted" # Z
.param p2, "isNeedResultMsg" # Z
.line 169
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p0, v0, v1
invoke-static {v0, p1, p2}, Lcom/blankj/utilcode/util/ShellUtils;->execCmd([Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
move-result-object v0
return-object v0
.end method
.method public static execCmd(Ljava/util/List;Z)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
.registers 4
.param p1, "isRooted" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;Z)",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;"
}
.end annotation
.line 144
.local p0, "commands":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
if-nez p0, :cond_4
const/4 v0, 0x0
goto :goto_d
:cond_4
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
:goto_d
const/4 v1, 0x1
invoke-static {v0, p1, v1}, Lcom/blankj/utilcode/util/ShellUtils;->execCmd([Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
move-result-object v0
return-object v0
.end method
.method public static execCmd(Ljava/util/List;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
.registers 4
.param p1, "isRooted" # Z
.param p2, "isNeedResultMsg" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;ZZ)",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;"
}
.end annotation
.line 183
.local p0, "commands":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
if-nez p0, :cond_4
const/4 v0, 0x0
goto :goto_d
:cond_4
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
:goto_d
invoke-static {v0, p1, p2}, Lcom/blankj/utilcode/util/ShellUtils;->execCmd([Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
move-result-object v0
return-object v0
.end method
.method public static execCmd([Ljava/lang/String;Z)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
.registers 3
.param p0, "commands" # [Ljava/lang/String;
.param p1, "isRooted" # Z
.line 155
const/4 v0, 0x1
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/ShellUtils;->execCmd([Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
move-result-object v0
return-object v0
.end method
.method public static execCmd([Ljava/lang/String;ZZ)Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
.registers 16
.param p0, "commands" # [Ljava/lang/String;
.param p1, "isRooted" # Z
.param p2, "isNeedResultMsg" # Z
.line 199
const-string v0, "UTF-8"
const/4 v1, -0x1
.line 200
.local v1, "result":I
const-string v2, ""
if-eqz p0, :cond_15a
array-length v3, p0
if-nez v3, :cond_c
goto/16 :goto_15a
.line 203
:cond_c
const/4 v3, 0x0
.line 204
.local v3, "process":Ljava/lang/Process;
const/4 v4, 0x0
.line 205
.local v4, "successResult":Ljava/io/BufferedReader;
const/4 v5, 0x0
.line 206
.local v5, "errorResult":Ljava/io/BufferedReader;
const/4 v6, 0x0
.line 207
.local v6, "successMsg":Ljava/lang/StringBuilder;
const/4 v7, 0x0
.line 208
.local v7, "errorMsg":Ljava/lang/StringBuilder;
const/4 v8, 0x0
.line 210
.local v8, "os":Ljava/io/DataOutputStream;
:try_start_12
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v9
if-eqz p1, :cond_1c
const-string/jumbo v10, "su"
goto :goto_1f
:cond_1c
const-string/jumbo v10, "sh"
:goto_1f
invoke-virtual {v9, v10}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
move-result-object v9
move-object v3, v9
.line 211
new-instance v9, Ljava/io/DataOutputStream;
invoke-virtual {v3}, Ljava/lang/Process;->getOutputStream()Ljava/io/OutputStream;
move-result-object v10
invoke-direct {v9, v10}, Ljava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
move-object v8, v9
.line 212
array-length v9, p0
const/4 v10, 0x0
:goto_30
if-ge v10, v9, :cond_49
aget-object v11, p0, v10
.line 213
.local v11, "command":Ljava/lang/String;
if-nez v11, :cond_37
goto :goto_46
.line 214
:cond_37
invoke-virtual {v11}, Ljava/lang/String;->getBytes()[B
move-result-object v12
invoke-virtual {v8, v12}, Ljava/io/DataOutputStream;->write([B)V
.line 215
sget-object v12, Lcom/blankj/utilcode/util/ShellUtils;->LINE_SEP:Ljava/lang/String;
invoke-virtual {v8, v12}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
.line 216
invoke-virtual {v8}, Ljava/io/DataOutputStream;->flush()V
.line 212
.end local v11 # "command":Ljava/lang/String;
:goto_46
add-int/lit8 v10, v10, 0x1
goto :goto_30
.line 218
:cond_49
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
const-string v10, "exit"
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v10, Lcom/blankj/utilcode/util/ShellUtils;->LINE_SEP:Ljava/lang/String;
invoke-virtual {v9, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
.line 219
invoke-virtual {v8}, Ljava/io/DataOutputStream;->flush()V
.line 220
invoke-virtual {v3}, Ljava/lang/Process;->waitFor()I
move-result v9
move v1, v9
.line 221
if-eqz p2, :cond_c7
.line 222
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
move-object v6, v9
.line 223
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
move-object v7, v9
.line 224
new-instance v9, Ljava/io/BufferedReader;
new-instance v10, Ljava/io/InputStreamReader;
.line 225
invoke-virtual {v3}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;
move-result-object v11
invoke-direct {v10, v11, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V
invoke-direct {v9, v10}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
move-object v4, v9
.line 227
new-instance v9, Ljava/io/BufferedReader;
new-instance v10, Ljava/io/InputStreamReader;
.line 228
invoke-virtual {v3}, Ljava/lang/Process;->getErrorStream()Ljava/io/InputStream;
move-result-object v11
invoke-direct {v10, v11, v0}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V
invoke-direct {v9, v10}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
move-object v5, v9
.line 231
invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
move-object v9, v0
.local v9, "line":Ljava/lang/String;
if-eqz v0, :cond_ad
.line 232
invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 233
:goto_9d
invoke-virtual {v4}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
move-object v9, v0
if-eqz v0, :cond_ad
.line 234
sget-object v0, Lcom/blankj/utilcode/util/ShellUtils;->LINE_SEP:Ljava/lang/String;
invoke-virtual {v6, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_9d
.line 237
:cond_ad
invoke-virtual {v5}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
move-object v9, v0
if-eqz v0, :cond_c7
.line 238
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 239
:goto_b7
invoke-virtual {v5}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
move-object v9, v0
if-eqz v0, :cond_c7
.line 240
sget-object v0, Lcom/blankj/utilcode/util/ShellUtils;->LINE_SEP:Ljava/lang/String;
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
:try_end_c6
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_c6} :catch_f0
.catchall {:try_start_12 .. :try_end_c6} :catchall_ee
goto :goto_b7
.line 248
.end local v9 # "line":Ljava/lang/String;
:cond_c7
nop
.line 249
:try_start_c8
invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
:try_end_cb
.catch Ljava/io/IOException; {:try_start_c8 .. :try_end_cb} :catch_cc
.line 253
goto :goto_d0
.line 251
:catch_cc
move-exception v0
.line 252
.local v0, "e":Ljava/io/IOException;
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
.line 255
.end local v0 # "e":Ljava/io/IOException;
:goto_d0
if-eqz v4, :cond_db
.line 256
:try_start_d2
invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
:try_end_d5
.catch Ljava/io/IOException; {:try_start_d2 .. :try_end_d5} :catch_d6
goto :goto_db
.line 258
:catch_d6
move-exception v0
.line 259
.restart local v0 # "e":Ljava/io/IOException;
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_dc
.line 260
.end local v0 # "e":Ljava/io/IOException;
:cond_db
:goto_db
nop
.line 262
:goto_dc
if-eqz v5, :cond_e7
.line 263
:try_start_de
invoke-virtual {v5}, Ljava/io/BufferedReader;->close()V
:try_end_e1
.catch Ljava/io/IOException; {:try_start_de .. :try_end_e1} :catch_e2
goto :goto_e7
.line 265
:catch_e2
move-exception v0
.line 266
.restart local v0 # "e":Ljava/io/IOException;
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_e8
.line 267
.end local v0 # "e":Ljava/io/IOException;
:cond_e7
:goto_e7
nop
.line 268
:goto_e8
if-eqz v3, :cond_11b
.line 269
:goto_ea
invoke-virtual {v3}, Ljava/lang/Process;->destroy()V
goto :goto_11b
.line 247
:catchall_ee
move-exception v0
goto :goto_130
.line 244
:catch_f0
move-exception v0
.line 245
.local v0, "e":Ljava/lang/Exception;
:try_start_f1
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_f4
.catchall {:try_start_f1 .. :try_end_f4} :catchall_ee
.line 248
.end local v0 # "e":Ljava/lang/Exception;
if-eqz v8, :cond_ff
.line 249
:try_start_f6
invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
:try_end_f9
.catch Ljava/io/IOException; {:try_start_f6 .. :try_end_f9} :catch_fa
goto :goto_ff
.line 251
:catch_fa
move-exception v0
.line 252
.local v0, "e":Ljava/io/IOException;
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_100
.line 253
.end local v0 # "e":Ljava/io/IOException;
:cond_ff
:goto_ff
nop
.line 255
:goto_100
if-eqz v4, :cond_10b
.line 256
:try_start_102
invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
:try_end_105
.catch Ljava/io/IOException; {:try_start_102 .. :try_end_105} :catch_106
goto :goto_10b
.line 258
:catch_106
move-exception v0
.line 259
.restart local v0 # "e":Ljava/io/IOException;
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_10c
.line 260
.end local v0 # "e":Ljava/io/IOException;
:cond_10b
:goto_10b
nop
.line 262
:goto_10c
if-eqz v5, :cond_117
.line 263
:try_start_10e
invoke-virtual {v5}, Ljava/io/BufferedReader;->close()V
:try_end_111
.catch Ljava/io/IOException; {:try_start_10e .. :try_end_111} :catch_112
goto :goto_117
.line 265
:catch_112
move-exception v0
.line 266
.restart local v0 # "e":Ljava/io/IOException;
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
goto :goto_118
.line 267
.end local v0 # "e":Ljava/io/IOException;
:cond_117
:goto_117
nop
.line 268
:goto_118
if-eqz v3, :cond_11b
.line 269
goto :goto_ea
.line 272
:cond_11b
:goto_11b
new-instance v0, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
if-nez v6, :cond_121
move-object v9, v2
goto :goto_125
.line 274
:cond_121
invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
:goto_125
if-nez v7, :cond_128
goto :goto_12c
.line 275
:cond_128
invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
:goto_12c
invoke-direct {v0, v1, v9, v2}, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;-><init>(ILjava/lang/String;Ljava/lang/String;)V
.line 272
return-object v0
.line 248
:goto_130
if-eqz v8, :cond_13b
.line 249
:try_start_132
invoke-virtual {v8}, Ljava/io/DataOutputStream;->close()V
:try_end_135
.catch Ljava/io/IOException; {:try_start_132 .. :try_end_135} :catch_136
goto :goto_13b
.line 251
:catch_136
move-exception v2
.line 252
.local v2, "e":Ljava/io/IOException;
invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
goto :goto_13c
.line 253
.end local v2 # "e":Ljava/io/IOException;
:cond_13b
:goto_13b
nop
.line 255
:goto_13c
if-eqz v4, :cond_147
.line 256
:try_start_13e
invoke-virtual {v4}, Ljava/io/BufferedReader;->close()V
:try_end_141
.catch Ljava/io/IOException; {:try_start_13e .. :try_end_141} :catch_142
goto :goto_147
.line 258
:catch_142
move-exception v2
.line 259
.restart local v2 # "e":Ljava/io/IOException;
invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
goto :goto_148
.line 260
.end local v2 # "e":Ljava/io/IOException;
:cond_147
:goto_147
nop
.line 262
:goto_148
if-eqz v5, :cond_153
.line 263
:try_start_14a
invoke-virtual {v5}, Ljava/io/BufferedReader;->close()V
:try_end_14d
.catch Ljava/io/IOException; {:try_start_14a .. :try_end_14d} :catch_14e
goto :goto_153
.line 265
:catch_14e
move-exception v2
.line 266
.restart local v2 # "e":Ljava/io/IOException;
invoke-virtual {v2}, Ljava/io/IOException;->printStackTrace()V
goto :goto_154
.line 267
.end local v2 # "e":Ljava/io/IOException;
:cond_153
:goto_153
nop
.line 268
:goto_154
if-eqz v3, :cond_159
.line 269
invoke-virtual {v3}, Ljava/lang/Process;->destroy()V
.line 271
:cond_159
throw v0
.line 201
.end local v3 # "process":Ljava/lang/Process;
.end local v4 # "successResult":Ljava/io/BufferedReader;
.end local v5 # "errorResult":Ljava/io/BufferedReader;
.end local v6 # "successMsg":Ljava/lang/StringBuilder;
.end local v7 # "errorMsg":Ljava/lang/StringBuilder;
.end local v8 # "os":Ljava/io/DataOutputStream;
:cond_15a
:goto_15a
new-instance v0, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;
invoke-direct {v0, v1, v2, v2}, Lcom/blankj/utilcode/util/ShellUtils$CommandResult;-><init>(ILjava/lang/String;Ljava/lang/String;)V
return-object v0
.end method
.method public static execCmdAsync(Ljava/lang/String;ZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
.registers 6
.param p0, "command" # Ljava/lang/String;
.param p1, "isRooted" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z",
"Lcom/blankj/utilcode/util/Utils$Callback<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;)",
"Lcom/blankj/utilcode/util/Utils$Task<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;"
}
.end annotation
.line 38
.local p2, "callback":Lcom/blankj/utilcode/util/Utils$Callback;, "Lcom/blankj/utilcode/util/Utils$Callback<Lcom/blankj/utilcode/util/ShellUtils$CommandResult;>;"
const/4 v0, 0x1
new-array v1, v0, [Ljava/lang/String;
const/4 v2, 0x0
aput-object p0, v1, v2
invoke-static {v1, p1, v0, p2}, Lcom/blankj/utilcode/util/ShellUtils;->execCmdAsync([Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
move-result-object v0
return-object v0
.end method
.method public static execCmdAsync(Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
.registers 6
.param p0, "command" # Ljava/lang/String;
.param p1, "isRooted" # Z
.param p2, "isNeedResultMsg" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"ZZ",
"Lcom/blankj/utilcode/util/Utils$Callback<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;)",
"Lcom/blankj/utilcode/util/Utils$Task<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;"
}
.end annotation
.line 82
.local p3, "callback":Lcom/blankj/utilcode/util/Utils$Callback;, "Lcom/blankj/utilcode/util/Utils$Callback<Lcom/blankj/utilcode/util/ShellUtils$CommandResult;>;"
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p0, v0, v1
invoke-static {v0, p1, p2, p3}, Lcom/blankj/utilcode/util/ShellUtils;->execCmdAsync([Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
move-result-object v0
return-object v0
.end method
.method public static execCmdAsync(Ljava/util/List;ZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
.registers 5
.param p1, "isRooted" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;Z",
"Lcom/blankj/utilcode/util/Utils$Callback<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;)",
"Lcom/blankj/utilcode/util/Utils$Task<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;"
}
.end annotation
.line 52
.local p0, "commands":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
.local p2, "callback":Lcom/blankj/utilcode/util/Utils$Callback;, "Lcom/blankj/utilcode/util/Utils$Callback<Lcom/blankj/utilcode/util/ShellUtils$CommandResult;>;"
if-nez p0, :cond_4
const/4 v0, 0x0
goto :goto_d
:cond_4
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
:goto_d
const/4 v1, 0x1
invoke-static {v0, p1, v1, p2}, Lcom/blankj/utilcode/util/ShellUtils;->execCmdAsync([Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
move-result-object v0
return-object v0
.end method
.method public static execCmdAsync(Ljava/util/List;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
.registers 5
.param p1, "isRooted" # Z
.param p2, "isNeedResultMsg" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Ljava/lang/String;",
">;ZZ",
"Lcom/blankj/utilcode/util/Utils$Callback<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;)",
"Lcom/blankj/utilcode/util/Utils$Task<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;"
}
.end annotation
.line 98
.local p0, "commands":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
.local p3, "callback":Lcom/blankj/utilcode/util/Utils$Callback;, "Lcom/blankj/utilcode/util/Utils$Callback<Lcom/blankj/utilcode/util/ShellUtils$CommandResult;>;"
if-nez p0, :cond_4
const/4 v0, 0x0
goto :goto_d
:cond_4
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/String;
invoke-interface {p0, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
:goto_d
invoke-static {v0, p1, p2, p3}, Lcom/blankj/utilcode/util/ShellUtils;->execCmdAsync([Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
move-result-object v0
return-object v0
.end method
.method public static execCmdAsync([Ljava/lang/String;ZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
.registers 4
.param p0, "commands" # [Ljava/lang/String;
.param p1, "isRooted" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/String;",
"Z",
"Lcom/blankj/utilcode/util/Utils$Callback<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;)",
"Lcom/blankj/utilcode/util/Utils$Task<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;"
}
.end annotation
.line 66
.local p2, "callback":Lcom/blankj/utilcode/util/Utils$Callback;, "Lcom/blankj/utilcode/util/Utils$Callback<Lcom/blankj/utilcode/util/ShellUtils$CommandResult;>;"
const/4 v0, 0x1
invoke-static {p0, p1, v0, p2}, Lcom/blankj/utilcode/util/ShellUtils;->execCmdAsync([Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
move-result-object v0
return-object v0
.end method
.method public static execCmdAsync([Ljava/lang/String;ZZLcom/blankj/utilcode/util/Utils$Callback;)Lcom/blankj/utilcode/util/Utils$Task;
.registers 6
.param p0, "commands" # [Ljava/lang/String;
.param p1, "isRooted" # Z
.param p2, "isNeedResultMsg" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/String;",
"ZZ",
"Lcom/blankj/utilcode/util/Utils$Callback<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;)",
"Lcom/blankj/utilcode/util/Utils$Task<",
"Lcom/blankj/utilcode/util/ShellUtils$CommandResult;",
">;"
}
.end annotation
.line 116
.local p3, "callback":Lcom/blankj/utilcode/util/Utils$Callback;, "Lcom/blankj/utilcode/util/Utils$Callback<Lcom/blankj/utilcode/util/ShellUtils$CommandResult;>;"
if-eqz p3, :cond_c
.line 117
new-instance v0, Lcom/blankj/utilcode/util/ShellUtils$1;
invoke-direct {v0, p3, p0, p1, p2}, Lcom/blankj/utilcode/util/ShellUtils$1;-><init>(Lcom/blankj/utilcode/util/Utils$Callback;[Ljava/lang/String;ZZ)V
invoke-static {v0}, Lcom/blankj/utilcode/util/Utils;->doAsync(Lcom/blankj/utilcode/util/Utils$Task;)Lcom/blankj/utilcode/util/Utils$Task;
move-result-object v0
return-object v0
.line 116
:cond_c
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Argument \'callback\' of type Utils.Callback<CommandResult> (#3 out of 4, zero-based) is marked by @android.support.annotation.NonNull but got null for it"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method