.class public final Lcom/airbnb/lottie/e/l; .super Ljava/lang/Object; .source "GradientColorParser.java" # interfaces .implements Lcom/airbnb/lottie/e/ai; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Object;", "Lcom/airbnb/lottie/e/ai<", "Lcom/airbnb/lottie/c/b/c;", ">;" } .end annotation # instance fields .field private lp:I # direct methods .method public constructor (I)V .locals 0 invoke-direct {p0}, Ljava/lang/Object;->()V iput p1, p0, Lcom/airbnb/lottie/e/l;->lp:I return-void .end method .method private a(Lcom/airbnb/lottie/c/b/c;Ljava/util/List;)V .locals 23 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/airbnb/lottie/c/b/c;", "Ljava/util/List<", "Ljava/lang/Float;", ">;)V" } .end annotation move-object/from16 v0, p1 move-object/from16 v1, p0 move-object/from16 v2, p2 iget v3, v1, Lcom/airbnb/lottie/e/l;->lp:I mul-int/lit8 v3, v3, 0x4 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I move-result v4 if-gt v4, v3, :cond_0 return-void :cond_0 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I move-result v4 sub-int/2addr v4, v3 div-int/lit8 v4, v4, 0x2 new-array v5, v4, [D new-array v6, v4, [D const/4 v7, 0x0 const/4 v8, 0x0 :goto_0 invoke-interface/range {p2 .. p2}, Ljava/util/List;->size()I move-result v9 if-ge v3, v9, :cond_2 rem-int/lit8 v9, v3, 0x2 if-nez v9, :cond_1 invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v9 check-cast v9, Ljava/lang/Float; invoke-virtual {v9}, Ljava/lang/Float;->floatValue()F move-result v9 float-to-double v9, v9 aput-wide v9, v5, v8 goto :goto_1 :cond_1 invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v9 check-cast v9, Ljava/lang/Float; invoke-virtual {v9}, Ljava/lang/Float;->floatValue()F move-result v9 float-to-double v9, v9 aput-wide v9, v6, v8 add-int/lit8 v8, v8, 0x1 :goto_1 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_2 :goto_2 iget-object v2, v0, Lcom/airbnb/lottie/c/b/c;->iG:[I array-length v2, v2 if-ge v7, v2, :cond_5 iget-object v2, v0, Lcom/airbnb/lottie/c/b/c;->iG:[I aget v2, v2, v7 iget-object v3, v0, Lcom/airbnb/lottie/c/b/c;->iF:[F aget v3, v3, v7 float-to-double v8, v3 const/4 v3, 0x1 :goto_3 const-wide v10, 0x406fe00000000000L # 255.0 if-ge v3, v4, :cond_4 add-int/lit8 v12, v3, -0x1 aget-wide v13, v5, v12 aget-wide v15, v5, v3 aget-wide v17, v5, v3 cmpl-double v19, v17, v8 if-ltz v19, :cond_3 sub-double/2addr v8, v13 sub-double/2addr v15, v13 div-double v21, v8, v15 aget-wide v17, v6, v12 aget-wide v19, v6, v3 invoke-static/range {v17 .. v22}, Lcom/airbnb/lottie/f/g;->a(DDD)D move-result-wide v8 goto :goto_4 :cond_3 add-int/lit8 v3, v3, 0x1 goto :goto_3 :cond_4 add-int/lit8 v3, v4, -0x1 aget-wide v8, v6, v3 :goto_4 mul-double v8, v8, v10 double-to-int v3, v8 invoke-static {v2}, Landroid/graphics/Color;->red(I)I move-result v8 invoke-static {v2}, Landroid/graphics/Color;->green(I)I move-result v9 invoke-static {v2}, Landroid/graphics/Color;->blue(I)I move-result v2 invoke-static {v3, v8, v9, v2}, Landroid/graphics/Color;->argb(IIII)I move-result v2 iget-object v3, v0, Lcom/airbnb/lottie/c/b/c;->iG:[I aput v2, v3, v7 add-int/lit8 v7, v7, 0x1 goto :goto_2 :cond_5 return-void .end method # virtual methods .method public final synthetic a(Lcom/airbnb/lottie/e/a/c;F)Ljava/lang/Object; .locals 12 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation new-instance p2, Ljava/util/ArrayList; invoke-direct {p2}, Ljava/util/ArrayList;->()V invoke-virtual {p1}, Lcom/airbnb/lottie/e/a/c;->by()Lcom/airbnb/lottie/e/a/c$b; move-result-object v0 sget-object v1, Lcom/airbnb/lottie/e/a/c$b;->lJ:Lcom/airbnb/lottie/e/a/c$b; const/4 v2, 0x1 const/4 v3, 0x0 if-ne v0, v1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 if-eqz v0, :cond_1 invoke-virtual {p1}, Lcom/airbnb/lottie/e/a/c;->beginArray()V :cond_1 :goto_1 invoke-virtual {p1}, Lcom/airbnb/lottie/e/a/c;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-virtual {p1}, Lcom/airbnb/lottie/e/a/c;->nextDouble()D move-result-wide v4 double-to-float v1, v4 invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v1 invoke-interface {p2, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_1 :cond_2 if-eqz v0, :cond_3 invoke-virtual {p1}, Lcom/airbnb/lottie/e/a/c;->endArray()V :cond_3 iget p1, p0, Lcom/airbnb/lottie/e/l;->lp:I const/4 v0, -0x1 if-ne p1, v0, :cond_4 invoke-interface {p2}, Ljava/util/List;->size()I move-result p1 div-int/lit8 p1, p1, 0x4 iput p1, p0, Lcom/airbnb/lottie/e/l;->lp:I :cond_4 iget p1, p0, Lcom/airbnb/lottie/e/l;->lp:I new-array v0, p1, [F new-array p1, p1, [I const/4 v1, 0x0 const/4 v4, 0x0 :goto_2 iget v5, p0, Lcom/airbnb/lottie/e/l;->lp:I mul-int/lit8 v5, v5, 0x4 if-ge v3, v5, :cond_9 div-int/lit8 v5, v3, 0x4 invoke-interface {p2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v6 check-cast v6, Ljava/lang/Float; invoke-virtual {v6}, Ljava/lang/Float;->floatValue()F move-result v6 float-to-double v6, v6 rem-int/lit8 v8, v3, 0x4 if-eqz v8, :cond_8 const-wide v9, 0x406fe00000000000L # 255.0 if-eq v8, v2, :cond_7 const/4 v11, 0x2 if-eq v8, v11, :cond_6 const/4 v11, 0x3 if-eq v8, v11, :cond_5 goto :goto_3 :cond_5 mul-double v6, v6, v9 double-to-int v6, v6 const/16 v7, 0xff invoke-static {v7, v1, v4, v6}, Landroid/graphics/Color;->argb(IIII)I move-result v6 aput v6, p1, v5 goto :goto_3 :cond_6 mul-double v6, v6, v9 double-to-int v4, v6 goto :goto_3 :cond_7 mul-double v6, v6, v9 double-to-int v1, v6 goto :goto_3 :cond_8 double-to-float v6, v6 aput v6, v0, v5 :goto_3 add-int/lit8 v3, v3, 0x1 goto :goto_2 :cond_9 new-instance v1, Lcom/airbnb/lottie/c/b/c; invoke-direct {v1, v0, p1}, Lcom/airbnb/lottie/c/b/c;->([F[I)V invoke-direct {p0, v1, p2}, Lcom/airbnb/lottie/e/l;->a(Lcom/airbnb/lottie/c/b/c;Ljava/util/List;)V return-object v1 .end method