.class public Lcom/moji/lottie/GradientStrokeContent; .super Lcom/moji/lottie/BaseStrokeContent; .source "GradientStrokeContent.java" # instance fields .field private final b:Ljava/lang/String; .field private final c:Landroid/support/v4/util/LongSparseArray; .annotation system Ldalvik/annotation/Signature; value = { "Landroid/support/v4/util/LongSparseArray<", "Landroid/graphics/LinearGradient;", ">;" } .end annotation .end field .field private final d:Landroid/support/v4/util/LongSparseArray; .annotation system Ldalvik/annotation/Signature; value = { "Landroid/support/v4/util/LongSparseArray<", "Landroid/graphics/RadialGradient;", ">;" } .end annotation .end field .field private final e:Landroid/graphics/RectF; .field private final f:Lcom/moji/lottie/GradientType; .field private final g:I .field private final h:Lcom/moji/lottie/KeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/KeyframeAnimation<", "Lcom/moji/lottie/GradientColor;", ">;" } .end annotation .end field .field private final i:Lcom/moji/lottie/KeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/KeyframeAnimation<", "Landroid/graphics/PointF;", ">;" } .end annotation .end field .field private final j:Lcom/moji/lottie/KeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/KeyframeAnimation<", "Landroid/graphics/PointF;", ">;" } .end annotation .end field # direct methods .method constructor (Lcom/moji/lottie/LottieDrawable;Lcom/moji/lottie/BaseLayer;Lcom/moji/lottie/GradientStroke;)V .locals 10 .line 33 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->h()Lcom/moji/lottie/ShapeStroke$LineCapType; move-result-object v0 invoke-virtual {v0}, Lcom/moji/lottie/ShapeStroke$LineCapType;->toPaintCap()Landroid/graphics/Paint$Cap; move-result-object v4 .line 34 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->i()Lcom/moji/lottie/ShapeStroke$LineJoinType; move-result-object v0 invoke-virtual {v0}, Lcom/moji/lottie/ShapeStroke$LineJoinType;->toPaintJoin()Landroid/graphics/Paint$Join; move-result-object v5 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->d()Lcom/moji/lottie/AnimatableIntegerValue; move-result-object v6 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->g()Lcom/moji/lottie/AnimatableFloatValue; move-result-object v7 .line 35 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->j()Ljava/util/List; move-result-object v8 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->k()Lcom/moji/lottie/AnimatableFloatValue; move-result-object v9 move-object v1, p0 move-object v2, p1 move-object v3, p2 .line 33 invoke-direct/range {v1 .. v9}, Lcom/moji/lottie/BaseStrokeContent;->(Lcom/moji/lottie/LottieDrawable;Lcom/moji/lottie/BaseLayer;Landroid/graphics/Paint$Cap;Landroid/graphics/Paint$Join;Lcom/moji/lottie/AnimatableIntegerValue;Lcom/moji/lottie/AnimatableFloatValue;Ljava/util/List;Lcom/moji/lottie/AnimatableFloatValue;)V .line 21 new-instance v0, Landroid/support/v4/util/LongSparseArray; invoke-direct {v0}, Landroid/support/v4/util/LongSparseArray;->()V iput-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->c:Landroid/support/v4/util/LongSparseArray; .line 22 new-instance v0, Landroid/support/v4/util/LongSparseArray; invoke-direct {v0}, Landroid/support/v4/util/LongSparseArray;->()V iput-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->d:Landroid/support/v4/util/LongSparseArray; .line 23 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; .line 37 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->a()Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->b:Ljava/lang/String; .line 38 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->b()Lcom/moji/lottie/GradientType; move-result-object v0 iput-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->f:Lcom/moji/lottie/GradientType; .line 39 invoke-virtual {p1}, Lcom/moji/lottie/LottieDrawable;->j()Lcom/moji/lottie/LottieComposition; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/LottieComposition;->b()J move-result-wide v0 const-wide/16 v2, 0x20 div-long/2addr v0, v2 long-to-int p1, v0 iput p1, p0, Lcom/moji/lottie/GradientStrokeContent;->g:I .line 41 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->c()Lcom/moji/lottie/AnimatableGradientColorValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableGradientColorValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->h:Lcom/moji/lottie/KeyframeAnimation; .line 42 iget-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->h:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/KeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 43 iget-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->h:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 45 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->e()Lcom/moji/lottie/AnimatablePointValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatablePointValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->i:Lcom/moji/lottie/KeyframeAnimation; .line 46 iget-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->i:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/KeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 47 iget-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->i:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 49 invoke-virtual {p3}, Lcom/moji/lottie/GradientStroke;->f()Lcom/moji/lottie/AnimatablePointValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatablePointValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->j:Lcom/moji/lottie/KeyframeAnimation; .line 50 iget-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->j:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/KeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 51 iget-object p1, p0, Lcom/moji/lottie/GradientStrokeContent;->j:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V return-void .end method .method private b()Landroid/graphics/LinearGradient; .locals 14 .line 78 invoke-direct {p0}, Lcom/moji/lottie/GradientStrokeContent;->d()I move-result v0 .line 79 iget-object v1, p0, Lcom/moji/lottie/GradientStrokeContent;->c:Landroid/support/v4/util/LongSparseArray; int-to-long v2, v0 invoke-virtual {v1, v2, v3}, Landroid/support/v4/util/LongSparseArray;->get(J)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/graphics/LinearGradient; if-eqz v0, :cond_0 return-object v0 .line 83 :cond_0 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->i:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v0}, Lcom/moji/lottie/KeyframeAnimation;->b()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/graphics/PointF; .line 84 iget-object v1, p0, Lcom/moji/lottie/GradientStrokeContent;->j:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v1}, Lcom/moji/lottie/KeyframeAnimation;->b()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/graphics/PointF; .line 85 iget-object v4, p0, Lcom/moji/lottie/GradientStrokeContent;->h:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v4}, Lcom/moji/lottie/KeyframeAnimation;->b()Ljava/lang/Object; move-result-object v4 check-cast v4, Lcom/moji/lottie/GradientColor; .line 86 invoke-virtual {v4}, Lcom/moji/lottie/GradientColor;->b()[I move-result-object v10 .line 87 invoke-virtual {v4}, Lcom/moji/lottie/GradientColor;->a()[F move-result-object v11 .line 88 iget-object v4, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->left:F iget-object v5, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v5}, Landroid/graphics/RectF;->width()F move-result v5 const/high16 v6, 0x40000000 # 2.0f div-float/2addr v5, v6 add-float/2addr v4, v5 iget v5, v0, Landroid/graphics/PointF;->x:F add-float/2addr v4, v5 float-to-int v4, v4 .line 89 iget-object v5, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->top:F iget-object v7, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v7}, Landroid/graphics/RectF;->height()F move-result v7 div-float/2addr v7, v6 add-float/2addr v5, v7 iget v0, v0, Landroid/graphics/PointF;->y:F add-float/2addr v5, v0 float-to-int v0, v5 .line 90 iget-object v5, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->left:F iget-object v7, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v7}, Landroid/graphics/RectF;->width()F move-result v7 div-float/2addr v7, v6 add-float/2addr v5, v7 iget v7, v1, Landroid/graphics/PointF;->x:F add-float/2addr v5, v7 float-to-int v5, v5 .line 91 iget-object v7, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v7, v7, Landroid/graphics/RectF;->top:F iget-object v8, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v8}, Landroid/graphics/RectF;->height()F move-result v8 div-float/2addr v8, v6 add-float/2addr v7, v8 iget v1, v1, Landroid/graphics/PointF;->y:F add-float/2addr v7, v1 float-to-int v1, v7 .line 92 new-instance v13, Landroid/graphics/LinearGradient; int-to-float v6, v4 int-to-float v7, v0 int-to-float v8, v5 int-to-float v9, v1 sget-object v12, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode; move-object v5, v13 invoke-direct/range {v5 .. v12}, Landroid/graphics/LinearGradient;->(FFFF[I[FLandroid/graphics/Shader$TileMode;)V .line 93 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->c:Landroid/support/v4/util/LongSparseArray; invoke-virtual {v0, v2, v3, v13}, Landroid/support/v4/util/LongSparseArray;->put(JLjava/lang/Object;)V return-object v13 .end method .method private c()Landroid/graphics/RadialGradient; .locals 12 .line 98 invoke-direct {p0}, Lcom/moji/lottie/GradientStrokeContent;->d()I move-result v0 .line 99 iget-object v1, p0, Lcom/moji/lottie/GradientStrokeContent;->d:Landroid/support/v4/util/LongSparseArray; int-to-long v2, v0 invoke-virtual {v1, v2, v3}, Landroid/support/v4/util/LongSparseArray;->get(J)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/graphics/RadialGradient; if-eqz v0, :cond_0 return-object v0 .line 103 :cond_0 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->i:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v0}, Lcom/moji/lottie/KeyframeAnimation;->b()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/graphics/PointF; .line 104 iget-object v1, p0, Lcom/moji/lottie/GradientStrokeContent;->j:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v1}, Lcom/moji/lottie/KeyframeAnimation;->b()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/graphics/PointF; .line 105 iget-object v4, p0, Lcom/moji/lottie/GradientStrokeContent;->h:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v4}, Lcom/moji/lottie/KeyframeAnimation;->b()Ljava/lang/Object; move-result-object v4 check-cast v4, Lcom/moji/lottie/GradientColor; .line 106 invoke-virtual {v4}, Lcom/moji/lottie/GradientColor;->b()[I move-result-object v9 .line 107 invoke-virtual {v4}, Lcom/moji/lottie/GradientColor;->a()[F move-result-object v10 .line 108 iget-object v4, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->left:F iget-object v5, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v5}, Landroid/graphics/RectF;->width()F move-result v5 const/high16 v6, 0x40000000 # 2.0f div-float/2addr v5, v6 add-float/2addr v4, v5 iget v5, v0, Landroid/graphics/PointF;->x:F add-float/2addr v4, v5 float-to-int v4, v4 .line 109 iget-object v5, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->top:F iget-object v7, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v7}, Landroid/graphics/RectF;->height()F move-result v7 div-float/2addr v7, v6 add-float/2addr v5, v7 iget v0, v0, Landroid/graphics/PointF;->y:F add-float/2addr v5, v0 float-to-int v0, v5 .line 110 iget-object v5, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v5, v5, Landroid/graphics/RectF;->left:F iget-object v7, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v7}, Landroid/graphics/RectF;->width()F move-result v7 div-float/2addr v7, v6 add-float/2addr v5, v7 iget v7, v1, Landroid/graphics/PointF;->x:F add-float/2addr v5, v7 float-to-int v5, v5 .line 111 iget-object v7, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; iget v7, v7, Landroid/graphics/RectF;->top:F iget-object v8, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {v8}, Landroid/graphics/RectF;->height()F move-result v8 div-float/2addr v8, v6 add-float/2addr v7, v8 iget v1, v1, Landroid/graphics/PointF;->y:F add-float/2addr v7, v1 float-to-int v1, v7 sub-int/2addr v5, v4 int-to-double v5, v5 sub-int/2addr v1, v0 int-to-double v7, v1 .line 112 invoke-static {v5, v6, v7, v8}, Ljava/lang/Math;->hypot(DD)D move-result-wide v5 double-to-float v8, v5 .line 113 new-instance v1, Landroid/graphics/RadialGradient; int-to-float v6, v4 int-to-float v7, v0 sget-object v11, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode; move-object v5, v1 invoke-direct/range {v5 .. v11}, Landroid/graphics/RadialGradient;->(FFF[I[FLandroid/graphics/Shader$TileMode;)V .line 114 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->d:Landroid/support/v4/util/LongSparseArray; invoke-virtual {v0, v2, v3, v1}, Landroid/support/v4/util/LongSparseArray;->put(JLjava/lang/Object;)V return-object v1 .end method .method private d()I .locals 4 .line 119 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->i:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v0}, Lcom/moji/lottie/KeyframeAnimation;->c()F move-result v0 iget v1, p0, Lcom/moji/lottie/GradientStrokeContent;->g:I int-to-float v1, v1 mul-float v0, v0, v1 invoke-static {v0}, Ljava/lang/Math;->round(F)I move-result v0 .line 120 iget-object v1, p0, Lcom/moji/lottie/GradientStrokeContent;->j:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v1}, Lcom/moji/lottie/KeyframeAnimation;->c()F move-result v1 iget v2, p0, Lcom/moji/lottie/GradientStrokeContent;->g:I int-to-float v2, v2 mul-float v1, v1, v2 invoke-static {v1}, Ljava/lang/Math;->round(F)I move-result v1 .line 121 iget-object v2, p0, Lcom/moji/lottie/GradientStrokeContent;->h:Lcom/moji/lottie/KeyframeAnimation; invoke-virtual {v2}, Lcom/moji/lottie/KeyframeAnimation;->c()F move-result v2 iget v3, p0, Lcom/moji/lottie/GradientStrokeContent;->g:I int-to-float v3, v3 mul-float v2, v2, v3 invoke-static {v2}, Ljava/lang/Math;->round(F)I move-result v2 const/16 v3, 0x20f mul-int v3, v3, v0 mul-int/lit8 v3, v3, 0x1f mul-int v3, v3, v1 mul-int/lit8 v3, v3, 0x1f mul-int v3, v3, v2 return v3 .end method # virtual methods .method public bridge synthetic a()V .locals 0 .line 14 invoke-super {p0}, Lcom/moji/lottie/BaseStrokeContent;->a()V return-void .end method .method public a(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V .locals 2 .line 56 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {p0, v0, p2}, Lcom/moji/lottie/GradientStrokeContent;->a(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V .line 57 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->f:Lcom/moji/lottie/GradientType; sget-object v1, Lcom/moji/lottie/GradientType;->Linear:Lcom/moji/lottie/GradientType; if-ne v0, v1, :cond_0 .line 58 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->a:Landroid/graphics/Paint; invoke-direct {p0}, Lcom/moji/lottie/GradientStrokeContent;->b()Landroid/graphics/LinearGradient; move-result-object v1 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader; goto :goto_0 .line 60 :cond_0 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->a:Landroid/graphics/Paint; invoke-direct {p0}, Lcom/moji/lottie/GradientStrokeContent;->c()Landroid/graphics/RadialGradient; move-result-object v1 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader; .line 63 :goto_0 invoke-super {p0, p1, p2, p3}, Lcom/moji/lottie/BaseStrokeContent;->a(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V return-void .end method .method public bridge synthetic a(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V .locals 0 .line 14 invoke-super {p0, p1, p2}, Lcom/moji/lottie/BaseStrokeContent;->a(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V return-void .end method .method public a(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/ColorFilter;)V .locals 0 .param p1 # Ljava/lang/String; .annotation build Landroid/support/annotation/Nullable; .end annotation .end param .param p2 # Ljava/lang/String; .annotation build Landroid/support/annotation/Nullable; .end annotation .end param .param p3 # Landroid/graphics/ColorFilter; .annotation build Landroid/support/annotation/Nullable; .end annotation .end param return-void .end method .method public bridge synthetic a(Ljava/util/List;Ljava/util/List;)V .locals 0 .line 14 invoke-super {p0, p1, p2}, Lcom/moji/lottie/BaseStrokeContent;->a(Ljava/util/List;Ljava/util/List;)V return-void .end method .method public e()Ljava/lang/String; .locals 1 .line 74 iget-object v0, p0, Lcom/moji/lottie/GradientStrokeContent;->b:Ljava/lang/String; return-object v0 .end method