anl.smali
.class public Ldxoptimizer/anl;
.super Ljava/lang/Object;
.source "SdCardUtils.java"
# direct methods
.method public static a()[Ljava/lang/String;
.registers 7
.prologue
const/4 v1, 0x0
.line 60
invoke-static {}, Ldxoptimizer/cct;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Ldxoptimizer/anl;->a(Landroid/content/Context;)[Ljava/lang/String;
move-result-object v2
.line 61
array-length v3, v2
.line 62
const/4 v0, 0x1
if-le v3, v0, :cond_38
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v4, "mounted"
invoke-virtual {v0, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_38
.line 63
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v4
.line 64
aget-object v5, v2, v1
.line 65
invoke-virtual {v5, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_38
move v0, v1
.line 66
:goto_2a
if-ge v0, v3, :cond_38
.line 67
aget-object v6, v2, v0
invoke-virtual {v6, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-eqz v6, :cond_39
.line 68
aput-object v4, v2, v1
.line 69
aput-object v5, v2, v0
.line 76
:cond_38
return-object v2
.line 66
:cond_39
add-int/lit8 v0, v0, 0x1
goto :goto_2a
.end method
.method public static a(Landroid/content/Context;)[Ljava/lang/String;
.registers 8
.prologue
const/4 v1, 0x0
.line 29
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
.line 30
invoke-virtual {p0}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object v0
const-string v3, "storage"
invoke-virtual {v0, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/storage/StorageManager;
.line 32
:try_start_12
const-class v3, Landroid/os/storage/StorageManager;
const-string v4, "getVolumePaths"
const/4 v5, 0x0
new-array v5, v5, [Ljava/lang/Class;
invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v3
.line 33
const/4 v4, 0x1
invoke-virtual {v3, v4}, Ljava/lang/reflect/Method;->setAccessible(Z)V
.line 34
const/4 v4, 0x0
new-array v4, v4, [Ljava/lang/Object;
invoke-virtual {v3, v0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
.line 35
if-eqz v0, :cond_6c
instance-of v3, v0, [Ljava/lang/String;
if-eqz v3, :cond_6c
.line 36
check-cast v0, [Ljava/lang/String;
check-cast v0, [Ljava/lang/String;
.line 38
array-length v3, v0
:goto_33
if-ge v1, v3, :cond_6c
aget-object v4, v0, v1
.line 39
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-nez v5, :cond_5b
new-instance v5, Ljava/io/File;
invoke-direct {v5, v4}, Ljava/io/File;-><init>(Ljava/lang/String;)V
invoke-virtual {v5}, Ljava/io/File;->exists()Z
move-result v5
if-eqz v5, :cond_5b
.line 40
new-instance v5, Landroid/os/StatFs;
invoke-direct {v5, v4}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
.line 41
invoke-virtual {v5}, Landroid/os/StatFs;->getBlockCount()I
move-result v6
invoke-virtual {v5}, Landroid/os/StatFs;->getBlockSize()I
move-result v5
mul-int/2addr v5, v6
if-eqz v5, :cond_5b
.line 42
invoke-interface {v2, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:try_end_5b
.catch Ljava/lang/Exception; {:try_start_12 .. :try_end_5b} :catch_5e
.line 38
:cond_5b
add-int/lit8 v1, v1, 0x1
goto :goto_33
.line 47
:catch_5e
move-exception v0
.line 51
invoke-static {}, Landroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
move-result-object v0
.line 52
if-eqz v0, :cond_6c
.line 53
invoke-virtual {v0}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v0
invoke-interface {v2, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 56
:cond_6c
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/String;
invoke-interface {v2, v0}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/lang/String;
return-object v0
.end method
.method public static b()Z
.registers 2
.prologue
.line 80
invoke-static {}, Landroid/os/Environment;->getExternalStorageState()Ljava/lang/String;
move-result-object v0
const-string v1, "mounted"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_17
.line 81
invoke-static {}, Ldxoptimizer/cct;->a()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Ldxoptimizer/anl;->a(Landroid/content/Context;)[Ljava/lang/String;
move-result-object v0
array-length v0, v0
if-lez v0, :cond_19
:cond_17
const/4 v0, 0x1
.line 80
:goto_18
return v0
.line 81
:cond_19
const/4 v0, 0x0
goto :goto_18
.end method
.method public static c()J
.registers 6
.prologue
const-wide/16 v0, -0x1
.line 91
:try_start_2
invoke-static {}, Ldxoptimizer/anl;->b()Z
move-result v2
if-eqz v2, :cond_25
.line 92
new-instance v2, Landroid/os/StatFs;
invoke-static {}, Ldxoptimizer/anl;->a()[Ljava/lang/String;
move-result-object v3
const/4 v4, 0x0
aget-object v3, v3, v4
invoke-direct {v2, v3}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
.line 93
invoke-virtual {v2}, Landroid/os/StatFs;->getBlockSize()I
move-result v3
int-to-long v4, v3
invoke-virtual {v2}, Landroid/os/StatFs;->getBlockCount()I
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_1c} :catch_28
move-result v2
int-to-long v2, v2
mul-long/2addr v2, v4
.line 94
const-wide/16 v4, 0x0
cmp-long v4, v2, v4
if-nez v4, :cond_26
.line 102
:cond_25
:goto_25
return-wide v0
:cond_26
move-wide v0, v2
.line 94
goto :goto_25
.line 96
:catch_28
move-exception v2
goto :goto_25
.end method
.method public static d()J
.registers 4
.prologue
.line 112
:try_start_0
invoke-static {}, Ldxoptimizer/anl;->b()Z
move-result v0
if-eqz v0, :cond_1f
.line 113
new-instance v0, Landroid/os/StatFs;
invoke-static {}, Ldxoptimizer/anl;->a()[Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
aget-object v1, v1, v2
invoke-direct {v0, v1}, Landroid/os/StatFs;-><init>(Ljava/lang/String;)V
.line 114
invoke-virtual {v0}, Landroid/os/StatFs;->getBlockSize()I
move-result v1
int-to-long v2, v1
invoke-virtual {v0}, Landroid/os/StatFs;->getAvailableBlocks()I
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_1a} :catch_1e
move-result v0
int-to-long v0, v0
mul-long/2addr v0, v2
.line 122
:goto_1d
return-wide v0
.line 116
:catch_1e
move-exception v0
.line 122
:cond_1f
const-wide/16 v0, -0x1
goto :goto_1d
.end method