Files
rr3-apk/smali/androidx/core/graphics/PathParser$PathDataNode.smali
supermegamestre 4bbd74a497 First Upload
Just the APK
Force update disabled, will only work offline.
2026-01-26 00:26:29 -03:00

1778 lines
28 KiB
Smali

.class public Landroidx/core/graphics/PathParser$PathDataNode;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/core/graphics/PathParser;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "PathDataNode"
.end annotation
# instance fields
.field private final mParams:[F
.field private mType:C
# direct methods
.method public constructor <init>(C[F)V
.locals 0
.line 414
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-char p1, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
iput-object p2, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
return-void
.end method
.method public constructor <init>(Landroidx/core/graphics/PathParser$PathDataNode;)V
.locals 2
.line 419
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 420
iget-char v0, p1, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
iput-char v0, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
.line 421
iget-object p1, p1, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
const/4 v0, 0x0
array-length v1, p1
invoke-static {p1, v0, v1}, Landroidx/core/graphics/PathParser;->copyOfRange([FII)[F
move-result-object p1
iput-object p1, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
return-void
.end method
.method public static synthetic access$000(Landroidx/core/graphics/PathParser$PathDataNode;)C
.locals 0
.line 395
iget-char p0, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
return p0
.end method
.method public static synthetic access$002(Landroidx/core/graphics/PathParser$PathDataNode;C)C
.locals 0
.line 395
iput-char p1, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
return p1
.end method
.method public static synthetic access$100(Landroidx/core/graphics/PathParser$PathDataNode;)[F
.locals 0
.line 395
iget-object p0, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
return-object p0
.end method
.method public static synthetic access$200(Landroid/graphics/Path;[FCC[F)V
.locals 0
.line 395
invoke-static {p0, p1, p2, p3, p4}, Landroidx/core/graphics/PathParser$PathDataNode;->addCommand(Landroid/graphics/Path;[FCC[F)V
return-void
.end method
.method private static addCommand(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 463
aget v0, p1, v13
const/4 v14, 0x1
.line 464
aget v1, p1, v14
const/4 v15, 0x2
.line 465
aget v2, p1, v15
const/16 v16, 0x3
.line 466
aget v3, p1, v16
const/16 v17, 0x4
.line 467
aget v4, p1, v17
const/16 v18, 0x5
.line 468
aget v5, p1, v18
sparse-switch v11, :sswitch_data_0
:goto_0
:sswitch_0
move/from16 v19, v15
goto :goto_2
.line 475
:sswitch_1
invoke-virtual/range {p0 .. p0}, Landroid/graphics/Path;->close()V
.line 483
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_1
move/from16 v19, v6
goto :goto_2
:sswitch_5
const/4 v6, 0x7
goto :goto_1
:goto_2
move v9, v0
move v8, v1
move/from16 v20, v4
move/from16 v21, v5
move v7, v13
move/from16 v0, p2
.line 515
: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_15
: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
.line 643
:goto_6
aget v1, v12, v7
add-int/lit8 v2, v7, 0x1
aget v3, v12, v2
invoke-virtual {v10, v4, v0, v1, v3}, Landroid/graphics/Path;->rQuadTo(FFFF)V
add-float/2addr v4, v9
add-float/2addr v0, v8
.line 647
aget v1, v12, v7
add-float/2addr v9, v1
.line 648
aget v1, v12, v2
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
.line 597
:goto_8
aget v3, v12, v7
add-int/lit8 v13, v7, 0x1
aget v4, v12, v13
add-int/lit8 v14, v7, 0x2
aget v5, v12, v14
add-int/lit8 v15, v7, 0x3
aget v6, v12, v15
move-object/from16 v0, p0
invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->rCubicTo(FFFFFF)V
.line 601
aget v0, v12, v7
add-float/2addr v0, v9
.line 602
aget v1, v12, v13
add-float/2addr v1, v8
.line 603
aget v2, v12, v14
add-float/2addr v9, v2
.line 604
aget v2, v12, v15
:goto_9
add-float/2addr v8, v2
:goto_a
move v2, v0
move v3, v1
goto :goto_4
.line 518
:cond_6
aget v0, v12, v7
add-float/2addr v9, v0
add-int/lit8 v1, v7, 0x1
.line 519
aget v1, v12, v1
add-float/2addr v8, v1
if-lez v7, :cond_7
.line 524
invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->rLineTo(FF)V
goto :goto_4
.line 526
:cond_7
invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->rMoveTo(FF)V
:goto_b
move/from16 v24, v7
move/from16 v21, v8
move/from16 v20, v9
goto/16 :goto_15
.line 546
:cond_8
aget v0, v12, v7
add-int/lit8 v1, v7, 0x1
aget v4, v12, v1
invoke-virtual {v10, v0, v4}, Landroid/graphics/Path;->rLineTo(FF)V
.line 547
aget v0, v12, v7
add-float/2addr v9, v0
.line 548
aget v0, v12, v1
:goto_c
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
.line 658
:cond_b
aget v0, v12, v7
add-int/lit8 v1, v7, 0x1
aget v2, v12, v1
invoke-virtual {v10, v9, v8, v0, v2}, Landroid/graphics/Path;->quadTo(FFFF)V
.line 662
aget v0, v12, v7
.line 663
aget v1, v12, v1
move/from16 v24, v7
move v3, v8
move v2, v9
move v9, v0
move v8, v1
goto/16 :goto_15
:cond_c
if-eq v0, v6, :cond_e
if-eq v0, v14, :cond_e
const/16 v1, 0x43
if-eq v0, v1, :cond_e
const/16 v1, 0x53
if-ne v0, v1, :cond_d
goto :goto_e
:cond_d
:goto_d
move v2, v8
move v1, v9
goto :goto_f
:cond_e
:goto_e
mul-float v9, v9, v22
sub-float/2addr v9, v2
mul-float v8, v8, v22
sub-float/2addr v8, v3
goto :goto_d
.line 614
:goto_f
aget v3, v12, v7
add-int/lit8 v8, v7, 0x1
aget v4, v12, v8
add-int/lit8 v9, v7, 0x2
aget v5, v12, v9
add-int/lit8 v13, v7, 0x3
aget v6, v12, v13
move-object/from16 v0, p0
invoke-virtual/range {v0 .. v6}, Landroid/graphics/Path;->cubicTo(FFFFFF)V
.line 616
aget v0, v12, v7
.line 617
aget v1, v12, v8
.line 618
aget v9, v12, v9
.line 619
aget v8, v12, v13
goto/16 :goto_a
.line 532
:cond_f
aget v9, v12, v7
add-int/lit8 v0, v7, 0x1
.line 533
aget v8, v12, v0
if-lez v7, :cond_10
.line 538
invoke-virtual {v10, v9, v8}, Landroid/graphics/Path;->lineTo(FF)V
goto/16 :goto_4
.line 540
:cond_10
invoke-virtual {v10, v9, v8}, Landroid/graphics/Path;->moveTo(FF)V
goto/16 :goto_b
.line 551
:cond_11
aget v0, v12, v7
add-int/lit8 v1, v7, 0x1
aget v4, v12, v1
invoke-virtual {v10, v0, v4}, Landroid/graphics/Path;->lineTo(FF)V
.line 552
aget v9, v12, v7
.line 553
aget v8, v12, v1
goto/16 :goto_4
.line 564
:cond_12
aget v0, v12, v7
const/4 v1, 0x0
invoke-virtual {v10, v1, v0}, Landroid/graphics/Path;->rLineTo(FF)V
.line 565
aget v0, v12, v7
goto/16 :goto_c
.line 622
:cond_13
aget v0, v12, v7
add-int/lit8 v1, v7, 0x1
aget v2, v12, v1
add-int/lit8 v3, v7, 0x2
aget v4, v12, v3
add-int/lit8 v5, v7, 0x3
aget v6, v12, v5
invoke-virtual {v10, v0, v2, v4, v6}, Landroid/graphics/Path;->rQuadTo(FFFF)V
.line 623
aget v0, v12, v7
add-float/2addr v0, v9
.line 624
aget v1, v12, v1
add-float/2addr v1, v8
.line 625
aget v2, v12, v3
add-float/2addr v9, v2
.line 626
aget v2, v12, v5
goto/16 :goto_9
.line 556
:cond_14
aget v0, v12, v7
const/4 v1, 0x0
invoke-virtual {v10, v0, v1}, Landroid/graphics/Path;->rLineTo(FF)V
.line 557
aget v0, v12, v7
add-float/2addr v9, v0
goto/16 :goto_4
.line 572
:cond_15
aget v1, v12, v7
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 575
aget v0, v12, v13
add-float/2addr v0, v9
.line 576
aget v1, v12, v14
add-float/2addr v1, v8
.line 577
aget v2, v12, v15
add-float/2addr v9, v2
.line 578
aget v2, v12, v22
goto/16 :goto_9
:cond_16
add-int/lit8 v13, v7, 0x5
.line 667
aget v0, v12, v13
add-float v3, v0, v9
add-int/lit8 v14, v7, 0x6
aget v0, v12, v14
add-float v4, v0, v8
aget v5, v12, v7
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_10
:cond_17
const/16 v22, 0x0
:goto_10
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_11
:cond_18
const/16 v23, 0x0
:goto_11
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}, Landroidx/core/graphics/PathParser$PathDataNode;->drawArc(Landroid/graphics/Path;FFFFFFFZZ)V
.line 677
aget v0, v12, v13
add-float v9, v11, v0
.line 678
aget v0, v12, v14
add-float v8, v15, v0
:goto_12
move v3, v8
move v2, v9
goto/16 :goto_15
:cond_19
move/from16 v24, v7
move v11, v9
.line 568
aget v0, v12, v24
invoke-virtual {v10, v11, v0}, Landroid/graphics/Path;->lineTo(FF)V
.line 569
aget v8, v12, v24
goto/16 :goto_15
:cond_1a
move/from16 v24, v7
.line 629
aget v0, v12, v24
add-int/lit8 v7, v24, 0x1
aget v1, v12, v7
add-int/lit8 v2, v24, 0x2
aget v3, v12, v2
add-int/lit8 v4, v24, 0x3
aget v5, v12, v4
invoke-virtual {v10, v0, v1, v3, v5}, Landroid/graphics/Path;->quadTo(FFFF)V
.line 630
aget v0, v12, v24
.line 631
aget v1, v12, v7
.line 632
aget v9, v12, v2
.line 633
aget v8, v12, v4
move v2, v0
move v3, v1
goto/16 :goto_15
:cond_1b
move/from16 v24, v7
move v15, v8
.line 560
aget v0, v12, v24
invoke-virtual {v10, v0, v15}, Landroid/graphics/Path;->lineTo(FF)V
.line 561
aget v9, v12, v24
goto/16 :goto_15
:cond_1c
move/from16 v24, v7
.line 582
aget v1, v12, v24
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 584
aget v9, v12, v9
.line 585
aget v0, v12, v11
.line 586
aget v1, v12, v7
.line 587
aget v2, v12, v8
move v8, v0
move v3, v2
move v2, v1
goto :goto_15
:cond_1d
move/from16 v24, v7
move v15, v8
move v11, v9
add-int/lit8 v13, v24, 0x5
.line 683
aget v3, v12, v13
add-int/lit8 v14, v24, 0x6
aget v4, v12, v14
aget v5, v12, v24
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_13
:cond_1e
const/4 v8, 0x0
:goto_13
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_14
:cond_1f
const/4 v9, 0x0
:goto_14
move-object/from16 v0, p0
move v1, v11
move v2, v15
invoke-static/range {v0 .. v9}, Landroidx/core/graphics/PathParser$PathDataNode;->drawArc(Landroid/graphics/Path;FFFFFFFZZ)V
.line 693
aget v9, v12, v13
.line 694
aget v8, v12, v14
goto/16 :goto_12
:goto_15
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 701
aput v11, p1, v0
const/4 v0, 0x1
.line 702
aput v15, p1, v0
const/4 v0, 0x2
.line 703
aput v2, p1, v0
.line 704
aput v3, p1, v16
.line 705
aput v20, p1, v17
.line 706
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 private static arcToBezier(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 814
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 817
invoke-static/range {p13 .. p14}, Ljava/lang/Math;->cos(D)D
move-result-wide v5
.line 818
invoke-static/range {p13 .. p14}, Ljava/lang/Math;->sin(D)D
move-result-wide v7
.line 819
invoke-static/range {p15 .. p16}, Ljava/lang/Math;->cos(D)D
move-result-wide v9
.line 820
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 v11, v9
int-to-double v9, v4
div-double v9, p17, v9
const/16 v23, 0x0
move-wide/from16 v25, v11
move-wide/from16 v27, v17
move/from16 v2, v23
move-wide/from16 v11, p9
move-wide/from16 v17, p11
move-wide/from16 v23, p15
:goto_0
if-ge v2, v4, :cond_0
add-double v31, v23, v9
.line 827
invoke-static/range {v31 .. v32}, Ljava/lang/Math;->sin(D)D
move-result-wide v33
.line 828
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, p1, v37
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, p3, v37
mul-double v39, v21, v33
add-double v0, v37, v39
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, v33, v35
sub-double v23, v31, v23
const-wide/high16 v35, 0x4000000000000000L # 2.0
div-double v35, v23, v35
.line 833
invoke-static/range {v35 .. v36}, Ljava/lang/Math;->tan(D)D
move-result-wide v35
.line 835
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 v23, v23, v35
div-double v23, v23, v39
mul-double v27, v27, v23
add-double v11, v11, v27
mul-double v25, v25, v23
move-wide/from16 v27, v5
add-double v5, v17, v25
mul-double v17, v23, v37
move-wide/from16 p13, v7
sub-double v7, v3, v17
mul-double v23, v23, v33
move-wide/from16 p7, v9
sub-double v9, v0, v23
move-wide/from16 v17, v13
const/4 v13, 0x0
move-object/from16 v14, p0
.line 842
invoke-virtual {v14, v13, v13}, Landroid/graphics/Path;->rLineTo(FF)V
double-to-float v11, v11
double-to-float v5, v5
double-to-float v6, v7
double-to-float v7, v9
double-to-float v8, v3
double-to-float v9, v0
move-object/from16 v42, p0
move/from16 v43, v11
move/from16 v44, v5
move/from16 v45, v6
move/from16 v46, v7
move/from16 v47, v8
move/from16 v48, v9
.line 844
invoke-virtual/range {v42 .. v48}, Landroid/graphics/Path;->cubicTo(FFFFFF)V
add-int/lit8 v2, v2, 0x1
move-wide/from16 v9, p7
move-wide/from16 v7, p13
move-wide v11, v3
move-wide/from16 v13, v17
move-wide/from16 v5, v27
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 private static drawArc(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 721
invoke-static {v4, v5}, Ljava/lang/Math;->toRadians(D)D
move-result-wide v19
.line 723
invoke-static/range {v19 .. v20}, Ljava/lang/Math;->cos(D)D
move-result-wide v4
.line 724
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 v15, v15, v21
float-to-double v6, v0
div-double/2addr v15, v6
neg-float v8, v1
float-to-double v8, v8
mul-double/2addr v8, v10
mul-double v21, v13, v4
add-double v8, v8, v21
move-wide/from16 v21, v13
float-to-double v13, v2
div-double/2addr v8, v13
float-to-double v1, v3
mul-double/2addr v1, v4
move/from16 v12, p4
move-wide/from16 v23, v8
float-to-double v8, v12
mul-double v25, v8, v10
add-double v1, v1, v25
div-double/2addr v1, v6
neg-float v12, v3
move-wide/from16 v25, v6
float-to-double v6, v12
mul-double/2addr v6, v10
mul-double/2addr v8, v4
add-double/2addr v6, v8
div-double/2addr v6, v13
sub-double v8, v15, v1
sub-double v27, v23, v6
add-double v29, v15, v1
const-wide/high16 v31, 0x4000000000000000L # 2.0
div-double v29, v29, v31
add-double v33, v23, v6
div-double v33, v33, v31
mul-double v31, v8, v8
mul-double v35, v27, v27
move-wide/from16 v37, v10
add-double v10, v31, v35
const-wide/16 v31, 0x0
cmpl-double v12, v10, v31
const-string v3, "PathParser"
if-nez v12, :cond_0
const-string v0, " Points are coincident"
.line 740
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 v12, v35, v31
if-gez v12, :cond_1
.line 745
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()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 746
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 747
invoke-static/range {v0 .. v9}, Landroidx/core/graphics/PathParser$PathDataNode;->drawArc(Landroid/graphics/Path;FFFFFFFZZ)V
return-void
.line 751
:cond_1
invoke-static/range {v35 .. v36}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v10
mul-double/2addr v8, 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, v8
goto :goto_0
:cond_2
add-double v29, v29, v10
sub-double v33, v33, v8
:goto_0
sub-double v8, v23, v33
sub-double v10, v15, v29
.line 764
invoke-static {v8, v9, v10, v11}, Ljava/lang/Math;->atan2(DD)D
move-result-wide v23
sub-double v6, v6, v33
sub-double v1, v1, v29
.line 766
invoke-static {v6, v7, v1, v2}, Ljava/lang/Math;->atan2(DD)D
move-result-wide v0
sub-double v0, v0, v23
cmpl-double v2, v0, v31
if-ltz v2, :cond_3
const/4 v6, 0x1
goto :goto_1
:cond_3
const/4 v6, 0x0
:goto_1
if-eq v3, v6, :cond_5
const-wide v6, 0x401921fb54442d18L # 6.283185307179586
if-lez v2, :cond_4
sub-double/2addr v0, v6
goto :goto_2
:cond_4
add-double/2addr v0, v6
:cond_5
:goto_2
mul-double v29, v29, v25
mul-double v33, v33, v13
mul-double v2, v29, v4
mul-double v10, v33, v37
sub-double v7, v2, v10
move-wide/from16 v2, v25
mul-double v29, v29, v37
mul-double v33, v33, v4
add-double v9, v29, v33
move-object/from16 v6, p0
move-wide v11, v2
move-wide/from16 v2, v17
move-wide/from16 v4, v21
move-wide v15, v2
move-wide/from16 v17, v4
move-wide/from16 v21, v23
move-wide/from16 v23, v0
.line 783
invoke-static/range {v6 .. v24}, Landroidx/core/graphics/PathParser$PathDataNode;->arcToBezier(Landroid/graphics/Path;DDDDDDDDD)V
return-void
.end method
.method public static nodesToPath([Landroidx/core/graphics/PathParser$PathDataNode;Landroid/graphics/Path;)V
.locals 0
.param p0 # [Landroidx/core/graphics/PathParser$PathDataNode;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroid/graphics/Path;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 438
invoke-static {p0, p1}, Landroidx/core/graphics/PathParser;->nodesToPath([Landroidx/core/graphics/PathParser$PathDataNode;Landroid/graphics/Path;)V
return-void
.end method
# virtual methods
.method public getParams()[F
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
iget-object v0, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
return-object v0
.end method
.method public getType()C
.locals 1
iget-char v0, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
return v0
.end method
.method public interpolatePathDataNode(Landroidx/core/graphics/PathParser$PathDataNode;Landroidx/core/graphics/PathParser$PathDataNode;F)V
.locals 4
.param p1 # Landroidx/core/graphics/PathParser$PathDataNode;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroidx/core/graphics/PathParser$PathDataNode;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 452
iget-char v0, p1, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
iput-char v0, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mType:C
const/4 v0, 0x0
.line 453
:goto_0
iget-object v1, p1, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
array-length v2, v1
if-ge v0, v2, :cond_0
iget-object v2, p0, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
.line 454
aget v1, v1, v0
const/high16 v3, 0x3f800000 # 1.0f
sub-float/2addr v3, p3
mul-float/2addr v1, v3
iget-object v3, p2, Landroidx/core/graphics/PathParser$PathDataNode;->mParams:[F
aget v3, v3, v0
mul-float/2addr v3, 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