JsonDeserializer.smali
.class public final Lcom/avast/android/feed/internal/json/JsonDeserializer;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/avast/android/feed/internal/Deserializer;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Lcom/avast/android/feed/internal/Deserializer<",
"Ljava/lang/String;",
">;"
}
.end annotation
# instance fields
.field private a:Lcom/google/gson/Gson;
.field private final b:Lcom/google/gson/GsonBuilder;
.field private final c:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory<",
"Lcom/avast/android/feed/cards/Card;",
">;"
}
.end annotation
.end field
.field private final d:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory<",
"Lcom/avast/android/feed/actions/CardAction;",
">;"
}
.end annotation
.end field
.field private final e:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory<",
"Lcom/avast/android/feed/conditions/CardCondition;",
">;"
}
.end annotation
.end field
# direct methods
.method constructor <init>([Ljava/lang/Class;[Ljava/lang/Class;[Ljava/lang/Class;)V
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"([",
"Ljava/lang/Class<",
"Lcom/avast/android/feed/cards/Card;",
">;[",
"Ljava/lang/Class<",
"Lcom/avast/android/feed/actions/CardAction;",
">;[",
"Ljava/lang/Class<",
"Lcom/avast/android/feed/conditions/CardCondition;",
">;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
new-instance v0, Lcom/google/gson/GsonBuilder;
invoke-direct {v0}, Lcom/google/gson/GsonBuilder;-><init>()V
iput-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->b:Lcom/google/gson/GsonBuilder;
const-class v0, Lcom/avast/android/feed/cards/Card;
invoke-static {v0}, Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;->e(Ljava/lang/Class;)Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
move-result-object v0
iput-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->c:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
array-length v0, p1
const/4 v1, 0x0
const/4 v2, 0x0
:goto_15
if-ge v2, v0, :cond_21
aget-object v3, p1, v2
iget-object v4, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->c:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
invoke-virtual {v4, v3}, Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;->f(Ljava/lang/Class;)Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
add-int/lit8 v2, v2, 0x1
goto :goto_15
:cond_21
const-class p1, Lcom/avast/android/feed/actions/CardAction;
invoke-static {p1}, Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;->e(Ljava/lang/Class;)Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
move-result-object p1
iput-object p1, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->d:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
array-length p1, p2
const/4 v0, 0x0
:goto_2b
if-ge v0, p1, :cond_37
aget-object v2, p2, v0
iget-object v3, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->d:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
invoke-virtual {v3, v2}, Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;->f(Ljava/lang/Class;)Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
add-int/lit8 v0, v0, 0x1
goto :goto_2b
:cond_37
const-class p1, Lcom/avast/android/feed/conditions/CardCondition;
invoke-static {p1}, Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;->e(Ljava/lang/Class;)Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
move-result-object p1
iput-object p1, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->e:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
array-length p1, p3
:goto_40
if-ge v1, p1, :cond_4c
aget-object p2, p3, v1
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->e:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
invoke-virtual {v0, p2}, Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;->f(Ljava/lang/Class;)Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
add-int/lit8 v1, v1, 0x1
goto :goto_40
:cond_4c
return-void
.end method
.method private b()V
.registers 2
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->a:Lcom/google/gson/Gson;
if-nez v0, :cond_f
invoke-direct {p0}, Lcom/avast/android/feed/internal/json/JsonDeserializer;->d()V
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->b:Lcom/google/gson/GsonBuilder;
invoke-virtual {v0}, Lcom/google/gson/GsonBuilder;->b()Lcom/google/gson/Gson;
move-result-object v0
iput-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->a:Lcom/google/gson/Gson;
:cond_f
return-void
.end method
.method private d()V
.registers 3
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->b:Lcom/google/gson/GsonBuilder;
iget-object v1, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->c:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
invoke-virtual {v0, v1}, Lcom/google/gson/GsonBuilder;->e(Lcom/google/gson/TypeAdapterFactory;)Lcom/google/gson/GsonBuilder;
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->b:Lcom/google/gson/GsonBuilder;
iget-object v1, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->d:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
invoke-virtual {v0, v1}, Lcom/google/gson/GsonBuilder;->e(Lcom/google/gson/TypeAdapterFactory;)Lcom/google/gson/GsonBuilder;
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->b:Lcom/google/gson/GsonBuilder;
iget-object v1, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->e:Lcom/google/gson/typeadapters/RuntimeTypeAdapterFactory;
invoke-virtual {v0, v1}, Lcom/google/gson/GsonBuilder;->e(Lcom/google/gson/TypeAdapterFactory;)Lcom/google/gson/GsonBuilder;
return-void
.end method
# virtual methods
.method public bridge synthetic a(Ljava/lang/Object;Ljava/lang/String;)Lcom/avast/android/feed/FeedModel;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/gson/JsonParseException;
}
.end annotation
check-cast p1, Ljava/lang/String;
invoke-virtual {p0, p1, p2}, Lcom/avast/android/feed/internal/json/JsonDeserializer;->c(Ljava/lang/String;Ljava/lang/String;)Lcom/avast/android/feed/FeedModel;
move-result-object p1
return-object p1
.end method
.method public c(Ljava/lang/String;Ljava/lang/String;)Lcom/avast/android/feed/FeedModel;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lcom/google/gson/JsonParseException;
}
.end annotation
invoke-direct {p0}, Lcom/avast/android/feed/internal/json/JsonDeserializer;->b()V
iget-object v0, p0, Lcom/avast/android/feed/internal/json/JsonDeserializer;->a:Lcom/google/gson/Gson;
const-class v1, Lcom/avast/android/feed/FeedModel;
invoke-virtual {v0, p1, v1}, Lcom/google/gson/Gson;->j(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/avast/android/feed/FeedModel;
if-nez p1, :cond_11
const/4 p1, 0x0
return-object p1
:cond_11
invoke-virtual {p1}, Lcom/avast/android/feed/FeedModel;->p()V
invoke-virtual {p1, p2}, Lcom/avast/android/feed/FeedModel;->s(Ljava/lang/String;)V
return-object p1
.end method