i.smali
.class public final Lcom/baidu/sofire/i/i;
.super Ljava/lang/Object;
.source "ExceptionUtil.java"
# static fields
.field public static final a:[Ljava/lang/String;
.field public static final b:[Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 4
.prologue
const/4 v3, 0x1
const/4 v2, 0x0
.line 18
new-array v0, v3, [Ljava/lang/String;
const-string v1, "java.lang.UnsatisfiedLinkError"
aput-object v1, v0, v2
sput-object v0, Lcom/baidu/sofire/i/i;->a:[Ljava/lang/String;
.line 20
new-array v0, v3, [Ljava/lang/String;
const-string v1, "space left"
aput-object v1, v0, v2
sput-object v0, Lcom/baidu/sofire/i/i;->b:[Ljava/lang/String;
return-void
.end method
.method private static a(Ljava/io/File;Lorg/json/JSONArray;)J
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.prologue
const-wide/16 v0, 0x0
.line 86
if-eqz p0, :cond_c
if-eqz p1, :cond_c
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v2
if-nez v2, :cond_d
.line 104
:cond_c
return-wide v0
.line 90
:cond_d
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v3
.line 91
array-length v4, v3
const/4 v2, 0x0
:goto_13
if-ge v2, v4, :cond_c
aget-object v5, v3, v2
.line 92
invoke-virtual {v5}, Ljava/io/File;->isDirectory()Z
move-result v6
if-eqz v6, :cond_25
.line 93
invoke-static {v5, p1}, Lcom/baidu/sofire/i/i;->a(Ljava/io/File;Lorg/json/JSONArray;)J
move-result-wide v6
add-long/2addr v0, v6
.line 91
:cond_22
:goto_22
add-int/lit8 v2, v2, 0x1
goto :goto_13
.line 95
:cond_25
invoke-virtual {v5}, Ljava/io/File;->exists()Z
move-result v6
if-eqz v6, :cond_22
.line 96
new-instance v6, Lorg/json/JSONObject;
invoke-direct {v6}, Lorg/json/JSONObject;-><init>()V
.line 97
const-string v7, "path"
invoke-virtual {v5}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v7, v8}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 98
const-string v7, "size"
invoke-virtual {v5}, Ljava/io/File;->length()J
move-result-wide v8
invoke-virtual {v6, v7, v8, v9}, Lorg/json/JSONObject;->put(Ljava/lang/String;J)Lorg/json/JSONObject;
.line 99
invoke-virtual {p1, v6}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
.line 100
invoke-virtual {v5}, Ljava/io/File;->length()J
move-result-wide v6
add-long/2addr v0, v6
goto :goto_22
.end method
.method private static a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 12
.annotation build Landroid/annotation/SuppressLint;
value = {
"NewApi"
}
.end annotation
.prologue
.line 57
.line 58
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v1
.line 59
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x9
if-lt v0, v2, :cond_c9
.line 60
invoke-virtual {v1}, Ljava/io/File;->getFreeSpace()J
move-result-wide v2
.line 61
invoke-virtual {v1}, Ljava/io/File;->getTotalSpace()J
move-result-wide v4
.line 62
invoke-virtual {v1}, Ljava/io/File;->getUsableSpace()J
move-result-wide v6
.line 63
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v8, "\r\nFreeSpace="
invoke-virtual {v0, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 64
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, " TotalSpace="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v4, v5}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 65
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v2, " UsableSpace="
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
move-object v3, v0
.line 67
:goto_5c
new-instance v4, Lorg/json/JSONArray;
invoke-direct {v4}, Lorg/json/JSONArray;-><init>()V
.line 68
invoke-virtual {v1}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v5
.line 69
const-wide/16 v0, 0x0
.line 70
array-length v6, v5
const/4 v2, 0x0
:goto_69
if-ge v2, v6, :cond_87
aget-object v7, v5, v2
.line 71
invoke-virtual {v7}, Ljava/io/File;->isDirectory()Z
move-result v8
if-eqz v8, :cond_84
invoke-virtual {v7}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v8
const-string v9, "."
invoke-virtual {v8, v9}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v8
if-eqz v8, :cond_84
.line 72
invoke-static {v7, v4}, Lcom/baidu/sofire/i/i;->a(Ljava/io/File;Lorg/json/JSONArray;)J
move-result-wide v8
add-long/2addr v0, v8
.line 70
:cond_84
add-int/lit8 v2, v2, 0x1
goto :goto_69
.line 75
:cond_87
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\r\n"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 76
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v4}, Lorg/json/JSONArray;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
.line 77
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "\r\nAllFileSize="
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2, v0, v1}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
:try_end_c5
.catch Ljava/lang/Throwable; {:try_start_0 .. :try_end_c5} :catch_c7
move-result-object p1
.line 80
:goto_c6
return-object p1
:catch_c7
move-exception v0
goto :goto_c6
:cond_c9
move-object v3, p1
goto :goto_5c
.end method
.method public static a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 14
.prologue
const/4 v2, 0x0
.line 29
.line 31
:try_start_1
sget-object v0, Lcom/baidu/sofire/i/i;->a:[Ljava/lang/String;
const/4 v1, 0x0
aget-object v0, v0, v1
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_12
.line 32
const/4 v0, 0x1
.line 36
:goto_d
packed-switch v0, :pswitch_data_fa
move-object v0, p1
.line 49
:cond_11
:goto_11
return-object v0
.line 33
:cond_12
sget-object v0, Lcom/baidu/sofire/i/i;->b:[Ljava/lang/String;
const/4 v1, 0x0
aget-object v0, v0, v1
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_f7
.line 34
const/4 v0, 0x2
goto :goto_d
.line 1110
:pswitch_1f
invoke-static {}, Lcom/baidu/sofire/core/g;->a()Lcom/baidu/sofire/core/g;
move-result-object v0
invoke-virtual {v0, p2}, Lcom/baidu/sofire/core/g;->d(Ljava/lang/String;)Lcom/baidu/sofire/core/ApkInfo;
move-result-object v0
.line 1111
iget-object v1, v0, Lcom/baidu/sofire/core/ApkInfo;->libPath:Ljava/lang/String;
.line 1112
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, "\r\n{libpath="
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget-object v0, v0, Lcom/baidu/sofire/core/ApkInfo;->libPath:Ljava/lang/String;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "}"
invoke-virtual {v0, v3}, 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
.line 1113
const-string v3, ":"
invoke-virtual {v1, v3}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;
move-result-object v5
.line 1114
array-length v6, v5
move v4, v2
:goto_50
if-ge v4, v6, :cond_11
aget-object v1, v5, v4
.line 1115
const-string v3, "/data/data/"
invoke-virtual {v1, v3}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v3
if-eqz v3, :cond_84
.line 1116
new-instance v3, Ljava/io/File;
invoke-direct {v3, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 1117
invoke-virtual {v3}, Ljava/io/File;->exists()Z
move-result v7
if-nez v7, :cond_88
.line 1118
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "\r\nsubLibPathFile "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " not exists"
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
.line 1114
:cond_84
:goto_84
add-int/lit8 v1, v4, 0x1
move v4, v1
goto :goto_50
.line 1121
:cond_88
invoke-virtual {v3}, Ljava/io/File;->isDirectory()Z
move-result v7
if-nez v7, :cond_ac
.line 1122
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "\r\nsubLibPathFile "
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, " not a dir"
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
goto :goto_84
.line 1124
:cond_ac
invoke-virtual {v3}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v7
.line 1125
array-length v8, v7
move v1, v2
:goto_b2
if-ge v1, v8, :cond_84
aget-object v3, v7, v1
.line 1126
invoke-static {v3}, Lcom/baidu/sofire/i/o;->a(Ljava/io/File;)Ljava/lang/String;
move-result-object v9
.line 1127
new-instance v10, Ljava/lang/StringBuilder;
invoke-direct {v10}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v10, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v10, "\r\n{"
invoke-virtual {v0, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v3}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, ":"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "}\r\n"
invoke-virtual {v0, v3}, 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 v3
.line 1125
add-int/lit8 v0, v1, 0x1
move v1, v0
move-object v0, v3
goto :goto_b2
.line 41
:pswitch_ea
invoke-static {p0, p1}, Lcom/baidu/sofire/i/i;->a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
:try_end_ed
.catch Ljava/lang/Throwable; {:try_start_1 .. :try_end_ed} :catch_f0
move-result-object v0
goto/16 :goto_11
.line 48
:catch_f0
move-exception v0
invoke-static {}, Lcom/baidu/sofire/i/d;->a()V
move-object v0, p1
.line 49
goto/16 :goto_11
:cond_f7
move v0, v2
goto/16 :goto_d
.line 36
:pswitch_data_fa
.packed-switch 0x1
:pswitch_1f
:pswitch_ea
.end packed-switch
.end method