TBSdkFeature$Parser.smali

.class Lcom/taboola/android/monitor/TBSdkFeature$Parser;
.super Ljava/lang/Object;
.source "TBSdkFeature.java"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/taboola/android/monitor/TBSdkFeature;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "Parser"
.end annotation


# static fields
.field static CLASS_LIST:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Ljava/lang/Class<",
            "+",
            "Lcom/taboola/android/monitor/TBSdkFeature;",
            ">;>;"
        }
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 2

    .line 41
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    sput-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    .line 44
    const-class v1, Lcom/taboola/android/monitor/TBAuthentication;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 45
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBMobileLoaderChange;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 46
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBSuspendMonitor;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 47
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBUrlParamsChange;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 48
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBNetworkMonitoring;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 49
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBSimCodeChange;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 50
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBOnlineTemplateChange;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 51
    sget-object v0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    const-class v1, Lcom/taboola/android/monitor/TBWidgetLayoutParamsChange;

    invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    return-void
.end method

.method private constructor <init>()V
    .registers 1

    .line 39
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method static synthetic access$000(Ljava/lang/String;)Landroid/util/SparseArray;
    .registers 1

    .line 39
    invoke-static {p0}, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->parseSdkFeatures(Ljava/lang/String;)Landroid/util/SparseArray;

    move-result-object p0

    return-object p0
.end method

.method private static parseSdkFeatures(Ljava/lang/String;)Landroid/util/SparseArray;
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/String;",
            ")",
            "Landroid/util/SparseArray<",
            "Lcom/taboola/android/monitor/TBSdkFeature;",
            ">;"
        }
    .end annotation

    .line 55
    new-instance v0, Landroid/util/SparseArray;

    invoke-direct {v0}, Landroid/util/SparseArray;-><init>()V

    const/4 v1, 0x0

    .line 59
    :try_start_6
    new-instance v2, Lorg/json/JSONObject;

    invoke-direct {v2, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 61
    sget-object p0, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->CLASS_LIST:Ljava/util/List;

    invoke-interface {p0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object p0

    :goto_11
    invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_21

    invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/Class;

    .line 62
    invoke-static {v2, v3, v0}, Lcom/taboola/android/monitor/TBSdkFeature$Parser;->setFeature(Lorg/json/JSONObject;Ljava/lang/Class;Landroid/util/SparseArray;)V

    goto :goto_11

    .line 65
    :cond_21
    invoke-virtual {v0, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;

    move-result-object p0

    check-cast p0, Lcom/taboola/android/monitor/TBAuthentication;

    if-eqz p0, :cond_2e

    .line 66
    invoke-virtual {p0}, Lcom/taboola/android/monitor/TBAuthentication;->getPassword()Ljava/lang/String;

    move-result-object p0

    goto :goto_30

    :cond_2e
    const-string p0, ""

    .line 67
    :goto_30
    invoke-static {p0}, Lcom/taboola/android/utils/SecurityUtils;->getSHA256(Ljava/lang/String;)Ljava/lang/String;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object p0

    const-string v2, "376c21021b2800b444ae9214a5b251460c04490611dadf1585987e12ce0b6c21"

    .line 68
    invoke-static {v2, p0}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z

    move-result v1
    :try_end_3e
    .catch Ljava/lang/Exception; {:try_start_6 .. :try_end_3e} :catch_3f

    goto :goto_49

    :catch_3f
    move-exception p0

    .line 71
    invoke-virtual {p0}, Ljava/lang/Exception;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "TBSdkFeature"

    invoke-static {v3, v2, p0}, Lcom/taboola/android/utils/Logger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    :goto_49
    if-nez v1, :cond_5b

    .line 76
    invoke-virtual {v0}, Landroid/util/SparseArray;->clear()V

    .line 77
    new-instance p0, Lcom/taboola/android/monitor/TBSuspendMonitor;

    invoke-direct {p0}, Lcom/taboola/android/monitor/TBSuspendMonitor;-><init>()V

    const/4 v1, 0x1

    .line 78
    invoke-virtual {p0, v1}, Lcom/taboola/android/monitor/TBSuspendMonitor;->setShouldSuspend(Z)V

    const/4 v1, 0x2

    .line 79
    invoke-virtual {v0, v1, p0}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V

    :cond_5b
    return-object v0
.end method

.method private static setFeature(Lorg/json/JSONObject;Ljava/lang/Class;Landroid/util/SparseArray;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Lorg/json/JSONObject;",
            "Ljava/lang/Class<",
            "+",
            "Lcom/taboola/android/monitor/TBSdkFeature;",
            ">;",
            "Landroid/util/SparseArray<",
            "Lcom/taboola/android/monitor/TBSdkFeature;",
            ">;)V"
        }
    .end annotation

    :try_start_0
    const-string v0, "KEY"

    .line 87
    invoke-virtual {p1, v0}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v0

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/lang/reflect/Field;->getInt(Ljava/lang/Object;)I

    move-result v0

    .line 89
    invoke-static {v0}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {p0, v1}, Lorg/json/JSONObject;->optJSONObject(Ljava/lang/String;)Lorg/json/JSONObject;

    move-result-object p0

    if-eqz p0, :cond_2c

    .line 91
    invoke-virtual {p1}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Lcom/taboola/android/monitor/TBSdkFeature;

    .line 92
    invoke-virtual {p1, p0}, Lcom/taboola/android/monitor/TBSdkFeature;->initFromJSON(Lorg/json/JSONObject;)V

    .line 93
    invoke-virtual {p2, v0, p1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
    :try_end_21
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_21} :catch_22

    goto :goto_2c

    :catch_22
    move-exception p0

    .line 96
    invoke-virtual {p0}, Ljava/lang/Exception;->toString()Ljava/lang/String;

    move-result-object p1

    const-string p2, "TBSdkFeature"

    invoke-static {p2, p1, p0}, Lcom/taboola/android/utils/Logger;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V

    :cond_2c
    :goto_2c
    return-void
.end method