.class Lcom/moji/lottie/PolystarContent; .super Ljava/lang/Object; .source "PolystarContent.java" # interfaces .implements Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener; .implements Lcom/moji/lottie/PathContent; # instance fields .field private final a:Landroid/graphics/Path; .field private final b:Ljava/lang/String; .field private final c:Lcom/moji/lottie/LottieDrawable; .field private final d:Lcom/moji/lottie/PolystarShape$Type; .field private final e:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;" } .end annotation .end field .field private final f:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Landroid/graphics/PointF;", ">;" } .end annotation .end field .field private final g:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;" } .end annotation .end field .field private final h: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 .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 build Landroid/support/annotation/Nullable; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;" } .end annotation .end field .field private final k:Lcom/moji/lottie/BaseKeyframeAnimation; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/moji/lottie/BaseKeyframeAnimation<", "*", "Ljava/lang/Float;", ">;" } .end annotation .end field .field private l:Lcom/moji/lottie/TrimPathContent; .annotation build Landroid/support/annotation/Nullable; .end annotation .end field .field private m:Z # direct methods .method constructor (Lcom/moji/lottie/LottieDrawable;Lcom/moji/lottie/BaseLayer;Lcom/moji/lottie/PolystarShape;)V .locals 1 .line 37 invoke-direct {p0}, Ljava/lang/Object;->()V .line 18 new-instance v0, Landroid/graphics/Path; invoke-direct {v0}, Landroid/graphics/Path;->()V iput-object v0, p0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; .line 38 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->c:Lcom/moji/lottie/LottieDrawable; .line 40 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->a()Ljava/lang/String; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->b:Ljava/lang/String; .line 41 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->b()Lcom/moji/lottie/PolystarShape$Type; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->d:Lcom/moji/lottie/PolystarShape$Type; .line 42 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->c()Lcom/moji/lottie/AnimatableFloatValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->e:Lcom/moji/lottie/BaseKeyframeAnimation; .line 43 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->d()Lcom/moji/lottie/AnimatableValue; move-result-object p1 invoke-interface {p1}, Lcom/moji/lottie/AnimatableValue;->b()Lcom/moji/lottie/BaseKeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->f:Lcom/moji/lottie/BaseKeyframeAnimation; .line 44 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->e()Lcom/moji/lottie/AnimatableFloatValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->g:Lcom/moji/lottie/BaseKeyframeAnimation; .line 45 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->g()Lcom/moji/lottie/AnimatableFloatValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; .line 46 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->i()Lcom/moji/lottie/AnimatableFloatValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; .line 47 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->d:Lcom/moji/lottie/PolystarShape$Type; sget-object v0, Lcom/moji/lottie/PolystarShape$Type;->Star:Lcom/moji/lottie/PolystarShape$Type; if-ne p1, v0, :cond_0 .line 48 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->f()Lcom/moji/lottie/AnimatableFloatValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->h:Lcom/moji/lottie/BaseKeyframeAnimation; .line 49 invoke-virtual {p3}, Lcom/moji/lottie/PolystarShape;->h()Lcom/moji/lottie/AnimatableFloatValue; move-result-object p1 invoke-virtual {p1}, Lcom/moji/lottie/AnimatableFloatValue;->a()Lcom/moji/lottie/KeyframeAnimation; move-result-object p1 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; goto :goto_0 :cond_0 const/4 p1, 0x0 .line 51 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->h:Lcom/moji/lottie/BaseKeyframeAnimation; .line 52 iput-object p1, p0, Lcom/moji/lottie/PolystarContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; .line 55 :goto_0 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->e:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 56 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->f:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 57 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->g:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 58 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 59 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 60 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->d:Lcom/moji/lottie/PolystarShape$Type; sget-object p3, Lcom/moji/lottie/PolystarShape$Type;->Star:Lcom/moji/lottie/PolystarShape$Type; if-ne p1, p3, :cond_1 .line 61 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->h:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 62 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p2, p1}, Lcom/moji/lottie/BaseLayer;->a(Lcom/moji/lottie/BaseKeyframeAnimation;)V .line 65 :cond_1 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->e:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 66 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->f:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 67 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->g:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 68 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 69 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 70 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->d:Lcom/moji/lottie/PolystarShape$Type; sget-object p2, Lcom/moji/lottie/PolystarShape$Type;->Star:Lcom/moji/lottie/PolystarShape$Type; if-ne p1, p2, :cond_2 .line 71 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V .line 72 iget-object p1, p0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {p1, p0}, Lcom/moji/lottie/BaseKeyframeAnimation;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V :cond_2 return-void .end method .method private b()V .locals 1 const/4 v0, 0x0 .line 82 iput-boolean v0, p0, Lcom/moji/lottie/PolystarContent;->m:Z .line 83 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->c:Lcom/moji/lottie/LottieDrawable; invoke-virtual {v0}, Lcom/moji/lottie/LottieDrawable;->invalidateSelf()V return-void .end method .method private c()V .locals 46 move-object/from16 v0, p0 .line 129 iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->e:Lcom/moji/lottie/BaseKeyframeAnimation; 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 .line 130 iget-object v2, v0, Lcom/moji/lottie/PolystarContent;->g:Lcom/moji/lottie/BaseKeyframeAnimation; if-nez v2, :cond_0 const-wide/16 v2, 0x0 goto :goto_0 :cond_0 iget-object v2, v0, Lcom/moji/lottie/PolystarContent;->g: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 float-to-double v2, v2 :goto_0 const-wide v4, 0x4056800000000000L # 90.0 sub-double/2addr v2, v4 .line 134 invoke-static {v2, v3}, Ljava/lang/Math;->toRadians(D)D move-result-wide v2 const-wide v4, 0x401921fb54442d18L # 6.283185307179586 float-to-double v6, v1 .line 136 invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z div-double/2addr v4, v6 double-to-float v4, v4 const/high16 v5, 0x40000000 # 2.0f div-float v8, v4, v5 float-to-int v9, v1 int-to-float v9, v9 sub-float/2addr v1, v9 const/4 v9, 0x0 cmpl-float v10, v1, v9 if-eqz v10, :cond_1 const/high16 v10, 0x3f800000 # 1.0f sub-float/2addr v10, v1 mul-float v10, v10, v8 float-to-double v10, v10 .line 140 invoke-static {v10, v11}, Ljava/lang/Double;->isNaN(D)Z add-double/2addr v2, v10 .line 143 :cond_1 iget-object v10, v0, Lcom/moji/lottie/PolystarContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v10}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v10 check-cast v10, Ljava/lang/Float; invoke-virtual {v10}, Ljava/lang/Float;->floatValue()F move-result v10 .line 145 iget-object v11, v0, Lcom/moji/lottie/PolystarContent;->h:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v11}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v11 check-cast v11, Ljava/lang/Float; invoke-virtual {v11}, Ljava/lang/Float;->floatValue()F move-result v11 .line 148 iget-object v12, v0, Lcom/moji/lottie/PolystarContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; const/high16 v13, 0x42c80000 # 100.0f if-eqz v12, :cond_2 .line 149 iget-object v12, v0, Lcom/moji/lottie/PolystarContent;->j:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v12}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v12 check-cast v12, Ljava/lang/Float; invoke-virtual {v12}, Ljava/lang/Float;->floatValue()F move-result v12 div-float/2addr v12, v13 goto :goto_1 :cond_2 const/4 v12, 0x0 .line 152 :goto_1 iget-object v14, v0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; if-eqz v14, :cond_3 .line 153 iget-object v14, v0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v14}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v14 check-cast v14, Ljava/lang/Float; invoke-virtual {v14}, Ljava/lang/Float;->floatValue()F move-result v14 div-float v13, v14, v13 goto :goto_2 :cond_3 const/4 v13, 0x0 :goto_2 cmpl-float v14, v1, v9 if-eqz v14, :cond_4 sub-float v14, v10, v11 mul-float v14, v14, v1 add-float/2addr v14, v11 move/from16 v16, v10 float-to-double v9, v14 .line 163 invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D move-result-wide v17 invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z move-wide/from16 v19, v6 mul-double v5, v9, v17 double-to-float v5, v5 .line 164 invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D move-result-wide v6 invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z mul-double v9, v9, v6 double-to-float v6, v9 .line 165 iget-object v7, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v7, v5, v6}, Landroid/graphics/Path;->moveTo(FF)V mul-float v7, v4, v1 const/high16 v9, 0x40000000 # 2.0f div-float/2addr v7, v9 float-to-double v9, v7 .line 166 invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z add-double/2addr v2, v9 move/from16 v22, v16 goto :goto_3 :cond_4 move-wide/from16 v19, v6 move v5, v10 float-to-double v6, v5 .line 168 invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D move-result-wide v9 invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z mul-double v9, v9, v6 double-to-float v9, v9 .line 169 invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D move-result-wide v16 invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z mul-double v6, v6, v16 double-to-float v6, v6 .line 170 iget-object v7, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v7, v9, v6}, Landroid/graphics/Path;->moveTo(FF)V move/from16 v22, v5 move/from16 v23, v6 float-to-double v5, v8 .line 171 invoke-static {v5, v6}, Ljava/lang/Double;->isNaN(D)Z add-double/2addr v2, v5 move v5, v9 move/from16 v6, v23 const/4 v14, 0x0 .line 176 :goto_3 invoke-static/range {v19 .. v20}, Ljava/lang/Math;->ceil(D)D move-result-wide v9 const-wide/high16 v16, 0x4000000000000000L # 2.0 mul-double v9, v9, v16 const/4 v7, 0x0 move-wide/from16 v18, v2 move/from16 v25, v5 move/from16 v24, v6 const/4 v2, 0x0 :goto_4 int-to-double v5, v7 cmpg-double v3, v5, v9 if-gez v3, :cond_f if-eqz v2, :cond_5 move/from16 v3, v22 :goto_5 const/4 v15, 0x0 goto :goto_6 :cond_5 move v3, v11 goto :goto_5 :goto_6 cmpl-float v20, v14, v15 if-eqz v20, :cond_6 sub-double v26, v9, v16 cmpl-double v20, v5, v26 if-nez v20, :cond_6 mul-float v20, v4, v1 const/high16 v21, 0x40000000 # 2.0f div-float v20, v20, v21 move/from16 v15, v20 goto :goto_7 :cond_6 const/high16 v21, 0x40000000 # 2.0f move v15, v8 :goto_7 const-wide/high16 v26, 0x3ff0000000000000L # 1.0 const/16 v20, 0x0 cmpl-float v23, v14, v20 if-eqz v23, :cond_7 sub-double v28, v9, v26 cmpl-double v23, v5, v28 if-nez v23, :cond_7 move/from16 v30, v4 move v3, v14 goto :goto_8 :cond_7 move/from16 v30, v4 :goto_8 float-to-double v3, v3 .line 188 invoke-static/range {v18 .. v19}, Ljava/lang/Math;->cos(D)D move-result-wide v28 invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z move/from16 v31, v14 move/from16 v32, v15 mul-double v14, v3, v28 double-to-float v14, v14 .line 189 invoke-static/range {v18 .. v19}, Ljava/lang/Math;->sin(D)D move-result-wide v28 invoke-static {v3, v4}, Ljava/lang/Double;->isNaN(D)Z mul-double v3, v3, v28 double-to-float v3, v3 const/4 v4, 0x0 cmpl-float v15, v12, v4 if-nez v15, :cond_8 cmpl-float v15, v13, v4 if-nez v15, :cond_8 .line 192 iget-object v5, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v5, v14, v3}, Landroid/graphics/Path;->lineTo(FF)V move/from16 v42, v11 move/from16 v43, v12 move/from16 v44, v13 move/from16 v5, v32 const/4 v4, 0x0 goto/16 :goto_e :cond_8 move-wide/from16 v40, v5 move/from16 v15, v24 float-to-double v4, v15 move/from16 v42, v11 move/from16 v43, v12 move/from16 v6, v25 float-to-double v11, v6 .line 194 invoke-static {v4, v5, v11, v12}, Ljava/lang/Math;->atan2(DD)D move-result-wide v4 const-wide v11, 0x3ff921fb54442d18L # 1.5707963267948966 sub-double/2addr v4, v11 double-to-float v4, v4 float-to-double v4, v4 .line 195 invoke-static {v4, v5}, Ljava/lang/Math;->cos(D)D move-result-wide v11 double-to-float v11, v11 .line 196 invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D move-result-wide v4 double-to-float v4, v4 move/from16 v44, v13 float-to-double v12, v3 move/from16 v45, v6 float-to-double v5, v14 .line 198 invoke-static {v12, v13, v5, v6}, Ljava/lang/Math;->atan2(DD)D move-result-wide v5 const-wide v12, 0x3ff921fb54442d18L # 1.5707963267948966 sub-double/2addr v5, v12 double-to-float v5, v5 float-to-double v5, v5 .line 199 invoke-static {v5, v6}, Ljava/lang/Math;->cos(D)D move-result-wide v12 double-to-float v12, v12 .line 200 invoke-static {v5, v6}, Ljava/lang/Math;->sin(D)D move-result-wide v5 double-to-float v5, v5 if-eqz v2, :cond_9 move/from16 v6, v43 goto :goto_9 :cond_9 move/from16 v6, v44 :goto_9 if-eqz v2, :cond_a move/from16 v13, v44 goto :goto_a :cond_a move/from16 v13, v43 :goto_a if-eqz v2, :cond_b move/from16 v20, v42 goto :goto_b :cond_b move/from16 v20, v22 :goto_b if-eqz v2, :cond_c move/from16 v23, v22 goto :goto_c :cond_c move/from16 v23, v42 :goto_c mul-float v20, v20, v6 const v6, 0x3ef4e26d # 0.47829f mul-float v20, v20, v6 mul-float v11, v11, v20 mul-float v20, v20, v4 mul-float v23, v23, v13 mul-float v23, v23, v6 mul-float v12, v12, v23 mul-float v23, v23, v5 const/4 v4, 0x0 cmpl-float v5, v1, v4 if-eqz v5, :cond_e if-nez v7, :cond_d mul-float v11, v11, v1 mul-float v20, v20, v1 goto :goto_d :cond_d const/4 v5, 0x0 sub-double v5, v9, v26 cmpl-double v13, v40, v5 if-nez v13, :cond_e mul-float v12, v12, v1 mul-float v23, v23, v1 .line 221 :cond_e :goto_d iget-object v5, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; sub-float v34, v45, v11 sub-float v35, v15, v20 add-float v36, v14, v12 add-float v37, v3, v23 move-object/from16 v33, v5 move/from16 v38, v14 move/from16 v39, v3 invoke-virtual/range {v33 .. v39}, Landroid/graphics/Path;->cubicTo(FFFFFF)V move/from16 v5, v32 :goto_e float-to-double v5, v5 .line 224 invoke-static {v5, v6}, Ljava/lang/Double;->isNaN(D)Z add-double v18, v18, v5 xor-int/lit8 v2, v2, 0x1 add-int/lit8 v7, v7, 0x1 move/from16 v24, v3 move/from16 v25, v14 move/from16 v4, v30 move/from16 v14, v31 move/from16 v11, v42 move/from16 v12, v43 move/from16 v13, v44 goto/16 :goto_4 .line 229 :cond_f iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->f:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v1}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/graphics/PointF; .line 230 iget-object v2, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; iget v3, v1, Landroid/graphics/PointF;->x:F iget v1, v1, Landroid/graphics/PointF;->y:F invoke-virtual {v2, v3, v1}, Landroid/graphics/Path;->offset(FF)V .line 231 iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v1}, Landroid/graphics/Path;->close()V return-void .end method .method private f()V .locals 32 move-object/from16 v0, p0 .line 235 iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->e:Lcom/moji/lottie/BaseKeyframeAnimation; 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 float-to-double v1, v1 invoke-static {v1, v2}, Ljava/lang/Math;->floor(D)D move-result-wide v1 double-to-int v1, v1 .line 236 iget-object v2, v0, Lcom/moji/lottie/PolystarContent;->g:Lcom/moji/lottie/BaseKeyframeAnimation; if-nez v2, :cond_0 const-wide/16 v2, 0x0 goto :goto_0 :cond_0 iget-object v2, v0, Lcom/moji/lottie/PolystarContent;->g: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 float-to-double v2, v2 :goto_0 const-wide v4, 0x4056800000000000L # 90.0 sub-double/2addr v2, v4 .line 240 invoke-static {v2, v3}, Ljava/lang/Math;->toRadians(D)D move-result-wide v2 const-wide v4, 0x401921fb54442d18L # 6.283185307179586 int-to-double v6, v1 .line 242 invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z div-double/2addr v4, v6 double-to-float v1, v4 .line 244 iget-object v4, v0, Lcom/moji/lottie/PolystarContent;->k:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v4}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/Float; invoke-virtual {v4}, Ljava/lang/Float;->floatValue()F move-result v4 const/high16 v5, 0x42c80000 # 100.0f div-float/2addr v4, v5 .line 245 iget-object v5, v0, Lcom/moji/lottie/PolystarContent;->i:Lcom/moji/lottie/BaseKeyframeAnimation; 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 float-to-double v8, v5 .line 250 invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D move-result-wide v10 invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z mul-double v10, v10, v8 double-to-float v10, v10 .line 251 invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D move-result-wide v11 invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z mul-double v11, v11, v8 double-to-float v11, v11 .line 252 iget-object v12, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v12, v10, v11}, Landroid/graphics/Path;->moveTo(FF)V float-to-double v12, v1 .line 253 invoke-static {v12, v13}, Ljava/lang/Double;->isNaN(D)Z add-double/2addr v2, v12 .line 255 invoke-static {v6, v7}, Ljava/lang/Math;->ceil(D)D move-result-wide v6 const/4 v1, 0x0 :goto_1 int-to-double v14, v1 cmpg-double v16, v14, v6 if-gez v16, :cond_2 .line 259 invoke-static {v2, v3}, Ljava/lang/Math;->cos(D)D move-result-wide v14 invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z mul-double v14, v14, v8 double-to-float v14, v14 .line 260 invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D move-result-wide v15 invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z move-wide/from16 v23, v6 mul-double v6, v8, v15 double-to-float v6, v6 const/4 v7, 0x0 cmpl-float v7, v4, v7 if-eqz v7, :cond_1 move-wide/from16 v25, v8 float-to-double v7, v11 move/from16 v27, v1 move-wide/from16 v28, v2 float-to-double v1, v10 .line 263 invoke-static {v7, v8, v1, v2}, Ljava/lang/Math;->atan2(DD)D move-result-wide v1 const-wide v7, 0x3ff921fb54442d18L # 1.5707963267948966 sub-double/2addr v1, v7 double-to-float v1, v1 float-to-double v1, v1 .line 264 invoke-static {v1, v2}, Ljava/lang/Math;->cos(D)D move-result-wide v7 double-to-float v3, v7 .line 265 invoke-static {v1, v2}, Ljava/lang/Math;->sin(D)D move-result-wide v1 double-to-float v1, v1 float-to-double v7, v6 move-wide/from16 v30, v12 float-to-double v12, v14 .line 267 invoke-static {v7, v8, v12, v13}, Ljava/lang/Math;->atan2(DD)D move-result-wide v7 const-wide v12, 0x3ff921fb54442d18L # 1.5707963267948966 sub-double/2addr v7, v12 double-to-float v2, v7 float-to-double v7, v2 .line 268 invoke-static {v7, v8}, Ljava/lang/Math;->cos(D)D move-result-wide v12 double-to-float v2, v12 .line 269 invoke-static {v7, v8}, Ljava/lang/Math;->sin(D)D move-result-wide v7 double-to-float v7, v7 mul-float v8, v5, v4 const/high16 v9, 0x3e800000 # 0.25f mul-float v8, v8, v9 mul-float v3, v3, v8 mul-float v1, v1, v8 mul-float v2, v2, v8 mul-float v8, v8, v7 .line 275 iget-object v7, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; sub-float v17, v10, v3 sub-float v18, v11, v1 add-float v19, v14, v2 add-float v20, v6, v8 move-object/from16 v16, v7 move/from16 v21, v14 move/from16 v22, v6 invoke-virtual/range {v16 .. v22}, Landroid/graphics/Path;->cubicTo(FFFFFF)V goto :goto_2 :cond_1 move/from16 v27, v1 move-wide/from16 v28, v2 move-wide/from16 v25, v8 move-wide/from16 v30, v12 .line 277 iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v1, v14, v6}, Landroid/graphics/Path;->lineTo(FF)V .line 280 :goto_2 invoke-static/range {v30 .. v31}, Ljava/lang/Double;->isNaN(D)Z add-double v2, v28, v30 add-int/lit8 v1, v27, 0x1 move v11, v6 move v10, v14 move-wide/from16 v6, v23 move-wide/from16 v8, v25 move-wide/from16 v12, v30 goto/16 :goto_1 .line 283 :cond_2 iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->f:Lcom/moji/lottie/BaseKeyframeAnimation; invoke-virtual {v1}, Lcom/moji/lottie/BaseKeyframeAnimation;->b()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/graphics/PointF; .line 284 iget-object v2, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; iget v3, v1, Landroid/graphics/PointF;->x:F iget v1, v1, Landroid/graphics/PointF;->y:F invoke-virtual {v2, v3, v1}, Landroid/graphics/Path;->offset(FF)V .line 285 iget-object v1, v0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v1}, Landroid/graphics/Path;->close()V return-void .end method # virtual methods .method public a()V .locals 0 .line 78 invoke-direct {p0}, Lcom/moji/lottie/PolystarContent;->b()V return-void .end method .method public a(Ljava/util/List;Ljava/util/List;)V .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Lcom/moji/lottie/Content;", ">;", "Ljava/util/List<", "Lcom/moji/lottie/Content;", ">;)V" } .end annotation const/4 p2, 0x0 .line 88 :goto_0 invoke-interface {p1}, Ljava/util/List;->size()I move-result v0 if-ge p2, v0, :cond_1 .line 89 invoke-interface {p1, p2}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/moji/lottie/Content; .line 90 instance-of v1, v0, Lcom/moji/lottie/TrimPathContent; if-eqz v1, :cond_0 check-cast v0, Lcom/moji/lottie/TrimPathContent; .line 91 invoke-virtual {v0}, Lcom/moji/lottie/TrimPathContent;->b()Lcom/moji/lottie/ShapeTrimPath$Type; move-result-object v1 sget-object v2, Lcom/moji/lottie/ShapeTrimPath$Type;->Simultaneously:Lcom/moji/lottie/ShapeTrimPath$Type; if-ne v1, v2, :cond_0 .line 92 iput-object v0, p0, Lcom/moji/lottie/PolystarContent;->l:Lcom/moji/lottie/TrimPathContent; .line 93 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->l:Lcom/moji/lottie/TrimPathContent; invoke-virtual {v0, p0}, Lcom/moji/lottie/TrimPathContent;->a(Lcom/moji/lottie/BaseKeyframeAnimation$AnimationListener;)V :cond_0 add-int/lit8 p2, p2, 0x1 goto :goto_0 :cond_1 return-void .end method .method public d()Landroid/graphics/Path; .locals 2 .line 100 iget-boolean v0, p0, Lcom/moji/lottie/PolystarContent;->m:Z if-eqz v0, :cond_0 .line 101 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; return-object v0 .line 104 :cond_0 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v0}, Landroid/graphics/Path;->reset()V .line 106 sget-object v0, Lcom/moji/lottie/PolystarContent$1;->a:[I iget-object v1, p0, Lcom/moji/lottie/PolystarContent;->d:Lcom/moji/lottie/PolystarShape$Type; invoke-virtual {v1}, Lcom/moji/lottie/PolystarShape$Type;->ordinal()I move-result v1 aget v0, v0, v1 packed-switch v0, :pswitch_data_0 goto :goto_0 .line 111 :pswitch_0 invoke-direct {p0}, Lcom/moji/lottie/PolystarContent;->f()V goto :goto_0 .line 108 :pswitch_1 invoke-direct {p0}, Lcom/moji/lottie/PolystarContent;->c()V .line 115 :goto_0 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; invoke-virtual {v0}, Landroid/graphics/Path;->close()V .line 117 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; iget-object v1, p0, Lcom/moji/lottie/PolystarContent;->l:Lcom/moji/lottie/TrimPathContent; invoke-static {v0, v1}, Lcom/moji/lottie/Utils;->a(Landroid/graphics/Path;Lcom/moji/lottie/TrimPathContent;)V const/4 v0, 0x1 .line 119 iput-boolean v0, p0, Lcom/moji/lottie/PolystarContent;->m:Z .line 120 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->a:Landroid/graphics/Path; return-object v0 nop :pswitch_data_0 .packed-switch 0x1 :pswitch_1 :pswitch_0 .end packed-switch .end method .method public e()Ljava/lang/String; .locals 1 .line 125 iget-object v0, p0, Lcom/moji/lottie/PolystarContent;->b:Ljava/lang/String; return-object v0 .end method