AnimatableTransformParser.smali
.class public Lcom/airbnb/lottie/parser/AnimatableTransformParser;
.super Ljava/lang/Object;
# static fields
.field private static a:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
.field private static b:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
# direct methods
.method static constructor <clinit>()V
.registers 10
const-string v0, "a"
const-string v1, "p"
const-string v2, "s"
const-string v3, "rz"
const-string v4, "r"
const-string v5, "o"
const-string v6, "so"
const-string v7, "eo"
const-string v8, "sk"
const-string v9, "sa"
filled-new-array/range {v0 .. v9}, [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/AnimatableTransformParser;->a:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
const-string v0, "k"
filled-new-array {v0}, [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/AnimatableTransformParser;->b:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
return-void
.end method
.method private static a(Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;)Z
.registers 3
const/4 v0, 0x0
if-eqz p0, :cond_1e
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;->c()Z
move-result v1
if-eqz v1, :cond_1f
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;->b()Ljava/util/List;
move-result-object p0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/airbnb/lottie/value/Keyframe;
iget-object p0, p0, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
check-cast p0, Landroid/graphics/PointF;
const/4 v1, 0x0
invoke-virtual {p0, v1, v1}, Landroid/graphics/PointF;->equals(FF)Z
move-result p0
if-eqz p0, :cond_1f
:cond_1e
const/4 v0, 0x1
:cond_1f
return v0
.end method
.method private static b(Lcom/airbnb/lottie/model/animatable/AnimatableValue;)Z
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/airbnb/lottie/model/animatable/AnimatableValue<",
"Landroid/graphics/PointF;",
"Landroid/graphics/PointF;",
">;)Z"
}
.end annotation
const/4 v0, 0x0
if-eqz p0, :cond_22
instance-of v1, p0, Lcom/airbnb/lottie/model/animatable/AnimatableSplitDimensionPathValue;
if-nez v1, :cond_23
invoke-interface {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableValue;->c()Z
move-result v1
if-eqz v1, :cond_23
invoke-interface {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableValue;->b()Ljava/util/List;
move-result-object p0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/airbnb/lottie/value/Keyframe;
iget-object p0, p0, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
check-cast p0, Landroid/graphics/PointF;
const/4 v1, 0x0
invoke-virtual {p0, v1, v1}, Landroid/graphics/PointF;->equals(FF)Z
move-result p0
if-eqz p0, :cond_23
:cond_22
const/4 v0, 0x1
:cond_23
return v0
.end method
.method private static c(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
.registers 3
const/4 v0, 0x0
if-eqz p0, :cond_20
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->c()Z
move-result v1
if-eqz v1, :cond_21
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object p0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/airbnb/lottie/value/Keyframe;
iget-object p0, p0, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
check-cast p0, Ljava/lang/Float;
invoke-virtual {p0}, Ljava/lang/Float;->floatValue()F
move-result p0
const/4 v1, 0x0
cmpl-float p0, p0, v1
if-nez p0, :cond_21
:cond_20
const/4 v0, 0x1
:cond_21
return v0
.end method
.method private static d(Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;)Z
.registers 3
const/4 v0, 0x0
if-eqz p0, :cond_1f
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;->c()Z
move-result v1
if-eqz v1, :cond_20
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;->b()Ljava/util/List;
move-result-object p0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/airbnb/lottie/value/Keyframe;
iget-object p0, p0, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
check-cast p0, Lcom/airbnb/lottie/value/ScaleXY;
const/high16 v1, 0x3f800000 # 1.0f
invoke-virtual {p0, v1, v1}, Lcom/airbnb/lottie/value/ScaleXY;->a(FF)Z
move-result p0
if-eqz p0, :cond_20
:cond_1f
const/4 v0, 0x1
:cond_20
return v0
.end method
.method private static e(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
.registers 3
const/4 v0, 0x0
if-eqz p0, :cond_20
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->c()Z
move-result v1
if-eqz v1, :cond_21
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object p0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/airbnb/lottie/value/Keyframe;
iget-object p0, p0, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
check-cast p0, Ljava/lang/Float;
invoke-virtual {p0}, Ljava/lang/Float;->floatValue()F
move-result p0
const/4 v1, 0x0
cmpl-float p0, p0, v1
if-nez p0, :cond_21
:cond_20
const/4 v0, 0x1
:cond_21
return v0
.end method
.method private static f(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
.registers 3
const/4 v0, 0x0
if-eqz p0, :cond_20
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->c()Z
move-result v1
if-eqz v1, :cond_21
invoke-virtual {p0}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object p0
invoke-interface {p0, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lcom/airbnb/lottie/value/Keyframe;
iget-object p0, p0, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
check-cast p0, Ljava/lang/Float;
invoke-virtual {p0}, Ljava/lang/Float;->floatValue()F
move-result p0
const/4 v1, 0x0
cmpl-float p0, p0, v1
if-nez p0, :cond_21
:cond_20
const/4 v0, 0x1
:cond_21
return v0
.end method
.method public static g(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
.registers 29
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v8, p1
invoke-virtual/range {p0 .. 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;->h:Lcom/airbnb/lottie/parser/moshi/JsonReader$Token;
const/4 v9, 0x0
if-ne v1, v2, :cond_10
const/4 v1, 0x1
const/4 v10, 0x1
goto :goto_11
:cond_10
const/4 v10, 0x0
:goto_11
if-eqz v10, :cond_16
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->d()V
:cond_16
const/4 v1, 0x0
const/4 v12, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
const/16 v16, 0x0
const/16 v22, 0x0
const/16 v23, 0x0
const/16 v24, 0x0
:goto_23
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->g()Z
move-result v2
if-eqz v2, :cond_f7
sget-object v2, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->a:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
invoke-virtual {v0, v2}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->u(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I
move-result v2
packed-switch v2, :pswitch_data_144
const/4 v2, 0x0
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->v()V
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->x()V
goto/16 :goto_d2
:pswitch_3b
invoke-static {v0, v8, v9}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->f(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Z)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v16
goto :goto_23
:pswitch_40
invoke-static {v0, v8, v9}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->f(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Z)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v15
goto :goto_23
:pswitch_45
invoke-static {v0, v8, v9}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->f(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Z)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v24
goto :goto_23
:pswitch_4a
invoke-static {v0, v8, v9}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->f(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Z)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v23
goto :goto_23
:pswitch_4f
invoke-static/range {p0 .. p1}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->h(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;
move-result-object v22
goto :goto_23
:pswitch_54
const-string v1, "Lottie doesn\'t support 3D layers."
invoke-virtual {v8, v1}, Lcom/airbnb/lottie/LottieComposition;->a(Ljava/lang/String;)V
:pswitch_59
invoke-static {v0, v8, v9}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->f(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Z)Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;
move-result-object v17
invoke-virtual/range {v17 .. v17}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object v1
invoke-interface {v1}, Ljava/util/List;->isEmpty()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_91
invoke-virtual/range {v17 .. v17}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object v7
new-instance v6, Lcom/airbnb/lottie/value/Keyframe;
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v3
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v4
const/4 v5, 0x0
const/16 v18, 0x0
invoke-virtual/range {p1 .. p1}, Lcom/airbnb/lottie/LottieComposition;->f()F
move-result v1
invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v19
move-object v1, v6
move-object/from16 v2, p1
move-object v11, v6
move/from16 v6, v18
move-object v9, v7
move-object/from16 v7, v19
invoke-direct/range {v1 .. v7}, Lcom/airbnb/lottie/value/Keyframe;-><init>(Lcom/airbnb/lottie/LottieComposition;Ljava/lang/Object;Ljava/lang/Object;Landroid/view/animation/Interpolator;FLjava/lang/Float;)V
invoke-interface {v9, v11}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_c3
:cond_91
invoke-virtual/range {v17 .. v17}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object v1
const/4 v3, 0x0
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/airbnb/lottie/value/Keyframe;
iget-object v1, v1, Lcom/airbnb/lottie/value/Keyframe;->b:Ljava/lang/Object;
if-nez v1, :cond_c3
invoke-virtual/range {v17 .. v17}, Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;->b()Ljava/util/List;
move-result-object v9
new-instance v11, Lcom/airbnb/lottie/value/Keyframe;
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v3
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v4
const/4 v5, 0x0
const/4 v6, 0x0
invoke-virtual/range {p1 .. p1}, Lcom/airbnb/lottie/LottieComposition;->f()F
move-result v1
invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v7
move-object v1, v11
move-object/from16 v2, p1
invoke-direct/range {v1 .. v7}, Lcom/airbnb/lottie/value/Keyframe;-><init>(Lcom/airbnb/lottie/LottieComposition;Ljava/lang/Object;Ljava/lang/Object;Landroid/view/animation/Interpolator;FLjava/lang/Float;)V
const/4 v2, 0x0
invoke-interface {v9, v2, v11}, Ljava/util/List;->set(ILjava/lang/Object;)Ljava/lang/Object;
goto :goto_c4
:cond_c3
:goto_c3
const/4 v2, 0x0
:goto_c4
move-object/from16 v1, v17
goto :goto_d2
:pswitch_c7
const/4 v2, 0x0
invoke-static/range {p0 .. p1}, Lcom/airbnb/lottie/parser/AnimatableValueParser;->j(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;
move-result-object v14
goto :goto_d2
:pswitch_cd
const/4 v2, 0x0
invoke-static/range {p0 .. p1}, Lcom/airbnb/lottie/parser/AnimatablePathValueParser;->b(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableValue;
move-result-object v13
:goto_d2
const/4 v9, 0x0
goto/16 :goto_23
:pswitch_d5
const/4 v2, 0x0
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->d()V
:goto_d9
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->g()Z
move-result v3
if-eqz v3, :cond_f3
sget-object v3, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->b:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;
invoke-virtual {v0, v3}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->u(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I
move-result v3
if-eqz v3, :cond_ee
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->v()V
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->x()V
goto :goto_d9
:cond_ee
invoke-static/range {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 v12
goto :goto_d9
:cond_f3
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->f()V
goto :goto_d2
:cond_f7
if-eqz v10, :cond_fc
invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->f()V
:cond_fc
invoke-static {v12}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->a(Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;)Z
move-result v0
if-eqz v0, :cond_105
const/16 v18, 0x0
goto :goto_107
:cond_105
move-object/from16 v18, v12
:goto_107
invoke-static {v13}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->b(Lcom/airbnb/lottie/model/animatable/AnimatableValue;)Z
move-result v0
if-eqz v0, :cond_110
const/16 v19, 0x0
goto :goto_112
:cond_110
move-object/from16 v19, v13
:goto_112
invoke-static {v1}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->c(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
move-result v0
if-eqz v0, :cond_11b
const/16 v21, 0x0
goto :goto_11d
:cond_11b
move-object/from16 v21, v1
:goto_11d
invoke-static {v14}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->d(Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;)Z
move-result v0
if-eqz v0, :cond_124
const/4 v14, 0x0
:cond_124
invoke-static {v15}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->f(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
move-result v0
if-eqz v0, :cond_12d
const/16 v25, 0x0
goto :goto_12f
:cond_12d
move-object/from16 v25, v15
:goto_12f
invoke-static/range {v16 .. v16}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->e(Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)Z
move-result v0
if-eqz v0, :cond_138
const/16 v26, 0x0
goto :goto_13a
:cond_138
move-object/from16 v26, v16
:goto_13a
new-instance v0, Lcom/airbnb/lottie/model/animatable/AnimatableTransform;
move-object/from16 v17, v0
move-object/from16 v20, v14
invoke-direct/range {v17 .. v26}, Lcom/airbnb/lottie/model/animatable/AnimatableTransform;-><init>(Lcom/airbnb/lottie/model/animatable/AnimatablePathValue;Lcom/airbnb/lottie/model/animatable/AnimatableValue;Lcom/airbnb/lottie/model/animatable/AnimatableScaleValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableIntegerValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;Lcom/airbnb/lottie/model/animatable/AnimatableFloatValue;)V
return-object v0
:pswitch_data_144
.packed-switch 0x0
:pswitch_d5
:pswitch_cd
:pswitch_c7
:pswitch_54
:pswitch_59
:pswitch_4f
:pswitch_4a
:pswitch_45
:pswitch_40
:pswitch_3b
.end packed-switch
.end method