AvidJSONUtil.smali
.class public Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final KEY_CHILD_VIEWS:Ljava/lang/String; = "childViews"
.field public static final KEY_HEIGHT:Ljava/lang/String; = "height"
.field public static final KEY_ID:Ljava/lang/String; = "id"
.field public static final KEY_IS_FRIENDLY_OBSTRUCTION_FOR:Ljava/lang/String; = "isFriendlyObstructionFor"
.field public static final KEY_ROOT_VIEW:Ljava/lang/String; = "rootView"
.field public static final KEY_TIMESTAMP:Ljava/lang/String; = "timestamp"
.field public static final KEY_WIDTH:Ljava/lang/String; = "width"
.field public static final KEY_X:Ljava/lang/String; = "x"
.field public static final KEY_Y:Ljava/lang/String; = "y"
.field static a:F
.field private static b:[Ljava/lang/String;
# direct methods
.method static constructor <clinit>()V
.registers 4
const-string v0, "x"
const-string v1, "y"
const-string v2, "width"
const-string v3, "height"
.line 26
filled-new-array {v0, v1, v2, v3}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->b:[Ljava/lang/String;
.line 28
invoke-static {}, Landroid/content/res/Resources;->getSystem()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
sput v0, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a:F
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static a(Lorg/json/JSONArray;Lorg/json/JSONArray;)Z
.registers 4
const/4 v0, 0x1
if-nez p0, :cond_6
if-nez p1, :cond_6
return v0
:cond_6
const/4 v1, 0x0
if-nez p0, :cond_b
if-nez p1, :cond_f
:cond_b
if-eqz p0, :cond_10
if-nez p1, :cond_10
:cond_f
return v1
.line 201
:cond_10
invoke-virtual {p0}, Lorg/json/JSONArray;->length()I
move-result p0
invoke-virtual {p1}, Lorg/json/JSONArray;->length()I
move-result p1
if-ne p0, p1, :cond_1b
return v0
:cond_1b
return v1
.end method
.method public static addAvidId(Lorg/json/JSONObject;Ljava/lang/String;)V
.registers 3
:try_start_0
const-string v0, "id"
.line 72
invoke-virtual {p0, v0, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_5
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_5} :catch_6
return-void
:catch_6
move-exception p0
const-string p1, "Error with setting avid id"
.line 75
invoke-static {p1, p0}, Lcom/integralads/avid/library/mopub/utils/AvidLogs;->e(Ljava/lang/String;Ljava/lang/Exception;)V
return-void
.end method
.method public static addChildState(Lorg/json/JSONObject;Lorg/json/JSONObject;)V
.registers 4
const-string v0, "childViews"
.line 94
:try_start_2
invoke-virtual {p0, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v1
if-nez v1, :cond_10
.line 96
new-instance v1, Lorg/json/JSONArray;
invoke-direct {v1}, Lorg/json/JSONArray;-><init>()V
.line 97
invoke-virtual {p0, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 99
:cond_10
invoke-virtual {v1, p1}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
:try_end_13
.catch Lorg/json/JSONException; {:try_start_2 .. :try_end_13} :catch_13
:catch_13
return-void
.end method
.method public static addFriendlyObstruction(Lorg/json/JSONObject;Ljava/util/List;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONObject;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 80
new-instance v0, Lorg/json/JSONArray;
invoke-direct {v0}, Lorg/json/JSONArray;-><init>()V
.line 81
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_9
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_19
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 82
invoke-virtual {v0, v1}, Lorg/json/JSONArray;->put(Ljava/lang/Object;)Lorg/json/JSONArray;
goto :goto_9
:cond_19
:try_start_19
const-string p1, "isFriendlyObstructionFor"
.line 85
invoke-virtual {p0, p1, v0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_1e
.catch Lorg/json/JSONException; {:try_start_19 .. :try_end_1e} :catch_1f
return-void
:catch_1f
move-exception p0
const-string p1, "Error with setting friendly obstruction"
.line 88
invoke-static {p1, p0}, Lcom/integralads/avid/library/mopub/utils/AvidLogs;->e(Ljava/lang/String;Ljava/lang/Exception;)V
return-void
.end method
.method public static equalStates(Lorg/json/JSONObject;Lorg/json/JSONObject;)Z
.registers 12
const/4 v0, 0x0
if-nez p1, :cond_4
return v0
.line 4143
:cond_4
sget-object v1, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->b:[Ljava/lang/String;
array-length v2, v1
const/4 v3, 0x0
:goto_8
const/4 v4, 0x1
if-ge v3, v2, :cond_1e
aget-object v5, v1, v3
.line 4144
invoke-virtual {p0, v5}, Lorg/json/JSONObject;->optDouble(Ljava/lang/String;)D
move-result-wide v6
invoke-virtual {p1, v5}, Lorg/json/JSONObject;->optDouble(Ljava/lang/String;)D
move-result-wide v8
cmpl-double v5, v6, v8
if-eqz v5, :cond_1b
const/4 v1, 0x0
goto :goto_1f
:cond_1b
add-int/lit8 v3, v3, 0x1
goto :goto_8
:cond_1e
const/4 v1, 0x1
:goto_1f
if-eqz v1, :cond_94
const-string v1, "id"
const-string v2, ""
.line 4152
invoke-virtual {p0, v1, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {p1, v1, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v3, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_94
const-string v1, "isFriendlyObstructionFor"
.line 4156
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v3
.line 4157
invoke-virtual {p1, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v1
.line 4158
invoke-static {v3, v1}, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a(Lorg/json/JSONArray;Lorg/json/JSONArray;)Z
move-result v5
if-nez v5, :cond_45
:goto_43
const/4 v1, 0x0
goto :goto_61
:cond_45
if-eqz v3, :cond_60
const/4 v5, 0x0
.line 4164
:goto_48
invoke-virtual {v3}, Lorg/json/JSONArray;->length()I
move-result v6
if-ge v5, v6, :cond_60
.line 4165
invoke-virtual {v3, v5, v2}, Lorg/json/JSONArray;->optString(ILjava/lang/String;)Ljava/lang/String;
move-result-object v6
.line 4166
invoke-virtual {v1, v5, v2}, Lorg/json/JSONArray;->optString(ILjava/lang/String;)Ljava/lang/String;
move-result-object v7
.line 4167
invoke-virtual {v6, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5d
goto :goto_43
:cond_5d
add-int/lit8 v5, v5, 0x1
goto :goto_48
:cond_60
const/4 v1, 0x1
:goto_61
if-eqz v1, :cond_94
const-string v1, "childViews"
.line 4175
invoke-virtual {p0, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p0
.line 4176
invoke-virtual {p1, v1}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object p1
.line 4177
invoke-static {p0, p1}, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a(Lorg/json/JSONArray;Lorg/json/JSONArray;)Z
move-result v1
if-nez v1, :cond_75
:goto_73
const/4 p0, 0x0
goto :goto_91
:cond_75
if-eqz p0, :cond_90
const/4 v1, 0x0
.line 4183
:goto_78
invoke-virtual {p0}, Lorg/json/JSONArray;->length()I
move-result v2
if-ge v1, v2, :cond_90
.line 4184
invoke-virtual {p0, v1}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v2
.line 4185
invoke-virtual {p1, v1}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v3
.line 4186
invoke-static {v2, v3}, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->equalStates(Lorg/json/JSONObject;Lorg/json/JSONObject;)Z
move-result v2
if-nez v2, :cond_8d
goto :goto_73
:cond_8d
add-int/lit8 v1, v1, 0x1
goto :goto_78
:cond_90
const/4 p0, 0x1
:goto_91
if-eqz p0, :cond_94
return v4
:cond_94
return v0
.end method
.method public static fixStateFrame(Lorg/json/JSONObject;)V
.registers 11
const-string v0, "childViews"
.line 106
invoke-virtual {p0, v0}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;
move-result-object v0
if-nez v0, :cond_9
return-void
.line 112
:cond_9
invoke-virtual {v0}, Lorg/json/JSONArray;->length()I
move-result v1
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_10
const-string v5, "height"
const-string v6, "width"
if-ge v2, v1, :cond_3d
.line 114
invoke-virtual {v0, v2}, Lorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
move-result-object v7
if-eqz v7, :cond_3a
const-string v8, "x"
.line 116
invoke-virtual {v7, v8}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result v8
const-string v9, "y"
.line 117
invoke-virtual {v7, v9}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result v9
.line 118
invoke-virtual {v7, v6}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result v6
.line 119
invoke-virtual {v7, v5}, Lorg/json/JSONObject;->optInt(Ljava/lang/String;)I
move-result v5
add-int/2addr v8, v6
.line 120
invoke-static {v3, v8}, Ljava/lang/Math;->max(II)I
move-result v3
add-int/2addr v9, v5
.line 121
invoke-static {v4, v9}, Ljava/lang/Math;->max(II)I
move-result v4
:cond_3a
add-int/lit8 v2, v2, 0x1
goto :goto_10
.line 125
:cond_3d
:try_start_3d
invoke-virtual {p0, v6, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
.line 126
invoke-virtual {p0, v5, v4}, Lorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
:try_end_43
.catch Lorg/json/JSONException; {:try_start_3d .. :try_end_43} :catch_43
:catch_43
return-void
.end method
.method public static getEmptyTreeJSONObject()Lorg/json/JSONObject;
.registers 3
const/4 v0, 0x0
.line 37
invoke-static {v0, v0, v0, v0}, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->getViewState(IIII)Lorg/json/JSONObject;
move-result-object v0
.line 38
invoke-static {}, Lcom/integralads/avid/library/mopub/utils/AvidTimestamp;->getCurrentTime()D
move-result-wide v1
invoke-static {v0, v1, v2}, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->getTreeJSONObject(Lorg/json/JSONObject;D)Lorg/json/JSONObject;
move-result-object v0
return-object v0
.end method
.method public static getTreeJSONObject(Lorg/json/JSONObject;D)Lorg/json/JSONObject;
.registers 5
.line 42
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "timestamp"
.line 44
invoke-virtual {v0, v1, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
const-string p1, "rootView"
.line 45
invoke-virtual {v0, p1, p0}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_f
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_f} :catch_10
goto :goto_16
:catch_10
move-exception p0
const-string p1, "Error with creating treeJSONObject"
.line 48
invoke-static {p1, p0}, Lcom/integralads/avid/library/mopub/utils/AvidLogs;->e(Ljava/lang/String;Ljava/lang/Exception;)V
:goto_16
return-object v0
.end method
.method public static getViewState(IIII)Lorg/json/JSONObject;
.registers 8
.line 54
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
:try_start_5
const-string v1, "x"
int-to-float p0, p0
.line 1067
sget v2, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a:F
div-float/2addr p0, v2
float-to-double v2, p0
.line 56
invoke-virtual {v0, v1, v2, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
const-string p0, "y"
int-to-float p1, p1
.line 2067
sget v1, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a:F
div-float/2addr p1, v1
float-to-double v1, p1
.line 57
invoke-virtual {v0, p0, v1, v2}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
const-string p0, "width"
int-to-float p1, p2
.line 3067
sget p2, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a:F
div-float/2addr p1, p2
float-to-double p1, p1
.line 58
invoke-virtual {v0, p0, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
const-string p0, "height"
int-to-float p1, p3
.line 4067
sget p2, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a:F
div-float/2addr p1, p2
float-to-double p1, p1
.line 59
invoke-virtual {v0, p0, p1, p2}, Lorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
:try_end_2d
.catch Lorg/json/JSONException; {:try_start_5 .. :try_end_2d} :catch_2e
goto :goto_34
:catch_2e
move-exception p0
const-string p1, "Error with creating viewStateObject"
.line 61
invoke-static {p1, p0}, Lcom/integralads/avid/library/mopub/utils/AvidLogs;->e(Ljava/lang/String;Ljava/lang/Exception;)V
:goto_34
return-object v0
.end method
.method public static init(Landroid/content/Context;)V
.registers 1
if-eqz p0, :cond_e
.line 32
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p0
invoke-virtual {p0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p0
iget p0, p0, Landroid/util/DisplayMetrics;->density:F
sput p0, Lcom/integralads/avid/library/mopub/utils/AvidJSONUtil;->a:F
:cond_e
return-void
.end method