DeviceUtils$Worker.smali
.class Lio/rong/imlib/common/DeviceUtils$Worker;
.super Ljava/lang/Thread;
.source "DeviceUtils.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/rong/imlib/common/DeviceUtils;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0xa
name = "Worker"
.end annotation
# instance fields
.field input:Ljava/io/BufferedReader;
.field line:Ljava/lang/String;
.field process:Ljava/lang/Process;
.field propName:Ljava/lang/String;
.field runtime:Ljava/lang/Runtime;
# direct methods
.method private constructor <init>(Ljava/lang/Runtime;)V
.registers 3
.line 2
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
const-string v0, "ro.miui.ui.version.name"
.line 3
iput-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->propName:Ljava/lang/String;
const/4 v0, 0x0
.line 4
iput-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
.line 5
iput-object p1, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->runtime:Ljava/lang/Runtime;
return-void
.end method
.method synthetic constructor <init>(Ljava/lang/Runtime;Lio/rong/imlib/common/DeviceUtils$1;)V
.registers 3
.line 1
invoke-direct {p0, p1}, Lio/rong/imlib/common/DeviceUtils$Worker;-><init>(Ljava/lang/Runtime;)V
return-void
.end method
# virtual methods
.method public run()V
.registers 4
.line 1
:try_start_0
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->runtime:Ljava/lang/Runtime;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "getprop "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->propName:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
move-result-object v0
iput-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->process:Ljava/lang/Process;
.line 2
new-instance v0, Ljava/io/BufferedReader;
new-instance v1, Ljava/io/InputStreamReader;
iget-object v2, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->process:Ljava/lang/Process;
invoke-virtual {v2}, Ljava/lang/Process;->getInputStream()Ljava/io/InputStream;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
const/16 v2, 0x400
invoke-direct {v0, v1, v2}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
iput-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
.line 3
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
invoke-virtual {v0}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->line:Ljava/lang/String;
.line 4
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
invoke-virtual {v0}, Ljava/io/BufferedReader;->close()V
:try_end_3c
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_3c} :catch_4f
.catchall {:try_start_0 .. :try_end_3c} :catchall_4d
.line 5
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
if-eqz v0, :cond_48
.line 6
:try_start_40
invoke-virtual {v0}, Ljava/io/BufferedReader;->close()V
:try_end_43
.catch Ljava/io/IOException; {:try_start_40 .. :try_end_43} :catch_44
goto :goto_48
:catch_44
move-exception v0
.line 7
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
.line 8
:cond_48
:goto_48
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->process:Ljava/lang/Process;
if-eqz v0, :cond_69
goto :goto_66
:catchall_4d
move-exception v0
goto :goto_6a
:catch_4f
:try_start_4f
const-string v0, "DeviceUtils"
const-string v1, "Unable to read sysprop "
.line 9
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
:try_end_56
.catchall {:try_start_4f .. :try_end_56} :catchall_4d
.line 10
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
if-eqz v0, :cond_62
.line 11
:try_start_5a
invoke-virtual {v0}, Ljava/io/BufferedReader;->close()V
:try_end_5d
.catch Ljava/io/IOException; {:try_start_5a .. :try_end_5d} :catch_5e
goto :goto_62
:catch_5e
move-exception v0
.line 12
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
.line 13
:cond_62
:goto_62
iget-object v0, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->process:Ljava/lang/Process;
if-eqz v0, :cond_69
.line 14
:goto_66
invoke-virtual {v0}, Ljava/lang/Process;->destroy()V
:cond_69
return-void
.line 15
:goto_6a
iget-object v1, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->input:Ljava/io/BufferedReader;
if-eqz v1, :cond_76
.line 16
:try_start_6e
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_71
.catch Ljava/io/IOException; {:try_start_6e .. :try_end_71} :catch_72
goto :goto_76
:catch_72
move-exception v1
.line 17
invoke-virtual {v1}, Ljava/io/IOException;->printStackTrace()V
.line 18
:cond_76
:goto_76
iget-object v1, p0, Lio/rong/imlib/common/DeviceUtils$Worker;->process:Ljava/lang/Process;
if-eqz v1, :cond_7d
.line 19
invoke-virtual {v1}, Ljava/lang/Process;->destroy()V
:cond_7d
throw v0
.end method