AnimatablePathValueParser.smali
.class public Lcom/airbnb/lottie/parser/AnimatablePathValueParser;
.super Ljava/lang/Object;
# static fields
.field private static a:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
# direct methods
.method static constructor <clinit>()V
.registers 3
const-string v0, "k"
const-string v1, "x"
const-string v2, "y"
filled-new-array {v0, v1, v2}, [Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;->a([Ljava/lang/String;)Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
move-result-object v0
sput-object v0, Lcom/airbnb/lottie/parser/AnimatablePathValueParser;->a:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
return-void
.end method
.method public static a(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->s()Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
move-result-object v1
sget-object v2, Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;->f:Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
if-ne v1, v2, :cond_25
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->b()V
:goto_10
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->g()Z
move-result v1
if-eqz v1, :cond_1e
invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/PathKeyframeParser;->a(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/animation/keyframe/PathKeyframe;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_10
:cond_1e
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->e()V
invoke-static {v0}, Lcom/airbnb/lottie/parser/KeyframesParser;->b(Ljava/util/List;)V
goto :goto_35
:cond_25
new-instance p1, Lcom/airbnb/lottie/value/Keyframe;
invoke-static {}, Lcom/airbnb/lottie/utils/Utils;->e()F
move-result v1
invoke-static {p0, v1}, Lcom/airbnb/lottie/parser/JsonUtils;->e(Lcom/airbnb/lottie/parser/moshi/JsonReader;F)Landroid/graphics/PointF;
move-result-object p0
invoke-direct {p1, p0}, Lcom/airbnb/lottie/value/Keyframe;-><init>(Ljava/lang/Object;)V
invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:goto_35
new-instance p0, Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;
invoke-direct {p0, v0}, Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;-><init>(Ljava/util/List;)V
return-object p0
.end method
.method static b(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableValue;
.registers 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/airbnb/lottie/parser/moshi/JsonReader;",
"Lcom/airbnb/lottie/LottieComposition;",
")",
"Lcom/airbnb/lottie/model/animatable/AnimatableValue<",
"Landroid/graphics/PointF;",
"Landroid/graphics/PointF;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->d()V
const/4 v0, 0x1
const/4 v1, 0x0
const/4 v2, 0x0
move-object v2, v1
move-object v3, v2
const/4 v4, 0x0
:goto_9
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->s()Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
move-result-object v5
sget-object v6, Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;->i:Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
if-eq v5, v6, :cond_4d
sget-object v5, Lcom/airbnb/lottie/parser/AnimatablePathValueParser;->a:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
invoke-virtual {p0, v5}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->u(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I
move-result v5
if-eqz v5, :cond_48
if-eq v5, v0, :cond_36
const/4 v6, 0x2
if-eq v5, v6, :cond_25
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->v()V
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->x()V
goto :goto_9
:cond_25
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->s()Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
move-result-object v5
sget-object v6, Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;->k:Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
if-ne v5, v6, :cond_31
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->x()V
goto :goto_41
:cond_31
invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->e(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v3
goto :goto_9
:cond_36
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->s()Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
move-result-object v5
sget-object v6, Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;->k:Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
if-ne v5, v6, :cond_43
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->x()V
:goto_41
const/4 v4, 0x1
goto :goto_9
:cond_43
invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->e(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v2
goto :goto_9
:cond_48
invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/AnimatablePathValueParser;->a(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;
move-result-object v1
goto :goto_9
:cond_4d
invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->f()V
if-eqz v4, :cond_57
const-string p0, "Lottie doesn\'t support expressions."
invoke-virtual {p1, p0}, Lcom/airbnb/lottie/LottieComposition;->a(Ljava/lang/String;)V
:cond_57
if-eqz v1, :cond_5a
return-object v1
:cond_5a
new-instance p0, Lcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;
invoke-direct {p0, v2, v3}, Lcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;-><init>(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)V
return-object p0
.end method