.class public Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser; .super Ljava/lang/Object; .source "LottieCompositionMoshiParser.java" # static fields .field static ASSETS_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .field private static final FONT_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .field private static final MARKER_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .field private static final NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; # direct methods .method static constructor ()V .locals 11 const-string v0, "w" const-string v1, "h" const-string v2, "ip" const-string v3, "op" const-string v4, "fr" const-string v5, "v" const-string v6, "layers" const-string v7, "assets" const-string v8, "fonts" const-string v9, "chars" const-string v10, "markers" .line 26 filled-new-array/range {v0 .. v10}, [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/LottieCompositionMoshiParser;->NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; const-string v1, "id" const-string v2, "layers" const-string v3, "w" const-string v4, "h" const-string v5, "p" const-string v6, "u" .line 137 filled-new-array/range {v1 .. v6}, [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/LottieCompositionMoshiParser;->ASSETS_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; const-string v0, "list" .line 203 filled-new-array {v0}, [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/LottieCompositionMoshiParser;->FONT_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; const-string v0, "tm" const-string v1, "dr" const-string v2, "cm" .line 236 filled-new-array {v2, 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/LottieCompositionMoshiParser;->MARKER_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; return-void .end method .method public constructor ()V .locals 0 .line 25 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public static parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;)Lcom/airbnb/lottie/LottieComposition; .locals 24 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation move-object/from16 v0, p0 .line 41 invoke-static {}, Lcom/airbnb/lottie/utils/Utils;->dpScale()F move-result v1 .line 45 new-instance v8, Landroidx/collection/LongSparseArray; invoke-direct {v8}, Landroidx/collection/LongSparseArray;->()V .line 46 new-instance v7, Ljava/util/ArrayList; invoke-direct {v7}, Ljava/util/ArrayList;->()V .line 49 new-instance v9, Ljava/util/HashMap; invoke-direct {v9}, Ljava/util/HashMap;->()V .line 50 new-instance v10, Ljava/util/HashMap; invoke-direct {v10}, Ljava/util/HashMap;->()V .line 51 new-instance v13, Ljava/util/HashMap; invoke-direct {v13}, Ljava/util/HashMap;->()V .line 52 new-instance v14, Ljava/util/ArrayList; invoke-direct {v14}, Ljava/util/ArrayList;->()V .line 53 new-instance v12, Landroidx/collection/SparseArrayCompat; invoke-direct {v12}, Landroidx/collection/SparseArrayCompat;->()V .line 55 new-instance v15, Lcom/airbnb/lottie/LottieComposition; invoke-direct {v15}, Lcom/airbnb/lottie/LottieComposition;->()V .line 56 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginObject()V const/4 v2, 0x0 move v4, v2 move v5, v4 move v6, v5 const/4 v2, 0x0 const/4 v11, 0x0 .line 57 :goto_0 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v16 if-eqz v16, :cond_1 sget-object v3, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .line 58 invoke-virtual {v0, v3}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->selectName(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I move-result v3 packed-switch v3, :pswitch_data_0 move-object v0, v13 move-object/from16 v17, v14 .line 101 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipName()V .line 102 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipValue()V goto :goto_2 .line 98 :pswitch_0 invoke-static {v0, v14}, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseMarkers(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/util/List;)V goto :goto_1 .line 95 :pswitch_1 invoke-static {v0, v15, v12}, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseChars(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Landroidx/collection/SparseArrayCompat;)V goto :goto_1 .line 92 :pswitch_2 invoke-static {v0, v13}, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseFonts(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/util/Map;)V goto :goto_1 .line 89 :pswitch_3 invoke-static {v0, v15, v9, v10}, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseAssets(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Ljava/util/Map;Ljava/util/Map;)V goto :goto_1 .line 86 :pswitch_4 invoke-static {v0, v15, v7, v8}, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->parseLayers(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Ljava/util/List;Landroidx/collection/LongSparseArray;)V goto :goto_1 .line 75 :pswitch_5 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextString()Ljava/lang/String; move-result-object v3 const-string v0, "\\." .line 76 invoke-virtual {v3, v0}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String; move-result-object v0 const/4 v3, 0x0 .line 77 aget-object v17, v0, v3 invoke-static/range {v17 .. v17}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v18 const/4 v3, 0x1 .line 78 aget-object v3, v0, v3 invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v19 const/4 v3, 0x2 .line 79 aget-object v0, v0, v3 invoke-static {v0}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I move-result v20 const/16 v21, 0x4 const/16 v22, 0x4 const/16 v23, 0x0 .line 80 invoke-static/range {v18 .. v23}, Lcom/airbnb/lottie/utils/Utils;->isAtLeastVersion(IIIIII)Z move-result v0 if-nez v0, :cond_0 const-string v0, "Lottie only supports bodymovin >= 4.4.0" .line 82 invoke-virtual {v15, v0}, Lcom/airbnb/lottie/LottieComposition;->addWarning(Ljava/lang/String;)V :cond_0 :goto_1 move-object v0, v13 move-object/from16 v17, v14 goto :goto_2 :pswitch_6 move-object v0, v13 move-object/from16 v17, v14 .line 72 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextDouble()D move-result-wide v13 double-to-float v6, v13 goto :goto_2 :pswitch_7 move-object v0, v13 move-object/from16 v17, v14 .line 69 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextDouble()D move-result-wide v13 double-to-float v3, v13 const v5, 0x3c23d70a # 0.01f sub-float v5, v3, v5 :goto_2 move-object v13, v0 move-object/from16 v14, v17 goto :goto_3 :pswitch_8 move-object v0, v13 move-object/from16 v17, v14 .line 66 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextDouble()D move-result-wide v3 double-to-float v4, v3 goto :goto_3 :pswitch_9 move-object v0, v13 move-object/from16 v17, v14 .line 63 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextInt()I move-result v11 goto :goto_3 :pswitch_a move-object v0, v13 move-object/from16 v17, v14 .line 60 invoke-virtual/range {p0 .. p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextInt()I move-result v2 :goto_3 move-object/from16 v0, p0 goto/16 :goto_0 :cond_1 move-object v0, v13 move-object/from16 v17, v14 int-to-float v2, v2 mul-float/2addr v2, v1 float-to-int v2, v2 int-to-float v3, v11 mul-float/2addr v3, v1 float-to-int v1, v3 .line 107 new-instance v3, Landroid/graphics/Rect; const/4 v11, 0x0 invoke-direct {v3, v11, v11, v2, v1}, Landroid/graphics/Rect;->(IIII)V .line 110 invoke-static {}, Lcom/airbnb/lottie/utils/Utils;->dpScale()F move-result v11 move-object v2, v15 .line 109 invoke-virtual/range {v2 .. v14}, Lcom/airbnb/lottie/LottieComposition;->init(Landroid/graphics/Rect;FFFLjava/util/List;Landroidx/collection/LongSparseArray;Ljava/util/Map;Ljava/util/Map;FLandroidx/collection/SparseArrayCompat;Ljava/util/Map;Ljava/util/List;)V return-object v15 :pswitch_data_0 .packed-switch 0x0 :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 .method private static parseAssets(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Ljava/util/Map;Ljava/util/Map;)V .locals 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/airbnb/lottie/parser/moshi/JsonReader;", "Lcom/airbnb/lottie/LottieComposition;", "Ljava/util/Map<", "Ljava/lang/String;", "Ljava/util/List<", "Lcom/airbnb/lottie/model/layer/Layer;", ">;>;", "Ljava/util/Map<", "Ljava/lang/String;", "Lcom/airbnb/lottie/LottieImageAsset;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 148 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginArray()V .line 149 :goto_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v0 if-eqz v0, :cond_9 .line 152 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 153 new-instance v1, Landroidx/collection/LongSparseArray; invoke-direct {v1}, Landroidx/collection/LongSparseArray;->()V .line 159 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginObject()V const/4 v2, 0x0 const/4 v3, 0x0 move v5, v2 move v6, v5 move-object v7, v3 move-object v8, v7 move-object v9, v8 .line 160 :goto_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v2 if-eqz v2, :cond_7 sget-object v2, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->ASSETS_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .line 161 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_6 const/4 v3, 0x1 if-eq v2, v3, :cond_4 const/4 v3, 0x2 if-eq v2, v3, :cond_3 const/4 v3, 0x3 if-eq v2, v3, :cond_2 const/4 v3, 0x4 if-eq v2, v3, :cond_1 const/4 v3, 0x5 if-eq v2, v3, :cond_0 .line 187 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipName()V .line 188 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipValue()V goto :goto_1 .line 184 :cond_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextString()Ljava/lang/String; move-result-object v9 goto :goto_1 .line 181 :cond_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextString()Ljava/lang/String; move-result-object v8 goto :goto_1 .line 178 :cond_2 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextInt()I move-result v6 goto :goto_1 .line 175 :cond_3 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextInt()I move-result v5 goto :goto_1 .line 166 :cond_4 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginArray()V .line 167 :goto_2 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v2 if-eqz v2, :cond_5 .line 168 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/LayerParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/layer/Layer; move-result-object v2 .line 169 invoke-virtual {v2}, Lcom/airbnb/lottie/model/layer/Layer;->getId()J move-result-wide v3 invoke-virtual {v1, v3, v4, v2}, Landroidx/collection/LongSparseArray;->put(JLjava/lang/Object;)V .line 170 invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_2 .line 172 :cond_5 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endArray()V goto :goto_1 .line 163 :cond_6 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextString()Ljava/lang/String; move-result-object v7 goto :goto_1 .line 191 :cond_7 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endObject()V if-eqz v8, :cond_8 .line 193 new-instance v0, Lcom/airbnb/lottie/LottieImageAsset; move-object v4, v0 invoke-direct/range {v4 .. v9}, Lcom/airbnb/lottie/LottieImageAsset;->(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V .line 195 invoke-virtual {v0}, Lcom/airbnb/lottie/LottieImageAsset;->getId()Ljava/lang/String; move-result-object v1 invoke-interface {p3, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_0 .line 197 :cond_8 invoke-interface {p2, v7, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto/16 :goto_0 .line 200 :cond_9 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endArray()V return-void .end method .method private static parseChars(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Landroidx/collection/SparseArrayCompat;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/airbnb/lottie/parser/moshi/JsonReader;", "Lcom/airbnb/lottie/LottieComposition;", "Landroidx/collection/SparseArrayCompat<", "Lcom/airbnb/lottie/model/FontCharacter;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 228 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginArray()V .line 229 :goto_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v0 if-eqz v0, :cond_0 .line 230 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/FontCharacterParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/FontCharacter; move-result-object v0 .line 231 invoke-virtual {v0}, Lcom/airbnb/lottie/model/FontCharacter;->hashCode()I move-result v1 invoke-virtual {p2, v1, v0}, Landroidx/collection/SparseArrayCompat;->put(ILjava/lang/Object;)V goto :goto_0 .line 233 :cond_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endArray()V return-void .end method .method private static parseFonts(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/util/Map;)V .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/airbnb/lottie/parser/moshi/JsonReader;", "Ljava/util/Map<", "Ljava/lang/String;", "Lcom/airbnb/lottie/model/Font;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 206 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginObject()V .line 207 :goto_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v0 if-eqz v0, :cond_2 sget-object v0, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->FONT_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .line 208 invoke-virtual {p0, v0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->selectName(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I move-result v0 if-eqz v0, :cond_0 .line 218 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipName()V .line 219 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipValue()V goto :goto_0 .line 210 :cond_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginArray()V .line 211 :goto_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v0 if-eqz v0, :cond_1 .line 212 invoke-static {p0}, Lcom/airbnb/lottie/parser/FontParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;)Lcom/airbnb/lottie/model/Font; move-result-object v0 .line 213 invoke-virtual {v0}, Lcom/airbnb/lottie/model/Font;->getName()Ljava/lang/String; move-result-object v1 invoke-interface {p1, v1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; goto :goto_1 .line 215 :cond_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endArray()V goto :goto_0 .line 222 :cond_2 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endObject()V return-void .end method .method private static parseLayers(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;Ljava/util/List;Landroidx/collection/LongSparseArray;)V .locals 4 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/airbnb/lottie/parser/moshi/JsonReader;", "Lcom/airbnb/lottie/LottieComposition;", "Ljava/util/List<", "Lcom/airbnb/lottie/model/layer/Layer;", ">;", "Landroidx/collection/LongSparseArray<", "Lcom/airbnb/lottie/model/layer/Layer;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 118 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginArray()V const/4 v0, 0x0 .line 119 :cond_0 :goto_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v1 if-eqz v1, :cond_2 .line 120 invoke-static {p0, p1}, Lcom/airbnb/lottie/parser/LayerParser;->parse(Lcom/airbnb/lottie/parser/moshi/JsonReader;Lcom/airbnb/lottie/LottieComposition;)Lcom/airbnb/lottie/model/layer/Layer; move-result-object v1 .line 121 invoke-virtual {v1}, Lcom/airbnb/lottie/model/layer/Layer;->getLayerType()Lcom/airbnb/lottie/model/layer/Layer$LayerType; move-result-object v2 sget-object v3, Lcom/airbnb/lottie/model/layer/Layer$LayerType;->IMAGE:Lcom/airbnb/lottie/model/layer/Layer$LayerType; if-ne v2, v3, :cond_1 add-int/lit8 v0, v0, 0x1 .line 124 :cond_1 invoke-interface {p2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 125 invoke-virtual {v1}, Lcom/airbnb/lottie/model/layer/Layer;->getId()J move-result-wide v2 invoke-virtual {p3, v2, v3, v1}, Landroidx/collection/LongSparseArray;->put(JLjava/lang/Object;)V const/4 v1, 0x4 if-le v0, v1, :cond_0 .line 128 new-instance v1, Ljava/lang/StringBuilder; const-string v2, "You have " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " images. Lottie should primarily be used with shapes. If you are using Adobe Illustrator, convert the Illustrator layers to shape layers." invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v1}, Lcom/airbnb/lottie/utils/Logger;->warning(Ljava/lang/String;)V goto :goto_0 .line 133 :cond_2 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endArray()V return-void .end method .method private static parseMarkers(Lcom/airbnb/lottie/parser/moshi/JsonReader;Ljava/util/List;)V .locals 5 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/airbnb/lottie/parser/moshi/JsonReader;", "Ljava/util/List<", "Lcom/airbnb/lottie/model/Marker;", ">;)V" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 243 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginArray()V .line 244 :goto_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v0 if-eqz v0, :cond_4 .line 248 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->beginObject()V const/4 v0, 0x0 const/4 v1, 0x0 move-object v2, v1 move v1, v0 .line 249 :goto_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->hasNext()Z move-result v3 if-eqz v3, :cond_3 sget-object v3, Lcom/airbnb/lottie/parser/LottieCompositionMoshiParser;->MARKER_NAMES:Lcom/airbnb/lottie/parser/moshi/JsonReader$Options; .line 250 invoke-virtual {p0, v3}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->selectName(Lcom/airbnb/lottie/parser/moshi/JsonReader$Options;)I move-result v3 if-eqz v3, :cond_2 const/4 v4, 0x1 if-eq v3, v4, :cond_1 const/4 v4, 0x2 if-eq v3, v4, :cond_0 .line 261 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipName()V .line 262 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->skipValue()V goto :goto_1 .line 258 :cond_0 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextDouble()D move-result-wide v3 double-to-float v1, v3 goto :goto_1 .line 255 :cond_1 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextDouble()D move-result-wide v3 double-to-float v0, v3 goto :goto_1 .line 252 :cond_2 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->nextString()Ljava/lang/String; move-result-object v2 goto :goto_1 .line 265 :cond_3 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endObject()V .line 266 new-instance v3, Lcom/airbnb/lottie/model/Marker; invoke-direct {v3, v2, v0, v1}, Lcom/airbnb/lottie/model/Marker;->(Ljava/lang/String;FF)V invoke-interface {p1, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_0 .line 268 :cond_4 invoke-virtual {p0}, Lcom/airbnb/lottie/parser/moshi/JsonReader;->endArray()V return-void .end method