.class public Lc1/p$b; .super Ljava/lang/Object; .source "PathParser.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lc1/p; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x9 name = "b" .end annotation # instance fields .field public a:C .field public b:[F # direct methods .method public constructor (C[F)V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 iput-char p1, p0, Lc1/p$b;->a:C .line 3 iput-object p2, p0, Lc1/p$b;->b:[F return-void .end method .method public constructor (Lc1/p$b;)V .locals 2 .line 4 invoke-direct {p0}, Ljava/lang/Object;->()V .line 5 iget-char v0, p1, Lc1/p$b;->a:C iput-char v0, p0, Lc1/p$b;->a:C .line 6 iget-object p1, p1, Lc1/p$b;->b:[F array-length v0, p1 const/4 v1, 0x0 invoke-static {p1, v1, v0}, Lc1/p;->c([FII)[F move-result-object p1 iput-object p1, p0, Lc1/p$b;->b:[F return-void .end method .method public static a(Landroid/graphics/Path;[FCC[F)V .locals 25 move-object/from16 v10, p0 move/from16 v11, p3 move-object/from16 v12, p4 const/4 v13, 0x0 .line 1 aget v0, p1, v13 const/4 v14, 0x1 .line 2 aget v1, p1, v14 const/4 v15, 0x2 .line 3 aget v2, p1, v15 const/16 v16, 0x3 .line 4 aget v3, p1, v16 const/16 v17, 0x4 .line 5 aget v4, p1, v17 const/16 v18, 0x5 .line 6 aget v5, p1, v18 sparse-switch v11, :sswitch_data_0 :goto_0 :sswitch_0 move/from16 v19, v15 goto :goto_2 .line 7 :sswitch_1 invoke-virtual/range {p0 .. p0}, Landroid/graphics/Path;->close()V .line 8 invoke-virtual {v10, v4, v5}, Landroid/graphics/Path;->moveTo(FF)V move v0, v4 move v2, v0 move v1, v5 move v3, v1 goto :goto_0 :sswitch_2 move/from16 v19, v17 goto :goto_2 :sswitch_3 move/from16 v19, v14 goto :goto_2 :sswitch_4 const/4 v6, 0x6 goto :goto_1 :sswitch_5 const/4 v6, 0x7 :goto_1 move/from16 v19, v6 :goto_2 move v9, v0 move v8, v1 move/from16 v20, v4 move/from16 v21, v5 move v7, v13 move/from16 v0, p2 .line 9 :goto_3 array-length v1, v12 if-ge v7, v1, :cond_20 const/16 v1, 0x41 if-eq v11, v1, :cond_1d const/16 v1, 0x43 if-eq v11, v1, :cond_1c const/16 v5, 0x48 if-eq v11, v5, :cond_1b const/16 v5, 0x51 if-eq v11, v5, :cond_1a const/16 v6, 0x56 if-eq v11, v6, :cond_19 const/16 v6, 0x61 if-eq v11, v6, :cond_16 const/16 v6, 0x63 if-eq v11, v6, :cond_15 const/16 v15, 0x68 if-eq v11, v15, :cond_14 const/16 v15, 0x71 if-eq v11, v15, :cond_13 const/16 v14, 0x76 if-eq v11, v14, :cond_12 const/16 v14, 0x4c if-eq v11, v14, :cond_11 const/16 v14, 0x4d if-eq v11, v14, :cond_f const/16 v14, 0x73 const/16 v13, 0x53 const/high16 v22, 0x40000000 # 2.0f if-eq v11, v13, :cond_c const/16 v4, 0x74 const/16 v13, 0x54 if-eq v11, v13, :cond_9 const/16 v1, 0x6c if-eq v11, v1, :cond_8 const/16 v1, 0x6d if-eq v11, v1, :cond_6 if-eq v11, v14, :cond_3 if-eq v11, v4, :cond_0 :goto_4 move/from16 v24, v7 goto/16 :goto_12 :cond_0 if-eq v0, v15, :cond_2 if-eq v0, v4, :cond_2 if-eq v0, v5, :cond_2 if-ne v0, v13, :cond_1 goto :goto_5 :cond_1 const/4 v0, 0x0 const/4 v4, 0x0 goto :goto_6 :cond_2 :goto_5 sub-float v4, v9, v2 sub-float v0, v8, v3 :goto_6 add-int/lit8 v1, v7, 0x0 .line 10 aget v2, v12, v1 add-int/lit8 v3, v7, 0x1 aget v5, v12, v3 invoke-virtual {v10, v4, v0, v2, v5}, Landroid/graphics/Path;->rQuadTo(FFFF)V add-float/2addr v4, v9 add-float/2addr v0, v8 .line 11 aget v1, v12, v1 add-float/2addr v9, v1 .line 12 aget v1, v12, v3 add-float/2addr v8, v1 move v3, v0 move v2, v4 goto :goto_4 :cond_3 if-eq v0, v6, :cond_5 if-eq v0, v14, :cond_5 const/16 v1, 0x43 if-eq v0, v1, :cond_5 const/16 v1, 0x53 if-ne v0, v1, :cond_4 goto :goto_7 :cond_4 const/4 v1, 0x0 const/4 v2, 0x0 goto :goto_8 :cond_5 :goto_7 sub-float v0, v9, v2 sub-float v1, v8, v3 move v2, v1 move v1, v0 :goto_8 add-int/lit8 v13, v7, 0x0 .line 13 aget v3, v12, v13 add-int/lit8 v14, v7, 0x1 aget v4, v12, v14 add-int/lit8 v15, v7, 0x2 aget v5, v12, v15 add-int/lit8 v22, v7, 0x3 aget v6, v12, v22 move-object/from16 v0, p0 invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->rCubicTo(FFFFFF)V .line 14 aget v0, v12, v13 add-float/2addr v0, v9 .line 15 aget v1, v12, v14 add-float/2addr v1, v8 .line 16 aget v2, v12, v15 add-float/2addr v9, v2 .line 17 aget v2, v12, v22 goto/16 :goto_b :cond_6 add-int/lit8 v0, v7, 0x0 .line 18 aget v1, v12, v0 add-float/2addr v9, v1 add-int/lit8 v1, v7, 0x1 .line 19 aget v4, v12, v1 add-float/2addr v8, v4 if-lez v7, :cond_7 .line 20 aget v0, v12, v0 aget v1, v12, v1 invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->rLineTo(FF)V goto :goto_4 .line 21 :cond_7 aget v0, v12, v0 aget v1, v12, v1 invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->rMoveTo(FF)V goto/16 :goto_a :cond_8 add-int/lit8 v0, v7, 0x0 .line 22 aget v1, v12, v0 add-int/lit8 v4, v7, 0x1 aget v5, v12, v4 invoke-virtual {v10, v1, v5}, Landroid/graphics/Path;->rLineTo(FF)V .line 23 aget v0, v12, v0 add-float/2addr v9, v0 .line 24 aget v0, v12, v4 :goto_9 add-float/2addr v8, v0 goto/16 :goto_4 :cond_9 if-eq v0, v15, :cond_a if-eq v0, v4, :cond_a if-eq v0, v5, :cond_a if-ne v0, v13, :cond_b :cond_a mul-float v9, v9, v22 sub-float/2addr v9, v2 mul-float v8, v8, v22 sub-float/2addr v8, v3 :cond_b add-int/lit8 v0, v7, 0x0 .line 25 aget v1, v12, v0 add-int/lit8 v2, v7, 0x1 aget v3, v12, v2 invoke-virtual {v10, v9, v8, v1, v3}, Landroid/graphics/Path;->quadTo(FFFF)V .line 26 aget v0, v12, v0 .line 27 aget v1, v12, v2 move/from16 v24, v7 move v3, v8 move v2, v9 move v9, v0 move v8, v1 goto/16 :goto_12 :cond_c if-eq v0, v6, :cond_d if-eq v0, v14, :cond_d const/16 v1, 0x43 if-eq v0, v1, :cond_d const/16 v1, 0x53 if-ne v0, v1, :cond_e :cond_d mul-float v9, v9, v22 sub-float/2addr v9, v2 mul-float v8, v8, v22 sub-float/2addr v8, v3 :cond_e move v2, v8 move v1, v9 add-int/lit8 v8, v7, 0x0 .line 28 aget v3, v12, v8 add-int/lit8 v9, v7, 0x1 aget v4, v12, v9 add-int/lit8 v13, v7, 0x2 aget v5, v12, v13 add-int/lit8 v14, v7, 0x3 aget v6, v12, v14 move-object/from16 v0, p0 invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->cubicTo(FFFFFF)V .line 29 aget v0, v12, v8 .line 30 aget v1, v12, v9 .line 31 aget v9, v12, v13 .line 32 aget v8, v12, v14 goto/16 :goto_c :cond_f add-int/lit8 v0, v7, 0x0 .line 33 aget v9, v12, v0 add-int/lit8 v1, v7, 0x1 .line 34 aget v8, v12, v1 if-lez v7, :cond_10 .line 35 aget v0, v12, v0 aget v1, v12, v1 invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->lineTo(FF)V goto/16 :goto_4 .line 36 :cond_10 aget v0, v12, v0 aget v1, v12, v1 invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->moveTo(FF)V :goto_a move/from16 v24, v7 move/from16 v21, v8 move/from16 v20, v9 goto/16 :goto_12 :cond_11 add-int/lit8 v0, v7, 0x0 .line 37 aget v1, v12, v0 add-int/lit8 v4, v7, 0x1 aget v5, v12, v4 invoke-virtual {v10, v1, v5}, Landroid/graphics/Path;->lineTo(FF)V .line 38 aget v9, v12, v0 .line 39 aget v8, v12, v4 goto/16 :goto_4 :cond_12 add-int/lit8 v0, v7, 0x0 .line 40 aget v1, v12, v0 const/4 v4, 0x0 invoke-virtual {v10, v4, v1}, Landroid/graphics/Path;->rLineTo(FF)V .line 41 aget v0, v12, v0 goto/16 :goto_9 :cond_13 add-int/lit8 v0, v7, 0x0 .line 42 aget v1, v12, v0 add-int/lit8 v2, v7, 0x1 aget v3, v12, v2 add-int/lit8 v4, v7, 0x2 aget v5, v12, v4 add-int/lit8 v6, v7, 0x3 aget v13, v12, v6 invoke-virtual {v10, v1, v3, v5, v13}, Landroid/graphics/Path;->rQuadTo(FFFF)V .line 43 aget v0, v12, v0 add-float/2addr v0, v9 .line 44 aget v1, v12, v2 add-float/2addr v1, v8 .line 45 aget v2, v12, v4 add-float/2addr v9, v2 .line 46 aget v2, v12, v6 goto :goto_b :cond_14 add-int/lit8 v0, v7, 0x0 .line 47 aget v1, v12, v0 const/4 v4, 0x0 invoke-virtual {v10, v1, v4}, Landroid/graphics/Path;->rLineTo(FF)V .line 48 aget v0, v12, v0 add-float/2addr v9, v0 goto/16 :goto_4 :cond_15 add-int/lit8 v0, v7, 0x0 .line 49 aget v1, v12, v0 add-int/lit8 v0, v7, 0x1 aget v2, v12, v0 add-int/lit8 v13, v7, 0x2 aget v3, v12, v13 add-int/lit8 v14, v7, 0x3 aget v4, v12, v14 add-int/lit8 v15, v7, 0x4 aget v5, v12, v15 add-int/lit8 v22, v7, 0x5 aget v6, v12, v22 move-object/from16 v0, p0 invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->rCubicTo(FFFFFF)V .line 50 aget v0, v12, v13 add-float/2addr v0, v9 .line 51 aget v1, v12, v14 add-float/2addr v1, v8 .line 52 aget v2, v12, v15 add-float/2addr v9, v2 .line 53 aget v2, v12, v22 :goto_b add-float/2addr v8, v2 :goto_c move v2, v0 move v3, v1 goto/16 :goto_4 :cond_16 add-int/lit8 v13, v7, 0x5 .line 54 aget v0, v12, v13 add-float v3, v0, v9 add-int/lit8 v14, v7, 0x6 aget v0, v12, v14 add-float v4, v0, v8 add-int/lit8 v0, v7, 0x0 aget v5, v12, v0 add-int/lit8 v0, v7, 0x1 aget v6, v12, v0 add-int/lit8 v0, v7, 0x2 aget v15, v12, v0 add-int/lit8 v0, v7, 0x3 aget v0, v12, v0 const/4 v1, 0x0 cmpl-float v0, v0, v1 if-eqz v0, :cond_17 const/16 v22, 0x1 goto :goto_d :cond_17 const/16 v22, 0x0 :goto_d add-int/lit8 v0, v7, 0x4 aget v0, v12, v0 cmpl-float v0, v0, v1 if-eqz v0, :cond_18 const/16 v23, 0x1 goto :goto_e :cond_18 const/16 v23, 0x0 :goto_e move-object/from16 v0, p0 move v1, v9 move v2, v8 move/from16 v24, v7 move v7, v15 move v15, v8 move/from16 v8, v22 move v11, v9 move/from16 v9, v23 invoke-static/range {v0 .. v9}, Lc1/p$b;->c(Landroid/graphics/Path;FFFFFFFZZ)V .line 55 aget v0, v12, v13 add-float v9, v11, v0 .line 56 aget v0, v12, v14 add-float v8, v15, v0 goto/16 :goto_11 :cond_19 move/from16 v24, v7 move v11, v9 add-int/lit8 v7, v24, 0x0 .line 57 aget v0, v12, v7 invoke-virtual {v10, v11, v0}, Landroid/graphics/Path;->lineTo(FF)V .line 58 aget v8, v12, v7 goto/16 :goto_12 :cond_1a move/from16 v24, v7 add-int/lit8 v7, v24, 0x0 .line 59 aget v0, v12, v7 add-int/lit8 v1, v24, 0x1 aget v2, v12, v1 add-int/lit8 v3, v24, 0x2 aget v4, v12, v3 add-int/lit8 v5, v24, 0x3 aget v6, v12, v5 invoke-virtual {v10, v0, v2, v4, v6}, Landroid/graphics/Path;->quadTo(FFFF)V .line 60 aget v0, v12, v7 .line 61 aget v1, v12, v1 .line 62 aget v9, v12, v3 .line 63 aget v8, v12, v5 move v2, v0 move v3, v1 goto/16 :goto_12 :cond_1b move/from16 v24, v7 move v15, v8 add-int/lit8 v7, v24, 0x0 .line 64 aget v0, v12, v7 invoke-virtual {v10, v0, v15}, Landroid/graphics/Path;->lineTo(FF)V .line 65 aget v9, v12, v7 goto/16 :goto_12 :cond_1c move/from16 v24, v7 add-int/lit8 v7, v24, 0x0 .line 66 aget v1, v12, v7 add-int/lit8 v7, v24, 0x1 aget v2, v12, v7 add-int/lit8 v7, v24, 0x2 aget v3, v12, v7 add-int/lit8 v8, v24, 0x3 aget v4, v12, v8 add-int/lit8 v9, v24, 0x4 aget v5, v12, v9 add-int/lit8 v11, v24, 0x5 aget v6, v12, v11 move-object/from16 v0, p0 invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->cubicTo(FFFFFF)V .line 67 aget v9, v12, v9 .line 68 aget v0, v12, v11 .line 69 aget v1, v12, v7 .line 70 aget v2, v12, v8 move v8, v0 move v3, v2 move v2, v1 goto :goto_12 :cond_1d move/from16 v24, v7 move v15, v8 move v11, v9 add-int/lit8 v13, v24, 0x5 .line 71 aget v3, v12, v13 add-int/lit8 v14, v24, 0x6 aget v4, v12, v14 add-int/lit8 v7, v24, 0x0 aget v5, v12, v7 add-int/lit8 v7, v24, 0x1 aget v6, v12, v7 add-int/lit8 v7, v24, 0x2 aget v7, v12, v7 add-int/lit8 v0, v24, 0x3 aget v0, v12, v0 const/4 v1, 0x0 cmpl-float v0, v0, v1 if-eqz v0, :cond_1e const/4 v8, 0x1 goto :goto_f :cond_1e const/4 v8, 0x0 :goto_f add-int/lit8 v0, v24, 0x4 aget v0, v12, v0 cmpl-float v0, v0, v1 if-eqz v0, :cond_1f const/4 v9, 0x1 goto :goto_10 :cond_1f const/4 v9, 0x0 :goto_10 move-object/from16 v0, p0 move v1, v11 move v2, v15 invoke-static/range {v0 .. v9}, Lc1/p$b;->c(Landroid/graphics/Path;FFFFFFFZZ)V .line 72 aget v9, v12, v13 .line 73 aget v8, v12, v14 :goto_11 move v3, v8 move v2, v9 :goto_12 add-int v7, v24, v19 move/from16 v0, p3 move v11, v0 const/4 v13, 0x0 const/4 v14, 0x1 const/4 v15, 0x2 goto/16 :goto_3 :cond_20 move v15, v8 move v11, v9 move v0, v13 .line 74 aput v11, p1, v0 const/4 v0, 0x1 .line 75 aput v15, p1, v0 const/4 v0, 0x2 .line 76 aput v2, p1, v0 .line 77 aput v3, p1, v16 .line 78 aput v20, p1, v17 .line 79 aput v21, p1, v18 return-void :sswitch_data_0 .sparse-switch 0x41 -> :sswitch_5 0x43 -> :sswitch_4 0x48 -> :sswitch_3 0x4c -> :sswitch_0 0x4d -> :sswitch_0 0x51 -> :sswitch_2 0x53 -> :sswitch_2 0x54 -> :sswitch_0 0x56 -> :sswitch_3 0x5a -> :sswitch_1 0x61 -> :sswitch_5 0x63 -> :sswitch_4 0x68 -> :sswitch_3 0x6c -> :sswitch_0 0x6d -> :sswitch_0 0x71 -> :sswitch_2 0x73 -> :sswitch_2 0x74 -> :sswitch_0 0x76 -> :sswitch_3 0x7a -> :sswitch_1 .end sparse-switch .end method .method public static b(Landroid/graphics/Path;DDDDDDDDD)V .locals 49 move-wide/from16 v0, p5 const-wide/high16 v2, 0x4010000000000000L # 4.0 mul-double v4, p17, v2 const-wide v6, 0x400921fb54442d18L # Math.PI div-double/2addr v4, v6 .line 1 invoke-static {v4, v5}, Ljava/lang/Math;->abs(D)D move-result-wide v4 invoke-static {v4, v5}, Ljava/lang/Math;->ceil(D)D move-result-wide v4 double-to-int v4, v4 .line 2 invoke-static/range {p13 .. p14}, Ljava/lang/Math;->cos(D)D move-result-wide v5 .line 3 invoke-static/range {p13 .. p14}, Ljava/lang/Math;->sin(D)D move-result-wide v7 .line 4 invoke-static/range {p15 .. p16}, Ljava/lang/Math;->cos(D)D move-result-wide v9 .line 5 invoke-static/range {p15 .. p16}, Ljava/lang/Math;->sin(D)D move-result-wide v11 neg-double v13, v0 mul-double v15, v13, v5 mul-double v17, v15, v11 mul-double v19, p7, v7 mul-double v21, v19, v9 sub-double v17, v17, v21 mul-double/2addr v13, v7 mul-double/2addr v11, v13 mul-double v21, p7, v5 mul-double v9, v9, v21 add-double/2addr v9, v11 int-to-double v11, v4 div-double v11, p17, v11 const/16 v23, 0x0 move-wide/from16 v25, v9 move-wide/from16 v27, v17 move/from16 v2, v23 move-wide/from16 v9, p9 move-wide/from16 v17, p11 move-wide/from16 v23, p15 :goto_0 if-ge v2, v4, :cond_0 add-double v31, v23, v11 .line 6 invoke-static/range {v31 .. v32}, Ljava/lang/Math;->sin(D)D move-result-wide v33 .line 7 invoke-static/range {v31 .. v32}, Ljava/lang/Math;->cos(D)D move-result-wide v35 mul-double v37, v0, v5 mul-double v37, v37, v35 add-double v37, v37, p1 mul-double v39, v19, v33 move/from16 v41, v4 sub-double v3, v37, v39 mul-double v37, v0, v7 mul-double v37, v37, v35 add-double v37, v37, p3 mul-double v39, v21, v33 add-double v0, v39, v37 mul-double v37, v15, v33 mul-double v39, v19, v35 sub-double v37, v37, v39 mul-double v33, v33, v13 mul-double v35, v35, v21 add-double v33, v35, v33 sub-double v23, v31, v23 const-wide/high16 v35, 0x4000000000000000L # 2.0 div-double v35, v23, v35 .line 8 invoke-static/range {v35 .. v36}, Ljava/lang/Math;->tan(D)D move-result-wide v35 .line 9 invoke-static/range {v23 .. v24}, Ljava/lang/Math;->sin(D)D move-result-wide v23 const-wide/high16 v39, 0x4008000000000000L # 3.0 mul-double v42, v35, v39 mul-double v42, v42, v35 const-wide/high16 v29, 0x4010000000000000L # 4.0 add-double v42, v42, v29 invoke-static/range {v42 .. v43}, Ljava/lang/Math;->sqrt(D)D move-result-wide v35 const-wide/high16 v42, 0x3ff0000000000000L # 1.0 sub-double v35, v35, v42 mul-double v35, v35, v23 div-double v35, v35, v39 mul-double v27, v27, v35 add-double v9, v27, v9 mul-double v25, v25, v35 move-wide/from16 v23, v5 add-double v5, v25, v17 mul-double v17, v35, v37 move-wide/from16 p13, v7 sub-double v7, v3, v17 mul-double v35, v35, v33 move-wide/from16 p7, v11 sub-double v11, v0, v35 move-wide/from16 v17, v13 const/4 v13, 0x0 move-object/from16 v14, p0 .line 10 invoke-virtual {v14, v13, v13}, Landroid/graphics/Path;->rLineTo(FF)V double-to-float v9, v9 double-to-float v5, v5 double-to-float v6, v7 double-to-float v7, v11 double-to-float v8, v3 double-to-float v10, v0 move-object/from16 v42, p0 move/from16 v43, v9 move/from16 v44, v5 move/from16 v45, v6 move/from16 v46, v7 move/from16 v47, v8 move/from16 v48, v10 .line 11 invoke-virtual/range {v42 .. v48}, Landroid/graphics/Path;->cubicTo(FFFFFF)V add-int/lit8 v2, v2, 0x1 move-wide/from16 v11, p7 move-wide/from16 v7, p13 move-wide v9, v3 move-wide/from16 v13, v17 move-wide/from16 v5, v23 move-wide/from16 v23, v31 move-wide/from16 v25, v33 move-wide/from16 v27, v37 move/from16 v4, v41 move-wide/from16 v17, v0 move-wide/from16 v0, p5 goto/16 :goto_0 :cond_0 return-void .end method .method public static c(Landroid/graphics/Path;FFFFFFFZZ)V .locals 41 move/from16 v1, p1 move/from16 v3, p3 move/from16 v0, p5 move/from16 v2, p6 move/from16 v7, p7 move/from16 v9, p9 float-to-double v4, v7 .line 1 invoke-static {v4, v5}, Ljava/lang/Math;->toRadians(D)D move-result-wide v19 .line 2 invoke-static/range {v19 .. v20}, Ljava/lang/Math;->cos(D)D move-result-wide v4 .line 3 invoke-static/range {v19 .. v20}, Ljava/lang/Math;->sin(D)D move-result-wide v10 float-to-double v13, v1 mul-double v15, v13, v4 move/from16 v6, p2 move-wide/from16 v17, v13 float-to-double v13, v6 mul-double v21, v13, v10 add-double v21, v21, v15 float-to-double v6, v0 div-double v21, v21, v6 neg-float v8, v1 float-to-double v8, v8 mul-double/2addr v8, v10 mul-double v15, v13, v4 add-double/2addr v15, v8 float-to-double v8, v2 div-double/2addr v15, v8 move-wide/from16 v23, v13 float-to-double v12, v3 mul-double/2addr v12, v4 move/from16 v14, p4 float-to-double v1, v14 mul-double v25, v1, v10 add-double v25, v25, v12 div-double v25, v25, v6 neg-float v12, v3 float-to-double v12, v12 mul-double/2addr v12, v10 mul-double/2addr v1, v4 add-double/2addr v1, v12 div-double/2addr v1, v8 sub-double v12, v21, v25 sub-double v27, v15, v1 add-double v29, v21, v25 const-wide/high16 v31, 0x4000000000000000L # 2.0 div-double v29, v29, v31 add-double v33, v15, v1 div-double v33, v33, v31 mul-double v31, v12, v12 mul-double v35, v27, v27 move-wide/from16 v37, v10 add-double v10, v35, v31 const-wide/16 v31, 0x0 cmpl-double v35, v10, v31 const-string v3, "PathParser" if-nez v35, :cond_0 const-string v0, " Points are coincident" .line 4 invoke-static {v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 const-wide/high16 v35, 0x3ff0000000000000L # 1.0 div-double v35, v35, v10 const-wide/high16 v39, 0x3fd0000000000000L # 0.25 sub-double v35, v35, v39 cmpg-double v39, v35, v31 if-gez v39, :cond_1 .line 5 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "Points are too far apart " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v10, v11}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-static {v3, v1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I .line 6 invoke-static {v10, v11}, Ljava/lang/Math;->sqrt(D)D move-result-wide v1 const-wide v3, 0x3ffffff583a53b8eL # 1.99999 div-double/2addr v1, v3 double-to-float v1, v1 mul-float v5, v0, v1 mul-float v6, p6, v1 move-object/from16 v0, p0 move/from16 v1, p1 move/from16 v2, p2 move/from16 v3, p3 move/from16 v4, p4 move/from16 v7, p7 move/from16 v8, p8 move/from16 v9, p9 .line 7 invoke-static/range {v0 .. v9}, Lc1/p$b;->c(Landroid/graphics/Path;FFFFFFFZZ)V return-void .line 8 :cond_1 invoke-static/range {v35 .. v36}, Ljava/lang/Math;->sqrt(D)D move-result-wide v10 mul-double/2addr v12, v10 mul-double v10, v10, v27 move/from16 v0, p8 move/from16 v3, p9 if-ne v0, v3, :cond_2 sub-double v29, v29, v10 add-double v33, v33, v12 goto :goto_0 :cond_2 add-double v29, v29, v10 sub-double v33, v33, v12 :goto_0 sub-double v10, v15, v33 sub-double v12, v21, v29 .line 9 invoke-static {v10, v11, v12, v13}, Ljava/lang/Math;->atan2(DD)D move-result-wide v21 sub-double v1, v1, v33 sub-double v10, v25, v29 .line 10 invoke-static {v1, v2, v10, v11}, Ljava/lang/Math;->atan2(DD)D move-result-wide v0 sub-double v0, v0, v21 cmpl-double v2, v0, v31 if-ltz v2, :cond_3 const/4 v10, 0x1 goto :goto_1 :cond_3 const/4 v10, 0x0 :goto_1 if-eq v3, v10, :cond_5 const-wide v10, 0x401921fb54442d18L # 6.283185307179586 if-lez v2, :cond_4 sub-double/2addr v0, v10 goto :goto_2 :cond_4 add-double/2addr v0, v10 :cond_5 :goto_2 mul-double v29, v29, v6 mul-double v33, v33, v8 mul-double v2, v29, v4 mul-double v10, v33, v37 sub-double/2addr v2, v10 move-wide v11, v6 move-wide v13, v8 move-wide v7, v2 mul-double v29, v29, v37 mul-double v33, v33, v4 add-double v9, v33, v29 move-object/from16 v6, p0 move-wide/from16 v2, v17 move-wide/from16 v4, v23 move-wide v15, v2 move-wide/from16 v17, v4 move-wide/from16 v23, v0 .line 11 invoke-static/range {v6 .. v24}, Lc1/p$b;->b(Landroid/graphics/Path;DDDDDDDDD)V return-void .end method .method public static e([Lc1/p$b;Landroid/graphics/Path;)V .locals 5 const/4 v0, 0x6 new-array v0, v0, [F const/16 v1, 0x6d const/4 v2, 0x0 .line 1 :goto_0 array-length v3, p0 if-ge v2, v3, :cond_0 .line 2 aget-object v3, p0, v2 iget-char v3, v3, Lc1/p$b;->a:C aget-object v4, p0, v2 iget-object v4, v4, Lc1/p$b;->b:[F invoke-static {p1, v0, v1, v3, v4}, Lc1/p$b;->a(Landroid/graphics/Path;[FCC[F)V .line 3 aget-object v1, p0, v2 iget-char v1, v1, Lc1/p$b;->a:C add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_0 return-void .end method # virtual methods .method public d(Lc1/p$b;Lc1/p$b;F)V .locals 4 .line 1 iget-char v0, p1, Lc1/p$b;->a:C iput-char v0, p0, Lc1/p$b;->a:C const/4 v0, 0x0 .line 2 :goto_0 iget-object v1, p1, Lc1/p$b;->b:[F array-length v2, v1 if-ge v0, v2, :cond_0 .line 3 iget-object v2, p0, Lc1/p$b;->b:[F aget v1, v1, v0 const/high16 v3, 0x3f800000 # 1.0f sub-float/2addr v3, p3 mul-float/2addr v3, v1 iget-object v1, p2, Lc1/p$b;->b:[F aget v1, v1, v0 mul-float/2addr v1, p3 add-float/2addr v1, v3 aput v1, v2, v0 add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_0 return-void .end method