DexPathInfo.smali
.class public Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;
.super Ljava/lang/Object;
.source "DexPathInfo.java"
# static fields
.field public static APK_DEX_SUM:I
.field public static DOING_INJECT:Ljava/lang/String;
.field public static INJECT_DEX_SUM:I
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
const/4 v0, 0x0
.line 14
sput v0, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->APK_DEX_SUM:I
.line 15
sput v0, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->INJECT_DEX_SUM:I
.line 16
const-string v0, ""
sput-object v0, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->DOING_INJECT:Ljava/lang/String;
return-void
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static final getClassPathList(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.prologue
.line 19
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xe
if-lt v0, v1, :cond_b
.line 20
invoke-static {p0}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getClassPathList_GE_api14(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
.line 22
:goto_a
return-object v0
:cond_b
invoke-static {p0}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getClassPathList_BL_api14(Landroid/content/Context;)Ljava/lang/String;
move-result-object v0
goto :goto_a
.end method
.method private static getClassPathList_BL_api14(Landroid/content/Context;)Ljava/lang/String;
.registers 11
.prologue
const/4 v2, 0x0
.line 52
const-string v1, ""
.line 53
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v4
.line 55
:try_start_7
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v3, "mPaths"
invoke-static {v4, v0, v3}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v5
.line 56
invoke-static {v5}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v6
move v3, v2
.line 57
:goto_16
if-ge v3, v6, :cond_47
.line 58
invoke-static {v5, v3}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 59
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
const-string v8, " Path:"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v7, " "
invoke-virtual {v0, v7}, 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 v1
.line 57
add-int/lit8 v0, v3, 0x1
move v3, v0
goto :goto_16
.line 61
:cond_47
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v3, "mFiles"
invoke-static {v4, v0, v3}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v5
.line 62
invoke-static {v5}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v6
move v3, v2
.line 63
:goto_56
if-ge v3, v6, :cond_8b
.line 64
invoke-static {v5, v3}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/io/File;
.line 65
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
const-string v8, " File:"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v0}, Ljava/io/File;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v7, " "
invoke-virtual {v0, v7}, 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 v1
.line 63
add-int/lit8 v0, v3, 0x1
move v3, v0
goto :goto_56
.line 67
:cond_8b
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v3, "mZips"
invoke-static {v4, v0, v3}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v5
.line 68
invoke-static {v5}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v6
move v3, v2
.line 69
:goto_9a
if-ge v3, v6, :cond_d5
.line 70
invoke-static {v5, v3}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v0
.line 71
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v7
const-string v8, "fileName"
invoke-static {v0, v7, v8}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 72
new-instance v7, Ljava/lang/StringBuilder;
invoke-direct {v7}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v7, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-static {v3}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
const-string v8, " Zip:"
invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v7
invoke-virtual {v7, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v7, " "
invoke-virtual {v0, v7}, 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 v1
.line 69
add-int/lit8 v0, v3, 0x1
move v3, v0
goto :goto_9a
.line 74
:cond_d5
invoke-virtual {v4}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v3, "mDexs"
invoke-static {v4, v0, v3}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
.line 75
invoke-static {v3}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v4
.line 76
:goto_e3
if-ge v2, v4, :cond_11e
.line 77
invoke-static {v3, v2}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v0
.line 78
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v5
const-string v6, "mFileName"
invoke-static {v0, v5, v6}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 79
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-static {v2}, Ljava/lang/Integer;->toString(I)Ljava/lang/String;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, " Dex:"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v5, " "
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
:try_end_119
.catch Ljava/lang/Exception; {:try_start_7 .. :try_end_119} :catch_120
move-result-object v1
.line 76
add-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_e3
:cond_11e
move-object v0, v1
.line 84
:goto_11f
return-object v0
.line 81
:catch_120
move-exception v0
move-object v9, v0
move-object v0, v1
move-object v1, v9
.line 82
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
goto :goto_11f
.end method
.method private static getClassPathList_GE_api14(Landroid/content/Context;)Ljava/lang/String;
.registers 9
.prologue
.line 88
const-string v1, ""
.line 89
invoke-virtual {p0}, Landroid/content/Context;->getClassLoader()Ljava/lang/ClassLoader;
move-result-object v0
.line 91
:try_start_6
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "pathList"
invoke-static {v0, v2, v3}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
.line 92
if-nez v0, :cond_13
.line 134
:cond_12
:goto_12
return-object v1
.line 95
:cond_13
invoke-virtual {v0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
const-string v3, "dexElements"
invoke-static {v0, v2, v3}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
.line 96
if-eqz v3, :cond_12
.line 99
invoke-static {v3}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v4
.line 100
const/4 v0, 0x0
move v2, v0
:goto_25
if-ge v2, v4, :cond_12
.line 101
invoke-static {v3, v2}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v5
.line 103
invoke-virtual {v5}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
const-string v6, "file"
invoke-static {v5, v0, v6}, Lcom/cleanmaster/hpsharelib/crash/DexPathInfo;->getField(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/String;)L