.class abstract Lcom/moji/lottie/BaseStrokeContent; .super Ljava/lang/Object; .source "BaseStrokeContent.java" # interfaces .implements Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener; .implements Lcom/moji/lottie/DrawingContent; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/moji/lottie/BaseStrokeContent$PathGroup; } .end annotation # instance fields .field final a:Landroid/graphics/Paint; .field private final b:Landroid/graphics/PathMeasure; .field private final c:Landroid/graphics/Path; .field private final d:Landroid/graphics/Path; .field private final e:Landroid/graphics/RectF; .field private final f:Lcom/moji/lottie/LottieDrawable; .field private final g:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lcom/moji/lottie/BaseStrokeContent$PathGroup;", ">;" } .end annotation .end field .field private final h:[F .field private final i:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;" } .end annotation .end field .field private final j:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field private final k:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;>;" } .end annotation .end field .field private final l:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation build Landroid/support/annotation/Nullable; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;" } .end annotation .end field # direct methods .method constructor (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 .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "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;", ">;", "Lcom/moji/lottie/AnimatableFloatValue;", ")V" } .end annotation .line 33 invoke-direct {p0}, Ljava/lang/Object;->()V .line 16 new-instance v0, Landroid/graphics/PathMeasure; invoke-direct {v0}, Landroid/graphics/PathMeasure;->()V iput-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; .line 17 new-instance v0, Landroid/graphics/Path; invoke-direct {v0}, Landroid/graphics/Path;->()V iput-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; .line 18 new-instance v0, Landroid/graphics/Path; invoke-direct {v0}, Landroid/graphics/Path;->()V iput-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; .line 19 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; .line 21 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; .line 23 new-instance v0, Landroid/graphics/Paint; const/4 v1, 0x1 invoke-direct {v0, v1}, Landroid/graphics/Paint;->(I)V iput-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; .line 34 iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->f:Lcom/moji/lottie/LottieDrawable; .line 35 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; sget-object v0, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style; invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V .line 36 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p1, p3}, Landroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V .line 37 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p1, p4}, Landroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V .line 39 invoke-virtual {p5}, Lcom/moji/lottie/AnimatableIntegerValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; .line 40 invoke-virtual {p6}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; if-nez p8, :cond_0 const/4 p1, 0x0 .line 43 iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; goto :goto_0 .line 45 :cond_0 invoke-virtual {p8}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; .line 47 :goto_0 new-instance p1, Ljava/util/ArrayList; invoke-interface {p7}, Ljava/util/List;->size()I move-result p3 invoke-direct {p1, p3}, Ljava/util/ArrayList;->(I)V iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; .line 48 invoke-interface {p7}, Ljava/util/List;->size()I move-result p1 new-array p1, p1, [F iput-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F const/4 p1, 0x0 const/4 p3, 0x0 .line 50 :goto_1 invoke-interface {p7}, Ljava/util/List;->size()I move-result p4 if-ge p3, p4, :cond_1 .line 51 iget-object p4, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {p7, p3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p5 check-cast p5, Lcom/moji/lottie/AnimatableFloatValue; invoke-virtual {p5}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p5 invoke-interface {p4, p5}, Ljava/util/List;->add(Ljava/lang/Object;)Z add-int/lit8 p3, p3, 0x1 goto :goto_1 .line 54 :cond_1 iget-object p3, p0, Lcom/moji/lottie/BaseStrokeContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p3}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 55 iget-object p3, p0, Lcom/moji/lottie/BaseStrokeContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p3}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V const/4 p3, 0x0 .line 56 :goto_2 iget-object p4, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {p4}, Ljava/util/List;->size()I move-result p4 if-ge p3, p4, :cond_2 .line 57 iget-object p4, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {p4, p3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p4 check-cast p4, Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p4}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V add-int/lit8 p3, p3, 0x1 goto :goto_2 .line 59 :cond_2 iget-object p3, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; if-eqz p3, :cond_3 .line 60 iget-object p3, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p3}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 63 :cond_3 iget-object p2, p0, Lcom/moji/lottie/BaseStrokeContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 64 iget-object p2, p0, Lcom/moji/lottie/BaseStrokeContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 66 :goto_3 invoke-interface {p7}, Ljava/util/List;->size()I move-result p2 if-ge p1, p2, :cond_4 .line 67 iget-object p2, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {p2, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p2 check-cast p2, Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V add-int/lit8 p1, p1, 0x1 goto :goto_3 .line 69 :cond_4 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; if-eqz p1, :cond_5 .line 70 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V :cond_5 return-void .end method .method private a(Landroid/graphics/Canvas;Lcom/moji/lottie/BaseStrokeContent$PathGroup;Landroid/graphics/Matrix;)V .locals 11 .line 143 invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->b(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Lcom/moji/lottie/TrimPathContent; move-result-object v0 if-nez v0, :cond_0 return-void .line 146 :cond_0 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; invoke-virtual {v0}, Landroid/graphics/Path;->reset()V .line 147 invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v0 invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 .line 148 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v2 invoke-interface {v2, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/moji/lottie/PathContent; invoke-interface {v2}, Lcom/moji/lottie/PathContent;->d()Landroid/graphics/Path; move-result-object v2 invoke-virtual {v1, v2, p3}, Landroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V add-int/lit8 v0, v0, -0x1 goto :goto_0 .line 150 :cond_1 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; const/4 v2, 0x0 invoke-virtual {v0, v1, v2}, Landroid/graphics/PathMeasure;->setPath(Landroid/graphics/Path;Z)V .line 151 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; invoke-virtual {v0}, Landroid/graphics/PathMeasure;->getLength()F move-result v0 .line 152 :goto_1 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; invoke-virtual {v1}, Landroid/graphics/PathMeasure;->nextContour()Z move-result v1 if-eqz v1, :cond_2 .line 153 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; invoke-virtual {v1}, Landroid/graphics/PathMeasure;->getLength()F move-result v1 add-float/2addr v0, v1 goto :goto_1 .line 155 :cond_2 invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->b(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Lcom/moji/lottie/TrimPathContent; move-result-object v1 invoke-virtual {v1}, Lcom/moji/lottie/TrimPathContent;->f()Lcom/moji/lottie/BaseKeyframeAnimation; move-result-object v1 invoke-virtual {v1}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Float; invoke-virtual {v1}, Ljava/lang/Float;->floatValue()F move-result v1 mul-float v1, v1, v0 const/high16 v3, 0x43b40000 # 360.0f div-float/2addr v1, v3 .line 157 invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->b(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Lcom/moji/lottie/TrimPathContent; move-result-object v3 invoke-virtual {v3}, Lcom/moji/lottie/TrimPathContent;->c()Lcom/moji/lottie/BaseKeyframeAnimation; move-result-object v3 invoke-virtual {v3}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/Float; invoke-virtual {v3}, Ljava/lang/Float;->floatValue()F move-result v3 mul-float v3, v3, v0 const/high16 v4, 0x42c80000 # 100.0f div-float/2addr v3, v4 add-float/2addr v3, v1 .line 159 invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->b(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Lcom/moji/lottie/TrimPathContent; move-result-object v5 invoke-virtual {v5}, Lcom/moji/lottie/TrimPathContent;->d()Lcom/moji/lottie/BaseKeyframeAnimation; move-result-object v5 invoke-virtual {v5}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v5 check-cast v5, Ljava/lang/Float; invoke-virtual {v5}, Ljava/lang/Float;->floatValue()F move-result v5 mul-float v5, v5, v0 div-float/2addr v5, v4 add-float/2addr v5, v1 .line 162 invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v1 invoke-interface {v1}, Ljava/util/List;->size()I move-result v1 add-int/lit8 v1, v1, -0x1 const/4 v4, 0x0 const/4 v6, 0x0 :goto_2 if-ltz v1, :cond_a .line 163 iget-object v7, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; invoke-static {p2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v8 invoke-interface {v8, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v8 check-cast v8, Lcom/moji/lottie/PathContent; invoke-interface {v8}, Lcom/moji/lottie/PathContent;->d()Landroid/graphics/Path; move-result-object v8 invoke-virtual {v7, v8}, Landroid/graphics/Path;->set(Landroid/graphics/Path;)V .line 164 iget-object v7, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; invoke-virtual {v7, p3}, Landroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V .line 165 iget-object v7, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; iget-object v8, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; invoke-virtual {v7, v8, v2}, Landroid/graphics/PathMeasure;->setPath(Landroid/graphics/Path;Z)V .line 166 iget-object v7, p0, Lcom/moji/lottie/BaseStrokeContent;->b:Landroid/graphics/PathMeasure; invoke-virtual {v7}, Landroid/graphics/PathMeasure;->getLength()F move-result v7 const/high16 v8, 0x3f800000 # 1.0f cmpl-float v9, v5, v0 if-lez v9, :cond_4 sub-float v9, v5, v0 add-float v10, v6, v7 cmpg-float v10, v9, v10 if-gez v10, :cond_4 cmpg-float v10, v6, v9 if-gez v10, :cond_4 cmpl-float v10, v3, v0 if-lez v10, :cond_3 sub-float v10, v3, v0 div-float/2addr v10, v7 goto :goto_3 :cond_3 const/4 v10, 0x0 :goto_3 div-float/2addr v9, v7 .line 177 invoke-static {v9, v8}, Ljava/lang/Math;->min(FF)F move-result v8 .line 178 iget-object v9, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; invoke-static {v9, v10, v8, v4}, Lcom/moji/lottie/Utils;->a(Landroid/graphics/Path;FFF)V .line 179 iget-object v8, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; iget-object v9, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p1, v8, v9}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V goto :goto_6 :cond_4 add-float v9, v6, v7 cmpg-float v10, v9, v3 if-ltz v10, :cond_9 cmpl-float v10, v6, v5 if-lez v10, :cond_5 goto :goto_6 :cond_5 cmpg-float v10, v9, v5 if-gtz v10, :cond_6 cmpg-float v10, v3, v6 if-gez v10, :cond_6 .line 184 iget-object v8, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; iget-object v9, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p1, v8, v9}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V goto :goto_6 :cond_6 cmpg-float v10, v3, v6 if-gez v10, :cond_7 const/4 v10, 0x0 goto :goto_4 :cond_7 sub-float v10, v3, v6 div-float/2addr v10, v7 :goto_4 cmpl-float v9, v5, v9 if-lez v9, :cond_8 goto :goto_5 :cond_8 sub-float v8, v5, v6 div-float/2addr v8, v7 .line 198 :goto_5 iget-object v9, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; invoke-static {v9, v10, v8, v4}, Lcom/moji/lottie/Utils;->a(Landroid/graphics/Path;FFF)V .line 199 iget-object v8, p0, Lcom/moji/lottie/BaseStrokeContent;->d:Landroid/graphics/Path; iget-object v9, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p1, v8, v9}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V :cond_9 :goto_6 add-float/2addr v6, v7 add-int/lit8 v1, v1, -0x1 goto/16 :goto_2 :cond_a return-void .end method .method private a(Landroid/graphics/Matrix;)V .locals 3 .line 230 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->isEmpty()Z move-result v0 if-eqz v0, :cond_0 return-void .line 234 :cond_0 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->f:Lcom/moji/lottie/LottieDrawable; invoke-virtual {v0}, Lcom/moji/lottie/LottieDrawable;->i()F move-result v0 .line 235 invoke-static {p1}, Lcom/moji/lottie/Utils;->a(Landroid/graphics/Matrix;)F move-result p1 mul-float v0, v0, p1 const/4 p1, 0x0 .line 236 :goto_0 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {v1}, Ljava/util/List;->size()I move-result v1 if-ge p1, v1, :cond_3 .line 237 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F iget-object v2, p0, Lcom/moji/lottie/BaseStrokeContent;->k:Ljava/util/List; invoke-interface {v2, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v2}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/Float; invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F move-result v2 aput v2, v1, p1 .line 242 rem-int/lit8 v1, p1, 0x2 if-nez v1, :cond_1 .line 243 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F aget v1, v1, p1 const/high16 v2, 0x3f800000 # 1.0f cmpg-float v1, v1, v2 if-gez v1, :cond_2 .line 244 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F aput v2, v1, p1 goto :goto_1 .line 247 :cond_1 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F aget v1, v1, p1 const v2, 0x3dcccccd # 0.1f cmpg-float v1, v1, v2 if-gez v1, :cond_2 .line 248 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F aput v2, v1, p1 .line 251 :cond_2 :goto_1 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F aget v2, v1, p1 mul-float v2, v2, v0 aput v2, v1, p1 add-int/lit8 p1, p1, 0x1 goto :goto_0 .line 253 :cond_3 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; if-nez p1, :cond_4 const/4 p1, 0x0 goto :goto_2 :cond_4 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->l:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/Float; invoke-virtual {p1}, Ljava/lang/Float;->floatValue()F move-result p1 .line 254 :goto_2 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; new-instance v1, Landroid/graphics/DashPathEffect; iget-object v2, p0, Lcom/moji/lottie/BaseStrokeContent;->h:[F invoke-direct {v1, v2, p1}, Landroid/graphics/DashPathEffect;->([FF)V invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setPathEffect(Landroid/graphics/PathEffect;)Landroid/graphics/PathEffect; return-void .end method # virtual methods .method public a()V .locals 1 .line 76 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->f:Lcom/moji/lottie/LottieDrawable; invoke-virtual {v0}, Lcom/moji/lottie/LottieDrawable;->invalidateSelf()V return-void .end method .method public a(Landroid/graphics/Canvas;Landroid/graphics/Matrix;I)V .locals 4 int-to-float p3, p3 const/high16 v0, 0x437f0000 # 255.0f div-float/2addr p3, v0 .line 117 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v1}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Integer; invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I move-result v1 int-to-float v1, v1 mul-float p3, p3, v1 const/high16 v1, 0x42c80000 # 100.0f div-float/2addr p3, v1 mul-float p3, p3, v0 float-to-int p3, p3 .line 118 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {v0, p3}, Landroid/graphics/Paint;->setAlpha(I)V .line 119 iget-object p3, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v0}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Float; invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F move-result v0 invoke-static {p2}, Lcom/moji/lottie/Utils;->a(Landroid/graphics/Matrix;)F move-result v1 mul-float v0, v0, v1 invoke-virtual {p3, v0}, Landroid/graphics/Paint;->setStrokeWidth(F)V .line 120 iget-object p3, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p3}, Landroid/graphics/Paint;->getStrokeWidth()F move-result p3 const/4 v0, 0x0 cmpg-float p3, p3, v0 if-gtz p3, :cond_0 return-void .line 124 :cond_0 invoke-direct {p0, p2}, Lcom/moji/lottie/BaseStrokeContent;->a(Landroid/graphics/Matrix;)V const/4 p3, 0x0 .line 126 :goto_0 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; invoke-interface {v0}, Ljava/util/List;->size()I move-result v0 if-ge p3, v0, :cond_3 .line 127 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; invoke-interface {v0, p3}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/moji/lottie/BaseStrokeContent$PathGroup; .line 130 invoke-static {v0}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->b(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Lcom/moji/lottie/TrimPathContent; move-result-object v1 if-eqz v1, :cond_1 .line 131 invoke-direct {p0, p1, v0, p2}, Lcom/moji/lottie/BaseStrokeContent;->a(Landroid/graphics/Canvas;Lcom/moji/lottie/BaseStrokeContent$PathGroup;Landroid/graphics/Matrix;)V goto :goto_2 .line 133 :cond_1 iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; invoke-virtual {v1}, Landroid/graphics/Path;->reset()V .line 134 invoke-static {v0}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v1 invoke-interface {v1}, Ljava/util/List;->size()I move-result v1 add-int/lit8 v1, v1, -0x1 :goto_1 if-ltz v1, :cond_2 .line 135 iget-object v2, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; invoke-static {v0}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v3 invoke-interface {v3, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/moji/lottie/PathContent; invoke-interface {v3}, Lcom/moji/lottie/PathContent;->d()Landroid/graphics/Path; move-result-object v3 invoke-virtual {v2, v3, p2}, Landroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V add-int/lit8 v1, v1, -0x1 goto :goto_1 .line 137 :cond_2 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->a:Landroid/graphics/Paint; invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V :goto_2 add-int/lit8 p3, p3, 0x1 goto :goto_0 :cond_3 return-void .end method .method public a(Landroid/graphics/RectF;Landroid/graphics/Matrix;)V .locals 6 .line 207 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; invoke-virtual {v0}, Landroid/graphics/Path;->reset()V const/4 v0, 0x0 const/4 v1, 0x0 .line 208 :goto_0 iget-object v2, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; invoke-interface {v2}, Ljava/util/List;->size()I move-result v2 if-ge v1, v2, :cond_1 .line 209 iget-object v2, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/moji/lottie/BaseStrokeContent$PathGroup; const/4 v3, 0x0 .line 210 :goto_1 invoke-static {v2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v4 invoke-interface {v4}, Ljava/util/List;->size()I move-result v4 if-ge v3, v4, :cond_0 .line 211 iget-object v4, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; invoke-static {v2}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v5 invoke-interface {v5, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v5 check-cast v5, Lcom/moji/lottie/PathContent; invoke-interface {v5}, Lcom/moji/lottie/PathContent;->d()Landroid/graphics/Path; move-result-object v5 invoke-virtual {v4, v5, p2}, Landroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V add-int/lit8 v3, v3, 0x1 goto :goto_1 :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 214 :cond_1 iget-object p2, p0, Lcom/moji/lottie/BaseStrokeContent;->c:Landroid/graphics/Path; iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {p2, v1, v0}, Landroid/graphics/Path;->computeBounds(Landroid/graphics/RectF;Z)V .line 216 iget-object p2, p0, Lcom/moji/lottie/BaseStrokeContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object p2 check-cast p2, Ljava/lang/Float; invoke-virtual {p2}, Ljava/lang/Float;->floatValue()F move-result p2 .line 217 iget-object v0, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; iget-object v1, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; iget v1, v1, Landroid/graphics/RectF;->left:F const/high16 v2, 0x40000000 # 2.0f div-float/2addr p2, v2 sub-float/2addr v1, p2 iget-object v2, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; iget v2, v2, Landroid/graphics/RectF;->top:F sub-float/2addr v2, p2 iget-object v3, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; iget v3, v3, Landroid/graphics/RectF;->right:F add-float/2addr v3, p2 iget-object v4, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; iget v4, v4, Landroid/graphics/RectF;->bottom:F add-float/2addr v4, p2 invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/RectF;->set(FFFF)V .line 219 iget-object p2, p0, Lcom/moji/lottie/BaseStrokeContent;->e:Landroid/graphics/RectF; invoke-virtual {p1, p2}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V .line 221 iget p2, p1, Landroid/graphics/RectF;->left:F const/high16 v0, 0x3f800000 # 1.0f sub-float/2addr p2, v0 iget v1, p1, Landroid/graphics/RectF;->top:F sub-float/2addr v1, v0 iget v2, p1, Landroid/graphics/RectF;->right:F add-float/2addr v2, v0 iget v3, p1, Landroid/graphics/RectF;->bottom:F add-float/2addr v3, v0 invoke-virtual {p1, p2, v1, v2, v3}, Landroid/graphics/RectF;->set(FFFF)V return-void .end method .method public a(Ljava/util/List;Ljava/util/List;)V .locals 7 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/moji/lottie/Content;", ">;", "Ljava/util/List<", "Lcom/moji/lottie/Content;", ">;)V" } .end annotation .line 82 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 const/4 v1, 0x0 move-object v2, v1 :goto_0 if-ltz v0, :cond_1 .line 83 invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/moji/lottie/Content; .line 84 instance-of v4, v3, Lcom/moji/lottie/TrimPathContent; if-eqz v4, :cond_0 check-cast v3, Lcom/moji/lottie/TrimPathContent; .line 85 invoke-virtual {v3}, Lcom/moji/lottie/TrimPathContent;->b()Lcom/moji/lottie/ShapeTrimPath$Type; move-result-object v4 sget-object v5, Lcom/moji/lottie/ShapeTrimPath$Type;->Individually:Lcom/moji/lottie/ShapeTrimPath$Type; if-ne v4, v5, :cond_0 move-object v2, v3 :cond_0 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 if-eqz v2, :cond_2 .line 90 invoke-virtual {v2, p0}, Lcom/moji/lottie/TrimPathContent;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 94 :cond_2 invoke-interface {p2}, Ljava/util/List;->size()I move-result p1 add-int/lit8 p1, p1, -0x1 move-object v0, v1 :goto_1 if-ltz p1, :cond_7 .line 95 invoke-interface {p2, p1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/moji/lottie/Content; .line 96 instance-of v4, v3, Lcom/moji/lottie/TrimPathContent; if-eqz v4, :cond_4 move-object v4, v3 check-cast v4, Lcom/moji/lottie/TrimPathContent; .line 97 invoke-virtual {v4}, Lcom/moji/lottie/TrimPathContent;->b()Lcom/moji/lottie/ShapeTrimPath$Type; move-result-object v5 sget-object v6, Lcom/moji/lottie/ShapeTrimPath$Type;->Individually:Lcom/moji/lottie/ShapeTrimPath$Type; if-ne v5, v6, :cond_4 if-eqz v0, :cond_3 .line 99 iget-object v3, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; invoke-interface {v3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 101 :cond_3 new-instance v0, Lcom/moji/lottie/BaseStrokeContent$PathGroup; invoke-direct {v0, v4, v1}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->(Lcom/moji/lottie/TrimPathContent;Lcom/moji/lottie/BaseStrokeContent$1;)V .line 102 invoke-virtual {v4, p0}, Lcom/moji/lottie/TrimPathContent;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V goto :goto_2 .line 103 :cond_4 instance-of v4, v3, Lcom/moji/lottie/PathContent; if-eqz v4, :cond_6 if-nez v0, :cond_5 .line 105 new-instance v0, Lcom/moji/lottie/BaseStrokeContent$PathGroup; invoke-direct {v0, v2, v1}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->(Lcom/moji/lottie/TrimPathContent;Lcom/moji/lottie/BaseStrokeContent$1;)V .line 107 :cond_5 invoke-static {v0}, Lcom/moji/lottie/BaseStrokeContent$PathGroup;->a(Lcom/moji/lottie/BaseStrokeContent$PathGroup;)Ljava/util/List; move-result-object v4 check-cast v3, Lcom/moji/lottie/PathContent; invoke-interface {v4, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_6 :goto_2 add-int/lit8 p1, p1, -0x1 goto :goto_1 :cond_7 if-eqz v0, :cond_8 .line 111 iget-object p1, p0, Lcom/moji/lottie/BaseStrokeContent;->g:Ljava/util/List; invoke-interface {p1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_8 return-void .end method