JSONHelper.smali
.class public Lcom/tradplus/ads/common/JSONHelper;
.super Ljava/lang/Object;
# static fields
.field private static a:Ljava/lang/String; = "JSONHelper"
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static a(Ljava/lang/Class;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
:cond_4
invoke-virtual {p0}, Ljava/lang/Class;->isInterface()Z
move-result v0
if-eqz v0, :cond_4b
const-class v0, Ljava/util/Map;
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_18
new-instance p0, Ljava/util/HashMap;
invoke-direct {p0}, Ljava/util/HashMap;-><init>()V
goto :goto_4f
:cond_18
const-class v0, Ljava/util/List;
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_26
new-instance p0, Ljava/util/ArrayList;
invoke-direct {p0}, Ljava/util/ArrayList;-><init>()V
goto :goto_4f
:cond_26
const-class v0, Ljava/util/Set;
invoke-virtual {p0, v0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_34
new-instance p0, Ljava/util/HashSet;
invoke-direct {p0}, Ljava/util/HashSet;-><init>()V
goto :goto_4f
:cond_34
new-instance v0, Lorg/json/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "unknown interface: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Lorg/json/JSONException;-><init>(Ljava/lang/String;)V
throw v0
:cond_4b
:try_start_4b
invoke-virtual {p0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object p0
:try_end_4f
.catch Ljava/lang/Exception; {:try_start_4b .. :try_end_4f} :catch_50
:goto_4f
return-object p0
:catch_50
new-instance v0, Lorg/json/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "unknown class type: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Lorg/json/JSONException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private static a(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Field;Lorg/json/JSONObject;)V
.registers 6
invoke-virtual {p2}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object p2
:try_start_8
invoke-static {p2}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_1c
invoke-virtual {p3, v0}, Lorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object;
move-result-object p3
if-eqz p3, :cond_2b
invoke-virtual {p2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p2
:goto_18
invoke-static {p0, p1, p2, p3}, Lcom/tradplus/ads/common/JSONHelper;->setFiedlValue(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Object;)V
goto :goto_2b
:cond_1c
invoke-virtual {p3, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object p3
if-eqz p3, :cond_2b
invoke-virtual {p2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object p2
:try_end_26
.catch Ljava/lang/Exception; {:try_start_8 .. :try_end_26} :catch_27
goto :goto_18
:catch_27
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:cond_2b
:goto_2b
return-void
.end method
.method private static a(Ljava/lang/Object;Lorg/json/JSONObject;)V
.registers 5
:try_start_0
invoke-virtual {p1}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
move-result-object v0
check-cast p0, Ljava/util/Map;
:goto_6
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1e
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {p1, v1}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v2
invoke-interface {p0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_19
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_19} :catch_1a
goto :goto_6
:catch_1a
move-exception p0
invoke-virtual {p0}, Lorg/json/JSONException;->printStackTrace()V
:cond_1e
return-void
.end method
.method private static a(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.registers 4
invoke-static {p1}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_10
const/4 p1, 0x0
:try_start_7
invoke-virtual {p0, p1}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
:try_end_a
.catch Lorg/json/JSONException; {:try_start_7 .. :try_end_a} :catch_b
goto :goto_f
:catch_b
move-exception p0
invoke-virtual {p0}, Lorg/json/JSONException;->printStackTrace()V
:goto_f
return-void
:cond_10
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-static {v0}, Lcom/tradplus/ads/common/JSONHelper;->c(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_1e
invoke-static {p0, p1}, Lcom/tradplus/ads/common/JSONHelper;->c(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_48
:cond_1e
invoke-static {v0}, Lcom/tradplus/ads/common/JSONHelper;->isArray(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_28
invoke-static {p0, p1}, Lcom/tradplus/ads/common/JSONHelper;->b(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_48
:cond_28
invoke-static {v0}, Lcom/tradplus/ads/common/JSONHelper;->isCollection(Ljava/lang/Class;)Z
move-result v1
if-eqz v1, :cond_34
check-cast p1, Ljava/util/Collection;
invoke-static {p0, p1}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/util/Collection;)V
goto :goto_48
:cond_34
invoke-static {v0}, Lcom/tradplus/ads/common/JSONHelper;->isMap(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_40
check-cast p1, Ljava/util/HashMap;
invoke-static {p0, p1}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/util/Map;)V
goto :goto_48
:cond_40
:try_start_40
invoke-virtual {p0, p1}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
:try_end_43
.catch Lorg/json/JSONException; {:try_start_40 .. :try_end_43} :catch_44
goto :goto_48
:catch_44
move-exception p0
invoke-virtual {p0}, Lorg/json/JSONException;->printStackTrace()V
:goto_48
return-void
.end method
.method private static a(Lorg/json/JSONStringer;Ljava/util/Collection;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONStringer;",
"Ljava/util/Collection<",
"*>;)V"
}
.end annotation
:try_start_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
invoke-interface {p1}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_7
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_15
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
invoke-static {p0, v0}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_7
:cond_15
invoke-virtual {p0}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
:try_end_18
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_18} :catch_19
goto :goto_1d
:catch_19
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:goto_1d
return-void
.end method
.method private static a(Lorg/json/JSONStringer;Ljava/util/Map;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONStringer;",
"Ljava/util/Map<",
"**>;)V"
}
.end annotation
:try_start_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_b
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_28
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
invoke-virtual {p0, v1}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-static {p0, v0}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_b
:cond_28
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
:try_end_2b
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2b} :catch_2c
goto :goto_30
:catch_2c
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:goto_30
return-void
.end method
.method private static a(Ljava/lang/Object;)Z
.registers 4
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
const/4 v2, 0x1
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Integer;
if-eqz v0, :cond_f
goto/16 :goto_71
:cond_f
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Long;
if-eqz v0, :cond_1c
goto :goto_71
:cond_1c
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Short;
if-eqz v0, :cond_29
goto :goto_71
:cond_29
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Byte;
if-eqz v0, :cond_36
goto :goto_71
:cond_36
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Boolean;
if-eqz v0, :cond_43
goto :goto_71
:cond_43
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Double;
if-eqz v0, :cond_50
goto :goto_71
:cond_50
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Float;
if-eqz v0, :cond_5d
goto :goto_71
:cond_5d
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
sget-object v1, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
if-eq v0, v1, :cond_71
instance-of v0, p0, Ljava/lang/Character;
if-eqz v0, :cond_6a
goto :goto_71
:cond_6a
instance-of p0, p0, Ljava/lang/String;
if-eqz p0, :cond_6f
return v2
:cond_6f
const/4 p0, 0x0
return p0
:cond_71
:goto_71
return v2
.end method
.method private static b(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.registers 4
:try_start_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
const/4 v0, 0x0
:goto_4
invoke-static {p1}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v1
if-ge v0, v1, :cond_14
invoke-static {p1, v0}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v1
invoke-static {p0, v1}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/lang/Object;)V
add-int/lit8 v0, v0, 0x1
goto :goto_4
:cond_14
invoke-virtual {p0}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
:try_end_17
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_17} :catch_18
goto :goto_1c
:catch_18
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:goto_1c
return-void
.end method
.method private static b(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->isBoolean(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_15
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->isNumber(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_15
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->isString(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_13
goto :goto_15
:cond_13
const/4 p0, 0x0
goto :goto_16
:cond_15
:goto_15
const/4 p0, 0x1
:goto_16
return p0
.end method
.method private static b(Ljava/lang/Object;)Z
.registers 2
instance-of v0, p0, Lorg/json/JSONObject;
if-eqz v0, :cond_b
sget-object v0, Lorg/json/JSONObject;->NULL:Ljava/lang/Object;
invoke-virtual {v0, p0}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result p0
return p0
:cond_b
if-nez p0, :cond_f
const/4 p0, 0x1
goto :goto_10
:cond_f
const/4 p0, 0x0
:goto_10
return p0
.end method
.method public static beanToMap(Ljava/lang/Object;)Ljava/util/Map;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
new-instance v1, Ljava/util/HashMap;
invoke-direct {v1}, Ljava/util/HashMap;-><init>()V
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v2
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v3
array-length v4, v3
const/4 v5, 0x0
const/4 v6, 0x0
:goto_14
if-ge v6, v4, :cond_66
aget-object v7, v3, v6
:try_start_18
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v8
invoke-virtual {v8}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v9
const-string v10, "get"
invoke-static {v9, v10}, Lcom/tradplus/ads/common/JSONHelper;->parseMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
invoke-static {v2, v9}, Lcom/tradplus/ads/common/JSONHelper;->haveMethod([Ljava/lang/reflect/Method;Ljava/lang/String;)Z
move-result v10
if-nez v10, :cond_31
goto :goto_63
:cond_31
new-array v10, v5, [Ljava/lang/Class;
invoke-virtual {v0, v9, v10}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v9
new-array v10, v5, [Ljava/lang/Object;
invoke-virtual {v9, p0, v10}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
const/4 v10, 0x0
const-string v11, "Date"
invoke-virtual {v11, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_56
new-instance v8, Ljava/text/SimpleDateFormat;
const-string v10, "yyyy-MM-dd HH:mm:ss"
sget-object v11, Ljava/util/Locale;->CHINA:Ljava/util/Locale;
invoke-direct {v8, v10, v11}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
check-cast v9, Ljava/util/Date;
invoke-virtual {v8, v9}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v10
goto :goto_5c
:cond_56
if-eqz v9, :cond_5c
invoke-static {v9}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v10
:cond_5c
:goto_5c
invoke-virtual {v7}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v7
invoke-interface {v1, v7, v10}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:try_end_63
.catch Ljava/lang/Exception; {:try_start_18 .. :try_end_63} :catch_63
:catch_63
:goto_63
add-int/lit8 v6, v6, 0x1
goto :goto_14
:cond_66
return-object v1
.end method
.method private static c(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.registers 13
:try_start_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v2
array-length v3, v2
const/4 v4, 0x0
const/4 v5, 0x0
:goto_12
if-ge v5, v3, :cond_67
aget-object v6, v2, v5
:try_end_16
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_16} :catch_6b
:try_start_16
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v7
invoke-virtual {v7}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v7
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v8
const-string v9, "get"
invoke-static {v8, v9}, Lcom/tradplus/ads/common/JSONHelper;->parseMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
invoke-static {v1, v8}, Lcom/tradplus/ads/common/JSONHelper;->haveMethod([Ljava/lang/reflect/Method;Ljava/lang/String;)Z
move-result v9
if-nez v9, :cond_2f
goto :goto_64
:cond_2f
new-array v9, v4, [Ljava/lang/Class;
invoke-virtual {v0, v8, v9}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v8
new-array v9, v4, [Ljava/lang/Object;
invoke-virtual {v8, p1, v9}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v8
const/4 v9, 0x0
const-string v10, "Date"
invoke-virtual {v10, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_54
new-instance v7, Ljava/text/SimpleDateFormat;
const-string v9, "yyyy-MM-dd HH:mm:ss"
sget-object v10, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-direct {v7, v9, v10}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
check-cast v8, Ljava/util/Date;
invoke-virtual {v7, v8}, Ljava/text/SimpleDateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
move-result-object v9
goto :goto_5a
:cond_54
if-eqz v8, :cond_5a
invoke-static {v8}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v9
:cond_5a
:goto_5a
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v6
invoke-virtual {p0, v6}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
invoke-static {p0, v9}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/lang/Object;)V
:try_end_64
.catch Ljava/lang/Exception; {:try_start_16 .. :try_end_64} :catch_64
:catch_64
:goto_64
add-int/lit8 v5, v5, 0x1
goto :goto_12
:cond_67
:try_start_67
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
:try_end_6a
.catch Ljava/lang/Exception; {:try_start_67 .. :try_end_6a} :catch_6b
goto :goto_6f
:catch_6b
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:goto_6f
return-void
.end method
.method private static c(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_1c
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_1c
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->isArray(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_1c
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->isCollection(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_1c
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->isMap(Ljava/lang/Class;)Z
move-result p0
if-nez p0, :cond_1c
const/4 p0, 0x1
goto :goto_1d
:cond_1c
const/4 p0, 0x0
:goto_1d
return p0
.end method
.method public static haveMethod([Ljava/lang/reflect/Method;Ljava/lang/String;)Z
.registers 6
array-length v0, p0
const/4 v1, 0x0
const/4 v2, 0x0
:goto_3
if-ge v2, v0, :cond_16
aget-object v3, p0, v2
invoke-virtual {v3}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v3
invoke-virtual {p1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_13
const/4 p0, 0x1
return p0
:cond_13
add-int/lit8 v2, v2, 0x1
goto :goto_3
:cond_16
return v1
.end method
.method public static isArray(Ljava/lang/Class;)Z
.registers 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_a
invoke-virtual {p0}, Ljava/lang/Class;->isArray()Z
move-result p0
if-eqz p0, :cond_a
const/4 p0, 0x1
goto :goto_b
:cond_a
const/4 p0, 0x0
:goto_b
return p0
.end method
.method public static isBoolean(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_14
sget-object v0, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_12
const-class v0, Ljava/lang/Boolean;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_14
:cond_12
const/4 p0, 0x1
goto :goto_15
:cond_14
const/4 p0, 0x0
:goto_15
return p0
.end method
.method public static isCollection(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_c
const-class v0, Ljava/util/Collection;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_c
const/4 p0, 0x1
goto :goto_d
:cond_c
const/4 p0, 0x0
:goto_d
return p0
.end method
.method public static isList(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_c
const-class v0, Ljava/util/List;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_c
const/4 p0, 0x1
goto :goto_d
:cond_c
const/4 p0, 0x0
:goto_d
return p0
.end method
.method public static isMap(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_c
const-class v0, Ljava/util/Map;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_c
const/4 p0, 0x1
goto :goto_d
:cond_c
const/4 p0, 0x0
:goto_d
return p0
.end method
.method public static isNumber(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_3c
sget-object v0, Ljava/lang/Byte;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_3a
sget-object v0, Ljava/lang/Short;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_3a
sget-object v0, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_3a
sget-object v0, Ljava/lang/Long;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_3a
sget-object v0, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_3a
sget-object v0, Ljava/lang/Double;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_3a
const-class v0, Ljava/lang/Number;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_3c
:cond_3a
const/4 p0, 0x1
goto :goto_3d
:cond_3c
const/4 p0, 0x0
:goto_3d
return p0
.end method
.method public static isString(Ljava/lang/Class;)Z
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)Z"
}
.end annotation
if-eqz p0, :cond_1c
const-class v0, Ljava/lang/String;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_1a
sget-object v0, Ljava/lang/Character;->TYPE:Ljava/lang/Class;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result v0
if-nez v0, :cond_1a
const-class v0, Ljava/lang/Character;
invoke-virtual {v0, p0}, Ljava/lang/Class;->isAssignableFrom(Ljava/lang/Class;)Z
move-result p0
if-eqz p0, :cond_1c
:cond_1a
const/4 p0, 0x1
goto :goto_1d
:cond_1c
const/4 p0, 0x0
:goto_1d
return p0
.end method
.method public static obj2Json(Ljava/lang/Object;)Ljava/lang/String;
.registers 9
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
:cond_4
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
invoke-virtual {v0}, Ljava/lang/Class;->getMethods()[Ljava/lang/reflect/Method;
move-result-object v0
:try_start_11
array-length v2, v0
const/4 v3, 0x0
const/4 v4, 0x0
:goto_14
if-ge v4, v2, :cond_72
aget-object v5, v0, v4
invoke-virtual {v5}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v6
const-string v7, "get"
invoke-virtual {v6, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_6b
invoke-virtual {v5}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v6
const-string v7, "getClass"
invoke-virtual {v6, v7}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v6
if-nez v6, :cond_6b
new-array v6, v3, [Ljava/lang/Object;
invoke-virtual {v5, p0, v6}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v6
if-nez v6, :cond_39
goto :goto_6b
:cond_39
invoke-virtual {v5}, Ljava/lang/reflect/Method;->getName()Ljava/lang/String;
move-result-object v5
const/4 v7, 0x3
invoke-virtual {v5, v7}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v5
sget-object v7, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {v5, v7}, Ljava/lang/String;->toLowerCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object v5
const-string v7, "fill"
invoke-virtual {v5, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_52
const-string v5, "if"
:cond_52
const-string v7, "appid"
invoke-virtual {v5, v7}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_5c
const-string v5, "appId"
:cond_5c
invoke-static {v6}, Lcom/tradplus/ads/common/JSONHelper;->a(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_66
:goto_62
invoke-virtual {v1, v5, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_6b
:cond_66
invoke-static {v6}, Lcom/tradplus/ads/common/JSONHelper;->obj2Json(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v6
:try_end_6a
.catch Ljava/lang/Exception; {:try_start_11 .. :try_end_6a} :catch_6e
goto :goto_62
:cond_6b
:goto_6b
add-int/lit8 v4, v4, 0x1
goto :goto_14
:catch_6e
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:cond_72
invoke-virtual {v1}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static parseArray(Ljava/lang/String;Ljava/lang/Class;)[Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)[TT;"
}
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_23
if-eqz p0, :cond_23
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_c
goto :goto_23
:cond_c
:try_start_c
new-instance v1, Lorg/json/JSONArray;
invoke-direct {v1, p0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
:try_end_11
.catch Lorg/json/JSONException; {:try_start_c .. :try_end_11} :catch_12
goto :goto_17
:catch_12
move-exception p0
invoke-virtual {p0}, Lorg/json/JSONException;->printStackTrace()V
move-object v1, v0
:goto_17
invoke-static {v1}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_1e
return-object v0
:cond_1e
invoke-static {v1, p1}, Lcom/tradplus/ads/common/JSONHelper;->parseArray(Lorg/json/JSONArray;Ljava/lang/Class;)[Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_23
:goto_23
return-object v0
.end method
.method public static parseArray(Lorg/json/JSONArray;Ljava/lang/Class;)[Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lorg/json/JSONArray;",
"Ljava/lang/Class<",
"TT;>;)[TT;"
}
.end annotation
if-eqz p1, :cond_29
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_9
goto :goto_29
:cond_9
invoke-virtual {p0}, Lorg/json/JSONArray;->length()I
move-result v0
invoke-static {p1, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
move-result-object v1
check-cast v1, [Ljava/lang/Object;
const/4 v2, 0x0
:goto_14
if-ge v2, v0, :cond_28
:try_start_16
invoke-virtual {p0, v2}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
move-result-object v3
invoke-static {v3, p1}, Lcom/tradplus/ads/common/JSONHelper;->parseObject(Lorg/json/JSONObject;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v3
aput-object v3, v1, v2
:try_end_20
.catch Lorg/json/JSONException; {:try_start_16 .. :try_end_20} :catch_21
goto :goto_25
:catch_21
move-exception v3
invoke-virtual {v3}, Lorg/json/JSONException;->printStackTrace()V
:goto_25
add-int/lit8 v2, v2, 0x1
goto :goto_14
:cond_28
return-object v1
:cond_29
:goto_29
const/4 p0, 0x0
return-object p0
.end method
.method public static parseCollection(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Collection;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"TT;>;)",
"Ljava/util/Collection<",
"TT;>;"
}
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_3d
if-eqz p2, :cond_3d
if-eqz p0, :cond_3d
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_e
goto :goto_3d
:cond_e
:try_start_e
const-string v1, "["
invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v1
const/4 v2, -0x1
if-eq v2, v1, :cond_1c
invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
goto :goto_1d
:cond_1c
move-object v1, v0
:goto_1d
if-eqz v1, :cond_25
new-instance p0, Lorg/json/JSONArray;
invoke-direct {p0, v1}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
goto :goto_31
:cond_25
new-instance v1, Lorg/json/JSONArray;
invoke-direct {v1, p0}, Lorg/json/JSONArray;-><init>(Ljava/lang/String;)V
:try_end_2a
.catch Lorg/json/JSONException; {:try_start_e .. :try_end_2a} :catch_2c
move-object p0, v1
goto :goto_31
:catch_2c
move-exception p0
invoke-virtual {p0}, Lorg/json/JSONException;->printStackTrace()V
move-object p0, v0
:goto_31
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_38
return-object v0
:cond_38
invoke-static {p0, p1, p2}, Lcom/tradplus/ads/common/JSONHelper;->parseCollection(Lorg/json/JSONArray;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Collection;
move-result-object p0
return-object p0
:cond_3d
:goto_3d
return-object v0
.end method
.method public static parseCollection(Lorg/json/JSONArray;Ljava/lang/Class;Ljava/lang/Class;)Ljava/util/Collection;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lorg/json/JSONArray;",
"Ljava/lang/Class<",
"*>;",
"Ljava/lang/Class<",
"TT;>;)",
"Ljava/util/Collection<",
"TT;>;"
}
.end annotation
if-eqz p1, :cond_2c
if-eqz p2, :cond_2c
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b
goto :goto_2c
:cond_b
invoke-static {p1}, Lcom/tradplus/ads/common/JSONHelper;->a(Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/Collection;
const/4 v0, 0x0
:goto_12
invoke-virtual {p0}, Lorg/json/JSONArray;->length()I
move-result v1
if-ge v0, v1, :cond_2b
:try_start_18
invoke-virtual {p0, v0}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
move-result-object v1
invoke-static {v1, p2}, Lcom/tradplus/ads/common/JSONHelper;->parseObject(Lorg/json/JSONObject;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v1
invoke-interface {p1, v1}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
:try_end_23
.catch Lorg/json/JSONException; {:try_start_18 .. :try_end_23} :catch_24
goto :goto_28
:catch_24
move-exception v1
invoke-virtual {v1}, Lorg/json/JSONException;->printStackTrace()V
:goto_28
add-int/lit8 v0, v0, 0x1
goto :goto_12
:cond_2b
return-object p1
:cond_2c
:goto_2c
const/4 p0, 0x0
return-object p0
.end method
.method public static parseMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 5
if-eqz p0, :cond_2e
const-string v0, ""
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_b
goto :goto_2e
:cond_b
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/4 p1, 0x0
const/4 v1, 0x1
invoke-virtual {p0, p1, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p1
sget-object v2, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-virtual {p1, v2}, Ljava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:cond_2e
:goto_2e
const/4 p0, 0x0
return-object p0
.end method
.method public static parseObject(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/lang/String;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_1d
if-eqz p0, :cond_1d
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_c
goto :goto_1d
:cond_c
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
invoke-static {v1}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_18
return-object v0
:cond_18
invoke-static {v1, p1}, Lcom/tradplus/ads/common/JSONHelper;->parseObject(Lorg/json/JSONObject;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p0
return-object p0
:cond_1d
:goto_1d
return-object v0
.end method
.method public static parseObject(Lorg/json/JSONObject;Ljava/lang/Class;)Ljava/lang/Object;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lorg/json/JSONObject;",
"Ljava/lang/Class<",
"TT;>;)TT;"
}
.end annotation
const/4 v0, 0x0
if-eqz p1, :cond_85
invoke-static {p0}, Lcom/tradplus/ads/common/JSONHelper;->b(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_b
goto/16 :goto_85
:cond_b
invoke-static {p1}, Lcom/tradplus/ads/common/JSONHelper;->a(Ljava/lang/Class;)Ljava/lang/Object;
move-result-object v1
if-nez v1, :cond_12
return-object v0
:cond_12
invoke-static {p1}, Lcom/tradplus/ads/common/JSONHelper;->isMap(Ljava/lang/Class;)Z
move-result v0
if-eqz v0, :cond_1c
invoke-static {v1, p0}, Lcom/tradplus/ads/common/JSONHelper;->a(Ljava/lang/Object;Lorg/json/JSONObject;)V
goto :goto_84
:cond_1c
invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v0
invoke-virtual {p1}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v2
array-length v3, v2
const/4 v4, 0x0
const/4 v5, 0x0
:goto_27
if-ge v5, v3, :cond_84
aget-object v6, v2, v5
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v7
const-string v8, "set"
invoke-static {v7, v8}, Lcom/tradplus/ads/common/JSONHelper;->parseMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "locale \u8f6c\u6362\u524d = "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Lcom/tradplus/ads/common/util/LogUtil;->ownShow(Ljava/lang/String;)V
const-string v8, "\u0130"
const-string v9, "I"
invoke-virtual {v7, v8, v9}, Ljava/lang/String;->replace(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
move-result-object v7
new-instance v8, Ljava/lang/StringBuilder;
invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V
const-string v9, "locale \u8f6c\u6362\u540e = "
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v8
invoke-static {v8}, Lcom/tradplus/ads/common/util/LogUtil;->ownShow(Ljava/lang/String;)V
invoke-static {v0, v7}, Lcom/tradplus/ads/common/JSONHelper;->haveMethod([Ljava/lang/reflect/Method;Ljava/lang/String;)Z
move-result v8
if-nez v8, :cond_6c
goto :goto_81
:cond_6c
const/4 v8, 0x1
:try_start_6d
new-array v8, v8, [Ljava/lang/Class;
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v9
aput-object v9, v8, v4
invoke-virtual {p1, v7, v8}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v7
invoke-static {v1, v7, v6, p0}, Lcom/tradplus/ads/common/JSONHelper;->a(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/reflect/Field;Lorg/json/JSONObject;)V
:try_end_7c
.catch Ljava/lang/Exception; {:try_start_6d .. :try_end_7c} :catch_7d
goto :goto_81
:catch_7d
move-exception v6
invoke-virtual {v6}, Ljava/lang/Exception;->printStackTrace()V
:goto_81
add-int/lit8 v5, v5, 0x1
goto :goto_27
:cond_84
:goto_84
return-object v1
:cond_85
:goto_85
return-object v0
.end method
.method public static setFiedlValue(Ljava/lang/Object;Ljava/lang/reflect/Method;Ljava/lang/String;Ljava/lang/Object;)V
.registers 8
if-eqz p3, :cond_e5
:try_start_2
const-string v0, ""
invoke-virtual {v0, p3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_e5
const-string v0, "String"
invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz v0, :cond_21
new-array p2, v2, [Ljava/lang/Object;
invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p3
aput-object p3, p2, v1
invoke-virtual {p1, p0, p2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_e5
:cond_21
const-string v0, "Date"
invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_43
new-instance p2, Ljava/text/SimpleDateFormat;
const-string v0, "yyyy-MM-dd HH:mm:ss"
sget-object v3, Ljava/util/Locale;->CHINA:Ljava/util/Locale;
invoke-direct {p2, v0, v3}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object p2
new-array p3, v2, [Ljava/lang/Object;
aput-object p2, p3, v1
invoke-virtual {p1, p0, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_e5
:cond_43
const-string v0, "Integer"
invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_cd
const-string v0, "int"
invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_55
goto/16 :goto_cd
:cond_55
const-string v0, "Long"
invoke-virtual {v0, p2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_72
invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide p2
invoke-static {p2, p3}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p2
new-array p3, v2, [Ljava/lang/Object;
aput-object p2, p3, v1
invoke-virtual {p1, p0, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_e5
:cond_72
const-string v0, "Double"
invoke-virtual {v0, p2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_8e
invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide p2
invoke-static {p2, p3}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p2
new-array p3, v2, [Ljava/lang/Object;
aput-object p2, p3, v1
invoke-virtual {p1, p0, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_e5
:cond_8e
const-string v0, "Boolean"
invoke-virtual {v0, p2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_aa
invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Ljava/lang/Boolean;->parseBoolean(Ljava/lang/String;)Z
move-result p2
invoke-static {p2}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p2
new-array p3, v2, [Ljava/lang/Object;
aput-object p2, p3, v1
invoke-virtual {p1, p0, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_e5
:cond_aa
new-array v0, v2, [Ljava/lang/Object;
aput-object p3, v0, v1
invoke-virtual {p1, p0, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
sget-object p0, Lcom/tradplus/ads/common/JSONHelper;->a:Ljava/lang/String;
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
sget-object p3, Lcom/tradplus/ads/common/JSONHelper;->a:Ljava/lang/String;
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p3, ">>>>setFiedlValue -> not supper type"
invoke-virtual {p1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_e5
:cond_cd
:goto_cd
invoke-virtual {p3}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p2
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p2
new-array p3, v2, [Ljava/lang/Object;
aput-object p2, p3, v1
invoke-virtual {p1, p0, p3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_e0
.catch Ljava/lang/Exception; {:try_start_2 .. :try_end_e0} :catch_e1
goto :goto_e5
:catch_e1
move-exception p0
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
:cond_e5
:goto_e5
return-void
.end method
.method public static setFieldValue(Ljava/lang/Object;Ljava/util/Map;)V
.registers 14
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredMethods()[Ljava/lang/reflect/Method;
move-result-object v1
invoke-virtual {v0}, Ljava/lang/Class;->getDeclaredFields()[Ljava/lang/reflect/Field;
move-result-object v2
array-length v3, v2
const/4 v4, 0x0
const/4 v5, 0x0
:goto_f
if-ge v5, v3, :cond_e8
aget-object v6, v2, v5
:try_start_13
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v7
const-string v8, "set"
invoke-static {v7, v8}, Lcom/tradplus/ads/common/JSONHelper;->parseMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
invoke-static {v1, v7}, Lcom/tradplus/ads/common/JSONHelper;->haveMethod([Ljava/lang/reflect/Method;Ljava/lang/String;)Z
move-result v8
if-nez v8, :cond_25
goto/16 :goto_e4
:cond_25
const/4 v8, 0x1
new-array v9, v8, [Ljava/lang/Class;
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v10
aput-object v10, v9, v4
invoke-virtual {v0, v7, v9}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v7
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getName()Ljava/lang/String;
move-result-object v9
invoke-interface {p1, v9}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v9
check-cast v9, Ljava/lang/String;
if-eqz v9, :cond_e4
const-string v10, ""
invoke-virtual {v10, v9}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-nez v10, :cond_e4
invoke-virtual {v6}, Ljava/lang/reflect/Field;->getType()Ljava/lang/Class;
move-result-object v6
invoke-virtual {v6}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v6
const-string v10, "String"
invoke-virtual {v10, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_5f
new-array v6, v8, [Ljava/lang/Object;
aput-object v9, v6, v4
invoke-virtual {v7, p0, v6}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto/16 :goto_e4
:cond_5f
const-string v10, "Date"
invoke-virtual {v10, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_7c
new-instance v6, Ljava/text/SimpleDateFormat;
const-string v10, "yyyy-MM-dd HH:mm:ss"
sget-object v11, Ljava/util/Locale;->US:Ljava/util/Locale;
invoke-direct {v6, v10, v11}, Ljava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
invoke-virtual {v6, v9}, Ljava/text/SimpleDateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
move-result-object v6
new-array v8, v8, [Ljava/lang/Object;
aput-object v6, v8, v4
invoke-virtual {v7, p0, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_e4
:cond_7c
const-string v10, "Integer"
invoke-virtual {v10, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-nez v10, :cond_d5
const-string v10, "int"
invoke-virtual {v10, v6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v10
if-eqz v10, :cond_8d
goto :goto_d5
:cond_8d
const-string v10, "Long"
invoke-virtual {v10, v6}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v10
if-eqz v10, :cond_a5
invoke-static {v9}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v9
invoke-static {v9, v10}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v6
new-array v8, v8, [Ljava/lang/Object;
aput-object v6, v8, v4
invoke-virtual {v7, p0, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_e4
:cond_a5
const-string v10, "Double"
invoke-virtual {v10, v6}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v10
if-eqz v10, :cond_bd
invoke-static {v9}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v9
invoke-static {v9, v10}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object v6
new-array v8, v8, [Ljava/lang/Object;
aput-object v6, v8, v4
invoke-virtual {v7, p0, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_e4
:cond_bd
const-string v10, "Boolean"
invoke-virtual {v10, v6}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v6
if-eqz v6, :cond_e4
invoke-static {v9}, Ljava/lang/Boolean;->parseBoolean(Ljava/lang/String;)Z
move-result v6
invoke-static {v6}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v6
new-array v8, v8, [Ljava/lang/Object;
aput-object v6, v8, v4
invoke-virtual {v7, p0, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_e4
:cond_d5
:goto_d5
invoke-static {v9}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result v6
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
new-array v8, v8, [Ljava/lang/Object;
aput-object v6, v8, v4
invoke-virtual {v7, p0, v8}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_e4
.catch Ljava/lang/Exception; {:try_start_13 .. :try_end_e4} :catch_e4
:catch_e4
:cond_e4
:goto_e4
add-int/lit8 v5, v5, 0x1
goto/16 :goto_f
:cond_e8
return-void
.end method
.method public static toJSON(Ljava/lang/Object;)Ljava/lang/String;
.registers 2
new-instance v0, Lorg/json/JSONStringer;
invoke-direct {v0}, Lorg/json/JSONStringer;-><init>()V
invoke-static {v0, p0}, Lcom/tradplus/ads/common/JSONHelper;->a(Lorg/json/JSONStringer;Ljava/lang/Object;)V
invoke-virtual {v0}, Lorg/json/JSONStringer;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method