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