dy.smali
.class public final Lcom/baidu/techain/af/dy;
.super Lcom/baidu/techain/af/dv;
# direct methods
.method public constructor <init>(Landroid/content/Context;I)V
.registers 3
invoke-direct {p0, p1, p2}, Lcom/baidu/techain/af/dv;-><init>(Landroid/content/Context;I)V
return-void
.end method
.method private static a(D)D
.registers 6
const/4 v0, 0x1
:goto_1
int-to-double v2, v0
cmpg-double v1, v2, p0
if-gez v1, :cond_9
shl-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_9
int-to-double v0, v0
return-wide v0
.end method
.method private static e()Ljava/lang/String;
.registers 8
const-wide/high16 v6, 0x4090000000000000L # 1024.0
const-string v0, "0"
const-string v1, "/proc/meminfo"
new-instance v2, Ljava/io/File;
invoke-direct {v2, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/io/File;->exists()Z
move-result v2
if-eqz v2, :cond_52
const/4 v2, 0x0
:try_start_12
new-instance v3, Ljava/io/FileReader;
invoke-direct {v3, v1}, Ljava/io/FileReader;-><init>(Ljava/lang/String;)V
new-instance v1, Ljava/io/BufferedReader;
const/16 v4, 0x2000
invoke-direct {v1, v3, v4}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;I)V
:try_end_1e
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_1e} :catch_66
.catchall {:try_start_12 .. :try_end_1e} :catchall_72
:try_start_1e
invoke-virtual {v1}, Ljava/io/BufferedReader;->readLine()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-nez v3, :cond_4f
const-string v3, "\\s+"
invoke-virtual {v2, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v2
if-eqz v2, :cond_4f
array-length v3, v2
const/4 v4, 0x2
if-lt v3, v4, :cond_4f
const/4 v0, 0x1
aget-object v0, v2, v0
invoke-static {v0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Double;->doubleValue()D
move-result-wide v2
div-double/2addr v2, v6
div-double/2addr v2, v6
const-wide/high16 v4, 0x3fe0000000000000L # 0.5
cmpl-double v0, v2, v4
if-lez v0, :cond_4b
invoke-static {v2, v3}, Ljava/lang/Math;->ceil(D)D
move-result-wide v2
:cond_4b
invoke-static {v2, v3}, Ljava/lang/String;->valueOf(D)Ljava/lang/String;
:try_end_4e
.catch Ljava/lang/Exception; {:try_start_1e .. :try_end_4e} :catch_80
.catchall {:try_start_1e .. :try_end_4e} :catchall_7e
move-result-object v0
:cond_4f
:try_start_4f
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_52
.catch Ljava/io/IOException; {:try_start_4f .. :try_end_52} :catch_7a
:cond_52
:goto_52
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "GB"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
:catch_66
move-exception v0
move-object v1, v2
:goto_68
const-string v0, "0"
if-eqz v1, :cond_52
:try_start_6c
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_6f
.catch Ljava/io/IOException; {:try_start_6c .. :try_end_6f} :catch_70
goto :goto_52
:catch_70
move-exception v1
goto :goto_52
:catchall_72
move-exception v0
move-object v1, v2
:goto_74
if-eqz v1, :cond_79
:try_start_76
invoke-virtual {v1}, Ljava/io/BufferedReader;->close()V
:try_end_79
.catch Ljava/io/IOException; {:try_start_76 .. :try_end_79} :catch_7c
:cond_79
:goto_79
throw v0
:catch_7a
move-exception v1
goto :goto_52
:catch_7c
move-exception v1
goto :goto_79
:catchall_7e
move-exception v0
goto :goto_74
:catch_80
move-exception v0
goto :goto_68
.end method
# virtual methods
.method public final a()I
.registers 2
const/16 v0, 0x17
return v0
.end method
.method public final b()Ljava/lang/String;
.registers 9
.prologue
const-wide/high16 v6, 0x4090000000000000L # 1024.0
.line 0
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "ram:"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {}, Lcom/baidu/techain/af/dy;->e()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ",rom:"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
.line 1000
invoke-static {}, Landroid/os/Environment;->getDataDirectory()Ljava/io/File;
move-result-object v1
.line 2000
new-instance v2, Landroid/os/StatFs;
invoke-virtual {v1}, Ljava/io/File;->getPath()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Landroid/os/StatFs;->getBlockCount()I
move-result v1
int-to-long v4, v1
invoke-virtual {v2}, Landroid/os/StatFs;->getBlockSize()I
move-result v1
int-to-long v2, v1
mul-long/2addr v2, v4
.line 1000
long-to-double v2, v2
div-double/2addr v2, v6
div-double/2addr v2, v6
div-double/2addr v2, v6
invoke-static {v2, v3}, Lcom/baidu/techain/af/dy;->a(D)D
move-result-wide v2
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, "GB"
invoke-virtual {v1, v2}, 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
.line 0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public final c()Lcom/baidu/techain/af/hm;
.registers 2
sget-object v0, Lcom/baidu/techain/af/hm;->w:Lcom/baidu/techain/af/hm;
return-object v0
.end method