BundleParser.smali
.class public Lorg/acdd/android/initializer/BundleParser;
.super Ljava/lang/Object;
.source "BundleParser.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 50
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parser(Landroid/content/Context;)V
.registers 6
.prologue
.line 54
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 56
sget-object v2, Lcom/cm/c/b;->c:[Ljava/lang/String;
array-length v3, v2
const/4 v0, 0x0
:goto_9
if-ge v0, v3, :cond_13
aget-object v4, v2, v0
.line 57
invoke-static {p0, v4, v1}, Lorg/acdd/android/initializer/BundleParser;->parser(Landroid/content/Context;Ljava/lang/String;Ljava/util/ArrayList;)V
.line 56
add-int/lit8 v0, v0, 0x1
goto :goto_9
.line 60
:cond_13
invoke-static {}, Lorg/acdd/bundleInfo/BundleInfoList;->getInstance()Lorg/acdd/bundleInfo/BundleInfoList;
move-result-object v0
invoke-virtual {v0, v1}, Lorg/acdd/bundleInfo/BundleInfoList;->init(Ljava/util/ArrayList;)Z
.line 61
return-void
.end method
.method private static parser(Landroid/content/Context;Ljava/lang/String;Ljava/util/ArrayList;)V
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Ljava/lang/String;",
"Ljava/util/ArrayList",
"<",
"Lorg/acdd/bundleInfo/BundleInfoList$BundleInfo;",
">;)V"
}
.end annotation
.prologue
const/4 v1, 0x0
.line 64
if-eqz p0, :cond_5
if-nez p2, :cond_6
.line 119
:cond_5
:goto_5
return-void
.line 68
:cond_6
:try_start_6
invoke-virtual {p0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v0
.line 69
invoke-virtual {v0}, Ljava/io/InputStream;->available()I
move-result v2
.line 72
new-array v2, v2, [B
.line 73
invoke-virtual {v0, v2}, Ljava/io/InputStream;->read([B)I
.line 74
invoke-virtual {v0}, Ljava/io/InputStream;->close()V
.line 75
new-instance v3, Lorg/json/JSONArray;
new-instance v0, Ljava/lang/String;
invoke-direct {v0, v2}, Ljava/lang/String;-><init>([B)V
invoke-direct {v3, v0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
move v2, v1
.line 76
:goto_25
invoke-virtual {v3}, Lorg/json/JSONArray;->length()I
move-result v0
if-ge v2, v0, :cond_5
.line 77
invoke-virtual {v3, v2}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v4
.line 78
new-instance v5, Lorg/acdd/bundleInfo/BundleInfoList$BundleInfo;
invoke-direct {v5}, Lorg/acdd/bundleInfo/BundleInfoList$BundleInfo;-><init>()V
.line 80
const-string v0, "pkgName"
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, v5, Lorg/acdd/bundleInfo/BundleInfoList$BundleInfo;->bundleName:Ljava/lang/String;
.line 81
const-string v0, "hasSO"
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;)Z
move-result v0
iput-boolean v0, v5, Lorg/acdd/bundleInfo/BundleInfoList$BundleInfo;->hasSO:Z
.line 83
new-instance v6, Ljava/util/ArrayList;
invoke-direct {v6}, Ljava/util/ArrayList;-><init>()V
.line 85
const-string v0, "activities"
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v7
move v0, v1
.line 86
:goto_50
invoke-virtual {v7}, Lorg/json/JSONArray;->length()I
move-result v8
if-ge v0, v8, :cond_60
.line 87
invoke-virtual {v7, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 86
add-int/lit8 v0, v0, 0x1
goto :goto_50
.line 90
:cond_60
const-string v0, "receivers"
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v7
move v0, v1
.line 91
:goto_67
invoke-virtual {v7}, Lorg/json/JSONArray;->length()I
move-result v8
if-ge v0, v8, :cond_77
.line 92
invoke-virtual {v7, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 91
add-int/lit8 v0, v0, 0x1
goto :goto_67
.line 95
:cond_77
const-string v0, "services"
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v7
move v0, v1
.line 96
:goto_7e
invoke-virtual {v7}, Lorg/json/JSONArray;->length()I
move-result v8
if-ge v0, v8, :cond_8e
.line 97
invoke-virtual {v7, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v8
invoke-virtual {v6, v8}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 96
add-int/lit8 v0, v0, 0x1
goto :goto_7e
.line 100
:cond_8e
const-string v0, "contentProviders"
invoke-virtual {v4, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v4
move v0, v1
.line 101
:goto_95
invoke-virtual {v4}, Lorg/json/JSONArray;->length()I
move-result v7
if-ge v0, v7, :cond_a5
.line 102
invoke-virtual {v4, v0}, Lorg/json/JSONArray;->getString(I)Ljava/lang/String;
move-result-object v7
invoke-virtual {v6, v7}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 101
add-int/lit8 v0, v0, 0x1
goto :goto_95
.line 110
:cond_a5
iput-object v6, v5, Lorg/acdd/bundleInfo/BundleInfoList$BundleInfo;->Components:Ljava/util/List;
.line 111
invoke-virtual {p2, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:try_end_aa
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_aa} :catch_af
.line 76
add-int/lit8 v0, v2, 0x1
move v2, v0
goto/16 :goto_25
.line 113
:catch_af
move-exception v0
.line 114
sget-boolean v1, Lorg/acdd/android/compat/AppBuildConfig;->DEBUG:Z
if-eqz v1, :cond_b7
.line 115
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 117
:cond_b7
invoke-static {}, Lorg/acdd/framework/ACDD;->getInstance()Lorg/acdd/framework/ACDD;
move-result-object v1
const-string v2, "4022"
invoke-virtual {v1, v2, v0}, Lorg/acdd/framework/ACDD;->reportCrash(Ljava/lang/String;Ljava/lang/Throwable;)V
goto/16 :goto_5
.end method