.class Lcom/airbnb/lottie/parser/ContentModelParser; .super Ljava/lang/Object; .source "ContentModelParser.java" # static fields .field private static final NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; # direct methods .method static constructor ()V .locals 2 const-string v0, "ty" const-string v1, "d" .line 14 filled-new-array {v0, v1}, [Ljava/lang/String; move-result-object v0 invoke-static {v0}, Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;->of([Ljava/lang/String;)Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; move-result-object v0 sput-object v0, Lcom/airbnb/lottie/parser/ContentModelParser;->NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; return-void .end method .method private constructor ()V .locals 0 .line 19 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method static parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ContentModel; .locals 7 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 27 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginObject()V const/4 v0, 0x2 move v1, v0 .line 33 :goto_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v2 const/4 v3, 0x1 const/4 v4, 0x0 if-eqz v2, :cond_2 sget-object v2, Lcom/airbnb/lottie/parser/ContentModelParser;->NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .line 34 invoke-virtual {p0, v2}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->selectName(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I move-result v2 if-eqz v2, :cond_1 if-eq v2, v3, :cond_0 .line 42 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipName()V .line 43 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipValue()V goto :goto_0 .line 39 :cond_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextInt()I move-result v1 goto :goto_0 .line 36 :cond_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextString()Ljava/lang/String; move-result-object v2 goto :goto_1 :cond_2 move-object v2, v4 :goto_1 if-nez v2, :cond_3 return-object v4 .line 52 :cond_3 invoke-virtual {v2}, Ljava/lang/String;->hashCode()I invoke-virtual {v2}, Ljava/lang/String;->hashCode()I move-result v5 const/4 v6, -0x1 sparse-switch v5, :sswitch_data_0 :goto_2 move v0, v6 goto/16 :goto_3 :sswitch_0 const-string v0, "tr" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_4 goto :goto_2 :cond_4 const/16 v0, 0xd goto/16 :goto_3 :sswitch_1 const-string v0, "tm" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_5 goto :goto_2 :cond_5 const/16 v0, 0xc goto/16 :goto_3 :sswitch_2 const-string v0, "st" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_6 goto :goto_2 :cond_6 const/16 v0, 0xb goto/16 :goto_3 :sswitch_3 const-string v0, "sr" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_7 goto :goto_2 :cond_7 const/16 v0, 0xa goto/16 :goto_3 :sswitch_4 const-string v0, "sh" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_8 goto :goto_2 :cond_8 const/16 v0, 0x9 goto/16 :goto_3 :sswitch_5 const-string v0, "rp" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_9 goto :goto_2 :cond_9 const/16 v0, 0x8 goto :goto_3 :sswitch_6 const-string v0, "rd" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_a goto :goto_2 :cond_a const/4 v0, 0x7 goto :goto_3 :sswitch_7 const-string v0, "rc" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_b goto :goto_2 :cond_b const/4 v0, 0x6 goto :goto_3 :sswitch_8 const-string v0, "mm" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_c goto :goto_2 :cond_c const/4 v0, 0x5 goto :goto_3 :sswitch_9 const-string v0, "gs" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_d goto :goto_2 :cond_d const/4 v0, 0x4 goto :goto_3 :sswitch_a const-string v0, "gr" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_e goto/16 :goto_2 :cond_e const/4 v0, 0x3 goto :goto_3 :sswitch_b const-string v3, "gf" invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v3 if-nez v3, :cond_11 goto/16 :goto_2 :sswitch_c const-string v0, "fl" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_f goto/16 :goto_2 :cond_f move v0, v3 goto :goto_3 :sswitch_d const-string v0, "el" invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result v0 if-nez v0, :cond_10 goto/16 :goto_2 :cond_10 const/4 v0, 0x0 :cond_11 :goto_3 packed-switch v0, :pswitch_data_0 .line 99 new-instance p1, Ljava/lang/StringBuilder; const-string v0, "Unknown shape type " invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-static {p1}, Lcom/airbnb/lottie/utils/Logger;->warning(Ljava/lang/String;)V goto :goto_4 .line 69 :pswitch_0 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/AnimatableTransformParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/animatable/AnimatableTransform; move-result-object v4 goto :goto_4 .line 81 :pswitch_1 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/ShapeTrimPathParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeTrimPath; move-result-object v4 goto :goto_4 .line 57 :pswitch_2 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/ShapeStrokeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeStroke; move-result-object v4 goto :goto_4 .line 84 :pswitch_3 invoke-static {p0, p1, v1}, Lcom/airbnb/lottie/parser/PolystarShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;I)Lcom/airbnb/lottie/model/content/PolystarShape; move-result-object v4 goto :goto_4 .line 72 :pswitch_4 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/ShapePathParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapePath; move-result-object v4 goto :goto_4 .line 93 :pswitch_5 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/RepeaterParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/Repeater; move-result-object v4 goto :goto_4 .line 96 :pswitch_6 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/RoundedCornersParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/RoundedCorners; move-result-object v4 goto :goto_4 .line 78 :pswitch_7 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/RectangleShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/RectangleShape; move-result-object v4 goto :goto_4 .line 87 :pswitch_8 invoke-static {p0}, Lcom/airbnb/lottie/parser/MergePathsParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;)Lcom/airbnb/lottie/model/content/MergePaths; move-result-object v4 const-string v0, "Animation contains merge paths. Merge paths are only supported on KitKat+ and must be manually enabled by calling enableMergePathsForKitKatAndAbove()." .line 88 invoke-virtual {p1, v0}, Lcom/airbnb/lottie/LottieComposition;->addWarning(Ljava/lang/String;)V goto :goto_4 .line 60 :pswitch_9 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/GradientStrokeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/GradientStroke; move-result-object v4 goto :goto_4 .line 54 :pswitch_a invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/ShapeGroupParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeGroup; move-result-object v4 goto :goto_4 .line 66 :pswitch_b invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/GradientFillParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/GradientFill; move-result-object v4 goto :goto_4 .line 63 :pswitch_c invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/ShapeFillParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/content/ShapeFill; move-result-object v4 goto :goto_4 .line 75 :pswitch_d invoke-static {p0, p1, v1}, Lcom/airbnb/lottie/parser/CircleShapeParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;I)Lcom/airbnb/lottie/model/content/CircleShape; move-result-object v4 .line 102 :goto_4 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result p1 if-eqz p1, :cond_12 .line 103 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipValue()V goto :goto_4 .line 105 :cond_12 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endObject()V return-object v4 :sswitch_data_0 .sparse-switch 0xca7 -> :sswitch_d 0xcc6 -> :sswitch_c 0xcdf -> :sswitch_b 0xceb -> :sswitch_a 0xcec -> :sswitch_9 0xda0 -> :sswitch_8 0xe31 -> :sswitch_7 0xe32 -> :sswitch_6 0xe3e -> :sswitch_5 0xe55 -> :sswitch_4 0xe5f -> :sswitch_3 0xe61 -> :sswitch_2 0xe79 -> :sswitch_1 0xe7e -> :sswitch_0 .end sparse-switch :pswitch_data_0 .packed-switch 0x0 :pswitch_d :pswitch_c :pswitch_b :pswitch_a :pswitch_9 :pswitch_8 :pswitch_7 :pswitch_6 :pswitch_5 :pswitch_4 :pswitch_3 :pswitch_2 :pswitch_1 :pswitch_0 .end packed-switch .end method