MotionPaths.smali

.class Landroidx/constraintlayout/motion/widget/MotionPaths;
.super Ljava/lang/Object;
.source "MotionPaths.java"

# interfaces
.implements Ljava/lang/Comparable;


# annotations
.annotation system Ldalvik/annotation/Signature;
    value = {
        "Ljava/lang/Object;",
        "Ljava/lang/Comparable<",
        "Landroidx/constraintlayout/motion/widget/MotionPaths;",
        ">;"
    }
.end annotation


# static fields
.field static final CARTESIAN:I = 0x2

.field public static final DEBUG:Z = false

.field static final OFF_HEIGHT:I = 0x4

.field static final OFF_PATH_ROTATE:I = 0x5

.field static final OFF_POSITION:I = 0x0

.field static final OFF_WIDTH:I = 0x3

.field static final OFF_X:I = 0x1

.field static final OFF_Y:I = 0x2

.field public static final OLD_WAY:Z = false

.field static final PERPENDICULAR:I = 0x1

.field static final SCREEN:I = 0x3

.field public static final TAG:Ljava/lang/String; = "MotionPaths"

.field static names:[Ljava/lang/String;


# instance fields
.field attributes:Ljava/util/LinkedHashMap;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/LinkedHashMap<",
            "Ljava/lang/String;",
            "Landroidx/constraintlayout/widget/ConstraintAttribute;",
            ">;"
        }
    .end annotation
.end field

.field height:F

.field mDrawPath:I

.field mKeyFrameEasing:Landroidx/constraintlayout/motion/utils/Easing;

.field mMode:I

.field mPathMotionArc:I

.field mPathRotate:F

.field mProgress:F

.field mTempDelta:[D

.field mTempValue:[D

.field position:F

.field time:F

.field width:F

.field x:F

.field y:F


# direct methods
.method static constructor <clinit>()V
    .registers 6

    .line 52
    const-string v0, "position"

    const-string/jumbo v1, "x"

    const-string/jumbo v2, "y"

    const-string/jumbo v3, "width"

    const-string v4, "height"

    const-string v5, "pathRotate"

    filled-new-array/range {v0 .. v5}, [Ljava/lang/String;

    move-result-object v0

    sput-object v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->names:[Ljava/lang/String;

    return-void
.end method

.method public constructor <init>()V
    .registers 3

    .line 68
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 54
    const/4 v0, 0x0

    iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I

    .line 61
    const/high16 v1, 0x7fc00000    # Float.NaN

    iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F

    .line 62
    iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F

    .line 63
    sget v1, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I

    iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I

    .line 65
    new-instance v1, Ljava/util/LinkedHashMap;

    invoke-direct {v1}, Ljava/util/LinkedHashMap;-><init>()V

    iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;

    .line 66
    iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I

    .line 308
    const/16 v0, 0x12

    new-array v1, v0, [D

    iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    .line 309
    new-array v0, v0, [D

    iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D

    .line 70
    return-void
.end method

.method public constructor <init>(IILandroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
    .registers 8
    .param p1, "parentWidth"    # I
    .param p2, "parentHeight"    # I
    .param p3, "c"    # Landroidx/constraintlayout/motion/widget/KeyPosition;
    .param p4, "startTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;
    .param p5, "endTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;

    .line 124
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 54
    const/4 v0, 0x0

    iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I

    .line 61
    const/high16 v1, 0x7fc00000    # Float.NaN

    iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F

    .line 62
    iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F

    .line 63
    sget v1, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I

    iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I

    .line 65
    new-instance v1, Ljava/util/LinkedHashMap;

    invoke-direct {v1}, Ljava/util/LinkedHashMap;-><init>()V

    iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;

    .line 66
    iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I

    .line 308
    const/16 v0, 0x12

    new-array v1, v0, [D

    iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    .line 309
    new-array v0, v0, [D

    iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D

    .line 125
    iget v0, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I

    const/4 v1, 0x1

    if-eq v0, v1, :cond_33

    const/4 v1, 0x2

    if-eq v0, v1, :cond_2f

    .line 134
    invoke-virtual {p0, p3, p4, p5}, Landroidx/constraintlayout/motion/widget/MotionPaths;->initCartesian(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V

    .line 135
    return-void

    .line 127
    :cond_2f
    invoke-virtual/range {p0 .. p5}, Landroidx/constraintlayout/motion/widget/MotionPaths;->initScreen(IILandroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V

    .line 128
    return-void

    .line 130
    :cond_33
    invoke-virtual {p0, p3, p4, p5}, Landroidx/constraintlayout/motion/widget/MotionPaths;->initPath(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V

    .line 131
    return-void
.end method

.method private diff(FF)Z
    .registers 7
    .param p1, "a"    # F
    .param p2, "b"    # F

    .line 236
    invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z

    move-result v0

    const/4 v1, 0x1

    const/4 v2, 0x0

    if-nez v0, :cond_1f

    invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z

    move-result v0

    if-eqz v0, :cond_f

    goto :goto_1f

    .line 239
    :cond_f
    sub-float v0, p1, p2

    invoke-static {v0}, Ljava/lang/Math;->abs(F)F

    move-result v0

    const v3, 0x358637bd    # 1.0E-6f

    cmpl-float v0, v0, v3

    if-lez v0, :cond_1d

    goto :goto_1e

    :cond_1d
    const/4 v1, 0x0

    :goto_1e
    return v1

    .line 237
    :cond_1f
    :goto_1f
    invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z

    move-result v0

    invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z

    move-result v3

    if-eq v0, v3, :cond_2a

    goto :goto_2b

    :cond_2a
    const/4 v1, 0x0

    :goto_2b
    return v1
.end method

.method private static final xRotate(FFFFFF)F
    .registers 8
    .param p0, "sin"    # F
    .param p1, "cos"    # F
    .param p2, "cx"    # F
    .param p3, "cy"    # F
    .param p4, "x"    # F
    .param p5, "y"    # F

    .line 224
    sub-float/2addr p4, p2

    .line 225
    sub-float/2addr p5, p3

    .line 226
    mul-float v0, p4, p1

    mul-float v1, p5, p0

    sub-float/2addr v0, v1

    add-float/2addr v0, p2

    return v0
.end method

.method private static final yRotate(FFFFFF)F
    .registers 8
    .param p0, "sin"    # F
    .param p1, "cos"    # F
    .param p2, "cx"    # F
    .param p3, "cy"    # F
    .param p4, "x"    # F
    .param p5, "y"    # F

    .line 230
    sub-float/2addr p4, p2

    .line 231
    sub-float/2addr p5, p3

    .line 232
    mul-float v0, p4, p0

    mul-float v1, p5, p1

    add-float/2addr v0, v1

    add-float/2addr v0, p3

    return v0
.end method


# virtual methods
.method public applyParameters(Landroidx/constraintlayout/widget/ConstraintSet$Constraint;)V
    .registers 9
    .param p1, "c"    # Landroidx/constraintlayout/widget/ConstraintSet$Constraint;

    .line 680
    move-object v0, p0

    .line 681
    .local v0, "point":Landroidx/constraintlayout/motion/widget/MotionPaths;
    iget-object v1, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;

    iget-object v1, v1, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mTransitionEasing:Ljava/lang/String;

    invoke-static {v1}, Landroidx/constraintlayout/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/motion/utils/Easing;

    move-result-object v1

    iput-object v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/motion/utils/Easing;

    .line 682
    iget-object v1, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;

    iget v1, v1, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mPathMotionArc:I

    iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I

    .line 683
    iget-object v1, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;

    iget v1, v1, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mPathRotate:F

    iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F

    .line 684
    iget-object v1, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;

    iget v1, v1, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mDrawPath:I

    iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I

    .line 685
    iget-object v1, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->propertySet:Landroidx/constraintlayout/widget/ConstraintSet$PropertySet;

    iget v1, v1, Landroidx/constraintlayout/widget/ConstraintSet$PropertySet;->mProgress:F

    iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F

    .line 686
    iget-object v1, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->mCustomConstraints:Ljava/util/HashMap;

    invoke-virtual {v1}, Ljava/util/HashMap;->keySet()Ljava/util/Set;

    move-result-object v1

    .line 687
    .local v1, "at":Ljava/util/Set;, "Ljava/util/Set<Ljava/lang/String;>;"
    invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :goto_2d
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v3

    if-eqz v3, :cond_4f

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v3

    check-cast v3, Ljava/lang/String;

    .line 688
    .local v3, "s":Ljava/lang/String;
    iget-object v4, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->mCustomConstraints:Ljava/util/HashMap;

    invoke-virtual {v4, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Landroidx/constraintlayout/widget/ConstraintAttribute;

    .line 689
    .local v4, "attr":Landroidx/constraintlayout/widget/ConstraintAttribute;
    invoke-virtual {v4}, Landroidx/constraintlayout/widget/ConstraintAttribute;->getType()Landroidx/constraintlayout/widget/ConstraintAttribute$AttributeType;

    move-result-object v5

    sget-object v6, Landroidx/constraintlayout/widget/ConstraintAttribute$AttributeType;->STRING_TYPE:Landroidx/constraintlayout/widget/ConstraintAttribute$AttributeType;

    if-eq v5, v6, :cond_4e

    .line 690
    iget-object v5, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;

    invoke-virtual {v5, v3, v4}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 692
    .end local v3    # "s":Ljava/lang/String;
    .end local v4    # "attr":Landroidx/constraintlayout/widget/ConstraintAttribute;
    :cond_4e
    goto :goto_2d

    .line 693
    :cond_4f
    return-void
.end method

.method public compareTo(Landroidx/constraintlayout/motion/widget/MotionPaths;)I
    .registers 4
    .param p1, "o"    # Landroidx/constraintlayout/motion/widget/MotionPaths;

    .line 676
    iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    iget v1, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    invoke-static {v0, v1}, Ljava/lang/Float;->compare(FF)I

    move-result v0

    return v0
.end method

.method public bridge synthetic compareTo(Ljava/lang/Object;)I
    .registers 2

    .line 38
    check-cast p1, Landroidx/constraintlayout/motion/widget/MotionPaths;

    invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionPaths;->compareTo(Landroidx/constraintlayout/motion/widget/MotionPaths;)I

    move-result p1

    return p1
.end method

.method different(Landroidx/constraintlayout/motion/widget/MotionPaths;[Z[Ljava/lang/String;Z)V
    .registers 10
    .param p1, "points"    # Landroidx/constraintlayout/motion/widget/MotionPaths;
    .param p2, "mask"    # [Z
    .param p3, "custom"    # [Ljava/lang/String;
    .param p4, "arcMode"    # Z

    .line 243
    const/4 v0, 0x0

    .line 244
    .local v0, "c":I
    add-int/lit8 v1, v0, 0x1

    .end local v0    # "c":I
    .local v1, "c":I
    aget-boolean v2, p2, v0

    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    iget v4, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    invoke-direct {p0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z

    move-result v3

    or-int/2addr v2, v3

    aput-boolean v2, p2, v0

    .line 245
    add-int/lit8 v0, v1, 0x1

    .end local v1    # "c":I
    .restart local v0    # "c":I
    aget-boolean v2, p2, v1

    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    iget v4, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    invoke-direct {p0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z

    move-result v3

    or-int/2addr v3, p4

    or-int/2addr v2, v3

    aput-boolean v2, p2, v1

    .line 246
    add-int/lit8 v1, v0, 0x1

    .end local v0    # "c":I
    .restart local v1    # "c":I
    aget-boolean v2, p2, v0

    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    iget v4, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    invoke-direct {p0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z

    move-result v3

    or-int/2addr v3, p4

    or-int/2addr v2, v3

    aput-boolean v2, p2, v0

    .line 247
    add-int/lit8 v0, v1, 0x1

    .end local v1    # "c":I
    .restart local v0    # "c":I
    aget-boolean v2, p2, v1

    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    iget v4, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    invoke-direct {p0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z

    move-result v3

    or-int/2addr v2, v3

    aput-boolean v2, p2, v1

    .line 248
    add-int/lit8 v1, v0, 0x1

    .end local v0    # "c":I
    .restart local v1    # "c":I
    aget-boolean v2, p2, v0

    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    iget v4, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    invoke-direct {p0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z

    move-result v3

    or-int/2addr v2, v3

    aput-boolean v2, p2, v0

    .line 250
    return-void
.end method

.method fillStandard([D[I)V
    .registers 9
    .param p1, "data"    # [D
    .param p2, "toUse"    # [I

    .line 634
    const/4 v0, 0x6

    new-array v0, v0, [F

    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    const/4 v2, 0x0

    aput v1, v0, v2

    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    const/4 v2, 0x1

    aput v1, v0, v2

    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    const/4 v2, 0x2

    aput v1, v0, v2

    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    const/4 v2, 0x3

    aput v1, v0, v2

    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    const/4 v2, 0x4

    aput v1, v0, v2

    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F

    const/4 v2, 0x5

    aput v1, v0, v2

    .line 635
    .local v0, "set":[F
    const/4 v1, 0x0

    .line 636
    .local v1, "c":I
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_23
    array-length v3, p2

    if-ge v2, v3, :cond_38

    .line 637
    aget v3, p2, v2

    array-length v4, v0

    if-ge v3, v4, :cond_35

    .line 638
    add-int/lit8 v3, v1, 0x1

    .end local v1    # "c":I
    .local v3, "c":I
    aget v4, p2, v2

    aget v4, v0, v4

    float-to-double v4, v4

    aput-wide v4, p1, v1

    move v1, v3

    .line 636
    .end local v3    # "c":I
    .restart local v1    # "c":I
    :cond_35
    add-int/lit8 v2, v2, 0x1

    goto :goto_23

    .line 641
    .end local v2    # "i":I
    :cond_38
    return-void
.end method

.method getBounds([I[D[FI)V
    .registers 15
    .param p1, "toUse"    # [I
    .param p2, "data"    # [D
    .param p3, "point"    # [F
    .param p4, "offset"    # I

    .line 281
    iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 282
    .local v0, "v_x":F
    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 283
    .local v1, "v_y":F
    iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 284
    .local v2, "v_width":F
    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 285
    .local v3, "v_height":F
    const/4 v4, 0x0

    .local v4, "translationX":F
    const/4 v5, 0x0

    .line 286
    .local v5, "translationY":F
    const/4 v6, 0x0

    .local v6, "i":I
    :goto_b
    array-length v7, p1

    if-ge v6, v7, :cond_2b

    .line 287
    aget-wide v7, p2, v6

    double-to-float v7, v7

    .line 289
    .local v7, "value":F
    aget v8, p1, v6

    const/4 v9, 0x1

    if-eq v8, v9, :cond_26

    const/4 v9, 0x2

    if-eq v8, v9, :cond_24

    const/4 v9, 0x3

    if-eq v8, v9, :cond_22

    const/4 v9, 0x4

    if-eq v8, v9, :cond_20

    goto :goto_28

    .line 300
    :cond_20
    move v3, v7

    goto :goto_28

    .line 297
    :cond_22
    move v2, v7

    .line 298
    goto :goto_28

    .line 294
    :cond_24
    move v1, v7

    .line 295
    goto :goto_28

    .line 291
    :cond_26
    move v0, v7

    .line 292
    nop

    .line 286
    .end local v7    # "value":F
    :goto_28
    add-int/lit8 v6, v6, 0x1

    goto :goto_b

    .line 304
    .end local v6    # "i":I
    :cond_2b
    aput v2, p3, p4

    .line 305
    add-int/lit8 v6, p4, 0x1

    aput v3, p3, v6

    .line 306
    return-void
.end method

.method getCenter([I[D[FI)V
    .registers 15
    .param p1, "toUse"    # [I
    .param p2, "data"    # [D
    .param p3, "point"    # [F
    .param p4, "offset"    # I

    .line 253
    iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 254
    .local v0, "v_x":F
    iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 255
    .local v1, "v_y":F
    iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 256
    .local v2, "v_width":F
    iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 257
    .local v3, "v_height":F
    const/4 v4, 0x0

    .local v4, "translationX":F
    const/4 v5, 0x0

    .line 258
    .local v5, "translationY":F
    const/4 v6, 0x0

    .local v6, "i":I
    :goto_b
    array-length v7, p1

    if-ge v6, v7, :cond_2b

    .line 259
    aget-wide v7, p2, v6

    double-to-float v7, v7

    .line 261
    .local v7, "value":F
    aget v8, p1, v6

    const/4 v9, 0x1

    if-eq v8, v9, :cond_26

    const/4 v9, 0x2

    if-eq v8, v9, :cond_24

    const/4 v9, 0x3

    if-eq v8, v9, :cond_22

    const/4 v9, 0x4

    if-eq v8, v9, :cond_20

    goto :goto_28

    .line 272
    :cond_20
    move v3, v7

    goto :goto_28

    .line 269
    :cond_22
    move v2, v7

    .line 270
    goto :goto_28

    .line 266
    :cond_24
    move v1, v7

    .line 267
    goto :goto_28

    .line 263
    :cond_26
    move v0, v7

    .line 264
    nop

    .line 258
    .end local v7    # "value":F
    :goto_28
    add-int/lit8 v6, v6, 0x1

    goto :goto_b

    .line 276
    .end local v6    # "i":I
    :cond_2b
    const/high16 v6, 0x40000000    # 2.0f

    div-float v7, v2, v6

    add-float/2addr v7, v0

    add-float/2addr v7, v4

    aput v7, p3, p4

    .line 277
    add-int/lit8 v7, p4, 0x1

    div-float v6, v3, v6

    add-float/2addr v6, v1

    add-float/2addr v6, v5

    aput v6, p3, v7

    .line 278
    return-void
.end method

.method getCustomData(Ljava/lang/String;[DI)I
    .registers 11
    .param p1, "name"    # Ljava/lang/String;
    .param p2, "value"    # [D
    .param p3, "offset"    # I

    .line 652
    iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;

    invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroidx/constraintlayout/widget/ConstraintAttribute;

    .line 653
    .local v0, "a":Landroidx/constraintlayout/widget/ConstraintAttribute;
    invoke-virtual {v0}, Landroidx/constraintlayout/widget/ConstraintAttribute;->noOfInterpValues()I

    move-result v1

    const/4 v2, 0x1

    if-ne v1, v2, :cond_17

    .line 654
    invoke-virtual {v0}, Landroidx/constraintlayout/widget/ConstraintAttribute;->getValueToInterpolate()F

    move-result v1

    float-to-double v3, v1

    aput-wide v3, p2, p3

    .line 655
    return v2

    .line 657
    :cond_17
    invoke-virtual {v0}, Landroidx/constraintlayout/widget/ConstraintAttribute;->noOfInterpValues()I

    move-result v1

    .line 658
    .local v1, "N":I
    new-array v2, v1, [F

    .line 659
    .local v2, "f":[F
    invoke-virtual {v0, v2}, Landroidx/constraintlayout/widget/ConstraintAttribute;->getValuesToInterpolate([F)V

    .line 660
    const/4 v3, 0x0

    .local v3, "i":I
    :goto_21
    if-ge v3, v1, :cond_2e

    .line 661
    add-int/lit8 v4, p3, 0x1

    .end local p3    # "offset":I
    .local v4, "offset":I
    aget v5, v2, v3

    float-to-double v5, v5

    aput-wide v5, p2, p3

    .line 660
    add-int/lit8 v3, v3, 0x1

    move p3, v4

    goto :goto_21

    .line 663
    .end local v3    # "i":I
    .end local v4    # "offset":I
    .restart local p3    # "offset":I
    :cond_2e
    return v1
.end method

.method getCustomDataCount(Ljava/lang/String;)I
    .registers 3
    .param p1, "name"    # Ljava/lang/String;

    .line 648
    iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;

    invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroidx/constraintlayout/widget/ConstraintAttribute;

    invoke-virtual {v0}, Landroidx/constraintlayout/widget/ConstraintAttribute;->noOfInterpValues()I

    move-result v0

    return v0
.end method

.method getRect([I[D[FI)V
    .registers 45
    .param p1, "toUse"    # [I
    .param p2, "data"    # [D
    .param p3, "path"    # [F
    .param p4, "offset"    # I

    .line 432
    move-object/from16 v0, p0

    move-object/from16 v1, p1

    iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 433
    .local v2, "v_x":F
    iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 434
    .local v3, "v_y":F
    iget v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 435
    .local v4, "v_width":F
    iget v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 436
    .local v5, "v_height":F
    const/4 v6, 0x0

    .line 437
    .local v6, "delta_path":F
    const/4 v7, 0x0

    .line 438
    .local v7, "rotation":F
    const/4 v8, 0x0

    .line 439
    .local v8, "alpha":F
    const/4 v9, 0x0

    .line 440
    .local v9, "rotationX":F
    const/4 v10, 0x0

    .line 441
    .local v10, "rotationY":F
    const/high16 v11, 0x3f800000    # 1.0f

    .line 442
    .local v11, "scaleX":F
    const/high16 v12, 0x3f800000    # 1.0f

    .line 443
    .local v12, "scaleY":F
    const/high16 v13, 0x7fc00000    # Float.NaN

    .line 444
    .local v13, "pivotX":F
    const/high16 v14, 0x7fc00000    # Float.NaN

    .line 445
    .local v14, "pivotY":F
    const/4 v15, 0x0

    .line 446
    .local v15, "translationX":F
    const/16 v16, 0x0

    .line 450
    .local v16, "translationY":F
    const/16 v17, 0x0

    move/from16 v0, v17

    .local v0, "i":I
    :goto_20
    move/from16 v17, v6

    .end local v6    # "delta_path":F
    .local v17, "delta_path":F
    array-length v6, v1

    if-ge v0, v6, :cond_55

    .line 451
    move v6, v8

    move/from16 v18, v9

    .end local v8    # "alpha":F
    .end local v9    # "rotationX":F
    .local v6, "alpha":F
    .local v18, "rotationX":F
    aget-wide v8, p2, v0

    double-to-float v8, v8

    .line 453
    .local v8, "value":F
    aget v9, v1, v0

    if-eqz v9, :cond_48

    const/4 v1, 0x1

    if-eq v9, v1, :cond_45

    const/4 v1, 0x2

    if-eq v9, v1, :cond_42

    const/4 v1, 0x3

    if-eq v9, v1, :cond_3f

    const/4 v1, 0x4

    if-eq v9, v1, :cond_3c

    goto :goto_4b

    .line 467
    :cond_3c
    move v1, v8

    move v5, v1

    .end local v5    # "v_height":F
    .local v1, "v_height":F
    goto :goto_4b

    .line 464
    .end local v1    # "v_height":F
    .restart local v5    # "v_height":F
    :cond_3f
    move v1, v8

    .line 465
    .end local v4    # "v_width":F
    .local v1, "v_width":F
    move v4, v1

    goto :goto_4b

    .line 461
    .end local v1    # "v_width":F
    .restart local v4    # "v_width":F
    :cond_42
    move v1, v8

    .line 462
    .end local v3    # "v_y":F
    .local v1, "v_y":F
    move v3, v1

    goto :goto_4b

    .line 458
    .end local v1    # "v_y":F
    .restart local v3    # "v_y":F
    :cond_45
    move v1, v8

    .line 459
    .end local v2    # "v_x":F
    .local v1, "v_x":F
    move v2, v1

    goto :goto_4b

    .line 455
    .end local v1    # "v_x":F
    .restart local v2    # "v_x":F
    :cond_48
    move v1, v8

    .line 456
    .end local v17    # "delta_path":F
    .local v1, "delta_path":F
    move/from16 v17, v1

    .line 450
    .end local v1    # "delta_path":F
    .end local v8    # "value":F
    .restart local v17    # "delta_path":F
    :goto_4b
    add-int/lit8 v0, v0, 0x1

    move-object/from16 v1, p1

    move v8, v6

    move/from16 v6, v17

    move/from16 v9, v18

    goto :goto_20

    .end local v6    # "alpha":F
    .end local v18    # "rotationX":F
    .local v8, "alpha":F
    .restart local v9    # "rotationX":F
    :cond_55
    move v6, v8

    move/from16 v18, v9

    .line 471
    .end local v0    # "i":I
    .end local v8    # "alpha":F
    .end local v9    # "rotationX":F
    .restart local v6    # "alpha":F
    .restart local v18    # "rotationX":F
    move v0, v2

    .line 472
    .local v0, "x1":F
    move v1, v3

    .line 474
    .local v1, "y1":F
    add-float v8, v2, v4

    .line 475
    .local v8, "x2":F
    move v9, v1

    .line 477
    .local v9, "y2":F
    move/from16 v19, v8

    .line 478
    .local v19, "x3":F
    add-float v20, v3, v5

    .line 480
    .local v20, "y3":F
    move/from16 v21, v0

    .line 481
    .local v21, "x4":F
    move/from16 v22, v20

    .line 483
    .local v22, "y4":F
    const/high16 v23, 0x40000000    # 2.0f

    div-float v24, v4, v23

    add-float v24, v0, v24

    .line 484
    .local v24, "cx":F
    div-float v25, v5, v23

    add-float v25, v1, v25

    .line 486
    .local v25, "cy":F
    invoke-static {v13}, Ljava/lang/Float;->isNaN(F)Z

    move-result v26

    if-nez v26, :cond_7b

    .line 487
    sub-float v26, v8, v0

    mul-float v26, v26, v13

    add-float v24, v0, v26

    .line 489
    :cond_7b
    invoke-static {v14}, Ljava/lang/Float;->isNaN(F)Z

    move-result v26

    if-nez v26, :cond_87

    .line 491
    sub-float v26, v20, v1

    mul-float v26, v26, v14

    add-float v25, v1, v26

    .line 493
    :cond_87
    const/high16 v26, 0x3f800000    # 1.0f

    cmpl-float v27, v11, v26

    if-eqz v27, :cond_a9

    .line 494
    add-float v27, v0, v8

    div-float v27, v27, v23

    .line 495
    .local v27, "midx":F
    sub-float v28, v0, v27

    mul-float v28, v28, v11

    add-float v0, v28, v27

    .line 496
    sub-float v28, v8, v27

    mul-float v28, v28, v11

    add-float v8, v28, v27

    .line 497
    sub-float v28, v19, v27

    mul-float v28, v28, v11

    add-float v19, v28, v27

    .line 498
    sub-float v28, v21, v27

    mul-float v28, v28, v11

    add-float v21, v28, v27

    .line 500
    .end local v27    # "midx":F
    :cond_a9
    cmpl-float v26, v12, v26

    if-eqz v26, :cond_c9

    .line 501
    add-float v26, v1, v20

    div-float v26, v26, v23

    .line 502
    .local v26, "midy":F
    sub-float v23, v1, v26

    mul-float v23, v23, v12

    add-float v1, v23, v26

    .line 503
    sub-float v23, v9, v26

    mul-float v23, v23, v12

    add-float v9, v23, v26

    .line 504
    sub-float v23, v20, v26

    mul-float v23, v23, v12

    add-float v20, v23, v26

    .line 505
    sub-float v23, v22, v26

    mul-float v23, v23, v12

    add-float v22, v23, v26

    .line 507
    .end local v26    # "midy":F
    :cond_c9
    const/16 v23, 0x0

    cmpl-float v23, v7, v23

    if-eqz v23, :cond_131

    .line 508
    move/from16 v32, v2

    move/from16 v23, v3

    .end local v2    # "v_x":F
    .end local v3    # "v_y":F
    .local v23, "v_y":F
    .local v32, "v_x":F
    float-to-double v2, v7

    invoke-static {v2, v3}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide v2

    invoke-static {v2, v3}, Ljava/lang/Math;->sin(D)D

    move-result-wide v2

    double-to-float v2, v2

    .line 509
    .local v2, "sin":F
    move/from16 v33, v4

    .end local v4    # "v_width":F
    .local v33, "v_width":F
    float-to-double v3, v7

    invoke-static {v3, v4}, Ljava/lang/Math;->toRadians(D)D

    move-result-wide v3

    invoke-static {v3, v4}, Ljava/lang/Math;->cos(D)D

    move-result-wide v3

    double-to-float v3, v3

    .line 510
    .local v3, "cos":F
    move/from16 v26, v2

    move/from16 v27, v3

    move/from16 v28, v24

    move/from16 v29, v25

    move/from16 v30, v0

    move/from16 v31, v1

    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->xRotate(FFFFFF)F

    move-result v4

    .line 511
    .local v4, "tx1":F
    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->yRotate(FFFFFF)F

    move-result v34

    .line 512
    .local v34, "ty1":F
    move/from16 v30, v8

    move/from16 v31, v9

    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->xRotate(FFFFFF)F

    move-result v35

    .line 513
    .local v35, "tx2":F
    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->yRotate(FFFFFF)F

    move-result v36

    .line 514
    .local v36, "ty2":F
    move/from16 v30, v19

    move/from16 v31, v20

    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->xRotate(FFFFFF)F

    move-result v37

    .line 515
    .local v37, "tx3":F
    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->yRotate(FFFFFF)F

    move-result v38

    .line 516
    .local v38, "ty3":F
    move/from16 v30, v21

    move/from16 v31, v22

    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->xRotate(FFFFFF)F

    move-result v39

    .line 517
    .local v39, "tx4":F
    invoke-static/range {v26 .. v31}, Landroidx/constraintlayout/motion/widget/MotionPaths;->yRotate(FFFFFF)F

    move-result v26

    .line 518
    .local v26, "ty4":F
    move v0, v4

    .line 519
    move/from16 v1, v34

    .line 520
    move/from16 v8, v35

    .line 521
    move/from16 v9, v36

    .line 522
    move/from16 v19, v37

    .line 523
    move/from16 v20, v38

    .line 524
    move/from16 v21, v39

    .line 525
    move/from16 v22, v26

    goto :goto_137

    .line 507
    .end local v23    # "v_y":F
    .end local v26    # "ty4":F
    .end local v32    # "v_x":F
    .end local v33    # "v_width":F
    .end local v34    # "ty1":F
    .end local v35    # "tx2":F
    .end local v36    # "ty2":F
    .end local v37    # "tx3":F
    .end local v38    # "ty3":F
    .end local v39    # "tx4":F
    .local v2, "v_x":F
    .local v3, "v_y":F
    .local v4, "v_width":F
    :cond_131
    move/from16 v32, v2

    move/from16 v23, v3

    move/from16 v33, v4

    .line 528
    .end local v2    # "v_x":F
    .end local v3    # "v_y":F
    .end local v4    # "v_width":F
    .restart local v23    # "v_y":F
    .restart local v32    # "v_x":F
    .restart local v33    # "v_width":F
    :goto_137
    add-float/2addr v0, v15

    .line 529
    add-float v1, v1, v16

    .line 530
    add-float/2addr v8, v15

    .line 531
    add-float v9, v9, v16

    .line 532
    add-float v19, v19, v15

    .line 533
    add-float v20, v20, v16

    .line 534
    add-float v21, v21, v15

    .line 535
    add-float v22, v22, v16

    .line 537
    add-int/lit8 v2, p4, 0x1

    .end local p4    # "offset":I
    .local v2, "offset":I
    aput v0, p3, p4

    .line 538
    add-int/lit8 v3, v2, 0x1

    .end local v2    # "offset":I
    .local v3, "offset":I
    aput v1, p3, v2

    .line 539
    add-int/lit8 v2, v3, 0x1

    .end local v3    # "offset":I
    .restart local v2    # "offset":I
    aput v8, p3, v3

    .line 540
    add-int/lit8 v3, v2, 0x1

    .end local v2    # "offset":I
    .restart local v3    # "offset":I
    aput v9, p3, v2

    .line 541
    add-int/lit8 v2, v3, 0x1

    .end local v3    # "offset":I
    .restart local v2    # "offset":I
    aput v19, p3, v3

    .line 542
    add-int/lit8 v3, v2, 0x1

    .end local v2    # "offset":I
    .restart local v3    # "offset":I
    aput v20, p3, v2

    .line 543
    add-int/lit8 v2, v3, 0x1

    .end local v3    # "offset":I
    .restart local v2    # "offset":I
    aput v21, p3, v3

    .line 544
    add-int/lit8 v3, v2, 0x1

    .end local v2    # "offset":I
    .restart local v3    # "offset":I
    aput v22, p3, v2

    .line 545
    return-void
.end method

.method hasCustomData(Ljava/lang/String;)Z
    .registers 3
    .param p1, "name"    # Ljava/lang/String;

    .line 644
    iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;

    invoke-virtual {v0, p1}, Ljava/util/LinkedHashMap;->containsKey(Ljava/lang/Object;)Z

    move-result v0

    return v0
.end method

.method initCartesian(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
    .registers 26
    .param p1, "c"    # Landroidx/constraintlayout/motion/widget/KeyPosition;
    .param p2, "startTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;
    .param p3, "endTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;

    .line 80
    move-object/from16 v0, p1

    move-object/from16 v1, p2

    move-object/from16 v2, p3

    iget v3, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I

    int-to-float v3, v3

    const/high16 v4, 0x42c80000    # 100.0f

    div-float/2addr v3, v4

    .line 81
    .local v3, "position":F
    move-object/from16 v4, p0

    .line 82
    .local v4, "point":Landroidx/constraintlayout/motion/widget/MotionPaths;
    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F

    .line 84
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I

    move-object/from16 v6, p0

    iput v5, v6, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I

    .line 85
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F

    invoke-static {v5}, Ljava/lang/Float;->isNaN(F)Z

    move-result v5

    if-eqz v5, :cond_20

    move v5, v3

    goto :goto_22

    :cond_20
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F

    .line 86
    .local v5, "scaleWidth":F
    :goto_22
    iget v7, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F

    invoke-static {v7}, Ljava/lang/Float;->isNaN(F)Z

    move-result v7

    if-eqz v7, :cond_2c

    move v7, v3

    goto :goto_2e

    :cond_2c
    iget v7, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F

    .line 87
    .local v7, "scaleHeight":F
    :goto_2e
    iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    iget v9, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    sub-float v10, v8, v9

    .line 88
    .local v10, "scaleX":F
    iget v11, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    iget v12, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    sub-float v13, v11, v12

    .line 90
    .local v13, "scaleY":F
    iget v14, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F

    iput v14, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    .line 92
    move v14, v3

    .line 94
    .local v14, "path":F
    iget v15, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    const/high16 v16, 0x40000000    # 2.0f

    div-float v17, v9, v16

    add-float v17, v15, v17

    .line 95
    .local v17, "startCenterX":F
    move/from16 v18, v3

    .end local v3    # "position":F
    .local v18, "position":F
    iget v3, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    div-float v19, v12, v16

    add-float v19, v3, v19

    .line 96
    .local v19, "startCenterY":F
    iget v6, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    div-float v8, v8, v16

    add-float/2addr v6, v8

    .line 97
    .local v6, "endCenterX":F
    iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    div-float v11, v11, v16

    add-float/2addr v8, v11

    .line 98
    .local v8, "endCenterY":F
    sub-float v11, v6, v17

    .line 99
    .local v11, "pathVectorX":F
    sub-float v20, v8, v19

    .line 100
    .local v20, "pathVectorY":F
    mul-float v21, v11, v14

    add-float v15, v15, v21

    mul-float v21, v10, v5

    div-float v21, v21, v16

    sub-float v15, v15, v21

    float-to-int v15, v15

    int-to-float v15, v15

    iput v15, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 101
    mul-float v15, v20, v14

    add-float/2addr v3, v15

    mul-float v15, v13, v7

    div-float v15, v15, v16

    sub-float/2addr v3, v15

    float-to-int v3, v3

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 102
    mul-float v3, v10, v5

    add-float/2addr v9, v3

    float-to-int v3, v9

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 103
    mul-float v3, v13, v7

    add-float/2addr v12, v3

    float-to-int v3, v12

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 105
    iget v3, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F

    invoke-static {v3}, Ljava/lang/Float;->isNaN(F)Z

    move-result v3

    if-eqz v3, :cond_90

    move/from16 v3, v18

    goto :goto_92

    :cond_90
    iget v3, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F

    .line 106
    .local v3, "dxdx":F
    :goto_92
    iget v9, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F

    invoke-static {v9}, Ljava/lang/Float;->isNaN(F)Z

    move-result v9

    if-eqz v9, :cond_9c

    const/4 v9, 0x0

    goto :goto_9e

    :cond_9c
    iget v9, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F

    .line 107
    .local v9, "dydx":F
    :goto_9e
    iget v15, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F

    invoke-static {v15}, Ljava/lang/Float;->isNaN(F)Z

    move-result v15

    if-eqz v15, :cond_a9

    move/from16 v15, v18

    goto :goto_ab

    :cond_a9
    iget v15, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F

    .line 108
    .local v15, "dydy":F
    :goto_ab
    iget v12, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F

    invoke-static {v12}, Ljava/lang/Float;->isNaN(F)Z

    move-result v12

    if-eqz v12, :cond_b5

    const/4 v12, 0x0

    goto :goto_b7

    :cond_b5
    iget v12, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F

    .line 109
    .local v12, "dxdy":F
    :goto_b7
    const/4 v2, 0x2

    iput v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I

    .line 110
    iget v2, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    mul-float v21, v11, v3

    add-float v2, v2, v21

    mul-float v21, v20, v12

    add-float v2, v2, v21

    mul-float v21, v10, v5

    div-float v21, v21, v16

    sub-float v2, v2, v21

    float-to-int v2, v2

    int-to-float v2, v2

    iput v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 111
    iget v2, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    mul-float v21, v11, v9

    add-float v2, v2, v21

    mul-float v21, v20, v15

    add-float v2, v2, v21

    mul-float v21, v13, v7

    div-float v21, v21, v16

    sub-float v2, v2, v21

    float-to-int v2, v2

    int-to-float v2, v2

    iput v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 113
    iget-object v2, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;

    invoke-static {v2}, Landroidx/constraintlayout/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/motion/utils/Easing;

    move-result-object v2

    iput-object v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/motion/utils/Easing;

    .line 114
    iget v2, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I

    iput v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I

    .line 115
    return-void
.end method

.method initPath(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
    .registers 28
    .param p1, "c"    # Landroidx/constraintlayout/motion/widget/KeyPosition;
    .param p2, "startTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;
    .param p3, "endTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;

    .line 182
    move-object/from16 v0, p1

    move-object/from16 v1, p2

    move-object/from16 v2, p3

    iget v3, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I

    int-to-float v3, v3

    const/high16 v4, 0x42c80000    # 100.0f

    div-float/2addr v3, v4

    .line 183
    .local v3, "position":F
    move-object/from16 v4, p0

    .line 184
    .local v4, "point":Landroidx/constraintlayout/motion/widget/MotionPaths;
    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F

    .line 186
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I

    move-object/from16 v6, p0

    iput v5, v6, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I

    .line 187
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F

    invoke-static {v5}, Ljava/lang/Float;->isNaN(F)Z

    move-result v5

    if-eqz v5, :cond_20

    move v5, v3

    goto :goto_22

    :cond_20
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F

    .line 188
    .local v5, "scaleWidth":F
    :goto_22
    iget v7, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F

    invoke-static {v7}, Ljava/lang/Float;->isNaN(F)Z

    move-result v7

    if-eqz v7, :cond_2c

    move v7, v3

    goto :goto_2e

    :cond_2c
    iget v7, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F

    .line 190
    .local v7, "scaleHeight":F
    :goto_2e
    iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    iget v9, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    sub-float/2addr v8, v9

    .line 191
    .local v8, "scaleX":F
    iget v9, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    iget v10, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    sub-float/2addr v9, v10

    .line 193
    .local v9, "scaleY":F
    iget v10, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F

    iput v10, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    .line 195
    iget v10, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F

    invoke-static {v10}, Ljava/lang/Float;->isNaN(F)Z

    move-result v10

    if-eqz v10, :cond_46

    move v10, v3

    goto :goto_48

    :cond_46
    iget v10, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F

    .line 197
    .local v10, "path":F
    :goto_48
    iget v11, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    iget v12, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    const/high16 v13, 0x40000000    # 2.0f

    div-float v14, v12, v13

    add-float/2addr v14, v11

    .line 198
    .local v14, "startCenterX":F
    iget v15, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    move/from16 v16, v3

    .end local v3    # "position":F
    .local v16, "position":F
    iget v3, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    div-float v17, v3, v13

    add-float v17, v15, v17

    .line 199
    .local v17, "startCenterY":F
    iget v6, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    iget v1, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    div-float/2addr v1, v13

    add-float/2addr v6, v1

    .line 200
    .local v6, "endCenterX":F
    iget v1, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    iget v0, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    div-float/2addr v0, v13

    add-float/2addr v1, v0

    .line 201
    .local v1, "endCenterY":F
    sub-float v0, v6, v14

    .line 202
    .local v0, "pathVectorX":F
    sub-float v13, v1, v17

    .line 203
    .local v13, "pathVectorY":F
    mul-float v19, v0, v10

    add-float v11, v11, v19

    mul-float v19, v8, v5

    const/high16 v18, 0x40000000    # 2.0f

    div-float v19, v19, v18

    sub-float v11, v11, v19

    float-to-int v11, v11

    int-to-float v11, v11

    iput v11, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 204
    mul-float v11, v13, v10

    add-float/2addr v15, v11

    mul-float v11, v9, v7

    div-float v11, v11, v18

    sub-float/2addr v15, v11

    float-to-int v11, v15

    int-to-float v11, v11

    iput v11, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 205
    mul-float v11, v8, v5

    add-float/2addr v12, v11

    float-to-int v11, v12

    int-to-float v11, v11

    iput v11, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 206
    mul-float v11, v9, v7

    add-float/2addr v3, v11

    float-to-int v3, v3

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 207
    move-object/from16 v3, p1

    iget v11, v3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F

    invoke-static {v11}, Ljava/lang/Float;->isNaN(F)Z

    move-result v11

    if-eqz v11, :cond_a1

    const/4 v11, 0x0

    goto :goto_a3

    :cond_a1
    iget v11, v3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F

    .line 208
    .local v11, "perpendicular":F
    :goto_a3
    neg-float v12, v13

    .line 209
    .local v12, "perpendicularX":F
    move v15, v0

    .line 211
    .local v15, "perpendicularY":F
    mul-float v19, v12, v11

    .line 212
    .local v19, "normalX":F
    mul-float v20, v15, v11

    .line 213
    .local v20, "normalY":F
    move/from16 v21, v1

    .end local v1    # "endCenterY":F
    .local v21, "endCenterY":F
    const/4 v1, 0x1

    iput v1, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I

    .line 214
    move-object/from16 v1, p2

    iget v2, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    mul-float v22, v0, v10

    add-float v2, v2, v22

    mul-float v22, v8, v5

    const/high16 v18, 0x40000000    # 2.0f

    div-float v22, v22, v18

    sub-float v2, v2, v22

    float-to-int v2, v2

    int-to-float v2, v2

    iput v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 215
    move/from16 v22, v0

    .end local v0    # "pathVectorX":F
    .local v22, "pathVectorX":F
    iget v0, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    mul-float v23, v13, v10

    add-float v0, v0, v23

    mul-float v23, v9, v7

    div-float v23, v23, v18

    sub-float v0, v0, v23

    float-to-int v0, v0

    int-to-float v0, v0

    iput v0, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 216
    add-float v2, v2, v19

    iput v2, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 217
    add-float v0, v0, v20

    iput v0, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 219
    iget-object v0, v3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;

    invoke-static {v0}, Landroidx/constraintlayout/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/motion/utils/Easing;

    move-result-object v0

    iput-object v0, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/motion/utils/Easing;

    .line 220
    iget v0, v3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I

    iput v0, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I

    .line 221
    return-void
.end method

.method initScreen(IILandroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
    .registers 28
    .param p1, "parentWidth"    # I
    .param p2, "parentHeight"    # I
    .param p3, "c"    # Landroidx/constraintlayout/motion/widget/KeyPosition;
    .param p4, "startTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;
    .param p5, "endTimePoint"    # Landroidx/constraintlayout/motion/widget/MotionPaths;

    .line 140
    move-object/from16 v0, p3

    move-object/from16 v1, p4

    move-object/from16 v2, p5

    iget v3, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I

    int-to-float v3, v3

    const/high16 v4, 0x42c80000    # 100.0f

    div-float/2addr v3, v4

    .line 141
    .local v3, "position":F
    move-object/from16 v4, p0

    .line 142
    .local v4, "point":Landroidx/constraintlayout/motion/widget/MotionPaths;
    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F

    .line 144
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I

    move-object/from16 v6, p0

    iput v5, v6, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I

    .line 145
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F

    invoke-static {v5}, Ljava/lang/Float;->isNaN(F)Z

    move-result v5

    if-eqz v5, :cond_20

    move v5, v3

    goto :goto_22

    :cond_20
    iget v5, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F

    .line 146
    .local v5, "scaleWidth":F
    :goto_22
    iget v7, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F

    invoke-static {v7}, Ljava/lang/Float;->isNaN(F)Z

    move-result v7

    if-eqz v7, :cond_2c

    move v7, v3

    goto :goto_2e

    :cond_2c
    iget v7, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F

    .line 148
    .local v7, "scaleHeight":F
    :goto_2e
    iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    iget v9, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    sub-float v10, v8, v9

    .line 149
    .local v10, "scaleX":F
    iget v11, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    iget v12, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    sub-float v13, v11, v12

    .line 151
    .local v13, "scaleY":F
    iget v14, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F

    iput v14, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F

    .line 153
    move v14, v3

    .line 155
    .local v14, "path":F
    iget v15, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    const/high16 v16, 0x40000000    # 2.0f

    div-float v17, v9, v16

    add-float v17, v15, v17

    .line 156
    .local v17, "startCenterX":F
    move/from16 v18, v3

    .end local v3    # "position":F
    .local v18, "position":F
    iget v3, v1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    div-float v19, v12, v16

    add-float v19, v3, v19

    .line 157
    .local v19, "startCenterY":F
    iget v1, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    div-float v8, v8, v16

    add-float/2addr v1, v8

    .line 158
    .local v1, "endCenterX":F
    iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    div-float v11, v11, v16

    add-float/2addr v8, v11

    .line 159
    .local v8, "endCenterY":F
    sub-float v11, v1, v17

    .line 160
    .local v11, "pathVectorX":F
    sub-float v20, v8, v19

    .line 161
    .local v20, "pathVectorY":F
    mul-float v21, v11, v14

    add-float v15, v15, v21

    mul-float v21, v10, v5

    div-float v21, v21, v16

    sub-float v15, v15, v21

    float-to-int v15, v15

    int-to-float v15, v15

    iput v15, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 162
    mul-float v15, v20, v14

    add-float/2addr v3, v15

    mul-float v15, v13, v7

    div-float v15, v15, v16

    sub-float/2addr v3, v15

    float-to-int v3, v3

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 163
    mul-float v3, v10, v5

    add-float/2addr v9, v3

    float-to-int v3, v9

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 164
    mul-float v3, v13, v7

    add-float/2addr v12, v3

    float-to-int v3, v12

    int-to-float v3, v3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 166
    const/4 v3, 0x3

    iput v3, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I

    .line 167
    iget v3, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F

    invoke-static {v3}, Ljava/lang/Float;->isNaN(F)Z

    move-result v3

    if-nez v3, :cond_a1

    .line 168
    move/from16 v3, p1

    int-to-float v9, v3

    iget v12, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    sub-float/2addr v9, v12

    float-to-int v3, v9

    .line 169
    .end local p1    # "parentWidth":I
    .local v3, "parentWidth":I
    iget v9, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F

    int-to-float v12, v3

    mul-float v9, v9, v12

    float-to-int v9, v9

    int-to-float v9, v9

    iput v9, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    goto :goto_a3

    .line 167
    .end local v3    # "parentWidth":I
    .restart local p1    # "parentWidth":I
    :cond_a1
    move/from16 v3, p1

    .line 171
    .end local p1    # "parentWidth":I
    .restart local v3    # "parentWidth":I
    :goto_a3
    iget v9, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F

    invoke-static {v9}, Ljava/lang/Float;->isNaN(F)Z

    move-result v9

    if-nez v9, :cond_bc

    .line 172
    move/from16 v9, p2

    int-to-float v12, v9

    iget v15, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    sub-float/2addr v12, v15

    float-to-int v9, v12

    .line 173
    .end local p2    # "parentHeight":I
    .local v9, "parentHeight":I
    iget v12, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F

    int-to-float v15, v9

    mul-float v12, v12, v15

    float-to-int v12, v12

    int-to-float v12, v12

    iput v12, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    goto :goto_be

    .line 171
    .end local v9    # "parentHeight":I
    .restart local p2    # "parentHeight":I
    :cond_bc
    move/from16 v9, p2

    .line 176
    .end local p2    # "parentHeight":I
    .restart local v9    # "parentHeight":I
    :goto_be
    iget-object v12, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;

    invoke-static {v12}, Landroidx/constraintlayout/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/motion/utils/Easing;

    move-result-object v12

    iput-object v12, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/motion/utils/Easing;

    .line 177
    iget v12, v0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I

    iput v12, v4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I

    .line 178
    return-void
.end method

.method setBounds(FFFF)V
    .registers 5
    .param p1, "x"    # F
    .param p2, "y"    # F
    .param p3, "w"    # F
    .param p4, "h"    # F

    .line 668
    iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 669
    iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 670
    iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 671
    iput p4, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 672
    return-void
.end method

.method setDpDt(FF[F[I[D[D)V
    .registers 29
    .param p1, "locationX"    # F
    .param p2, "locationY"    # F
    .param p3, "mAnchorDpDt"    # [F
    .param p4, "toUse"    # [I
    .param p5, "deltaData"    # [D
    .param p6, "data"    # [D

    .line 559
    move-object/from16 v0, p4

    const/4 v1, 0x0

    .line 560
    .local v1, "d_x":F
    const/4 v2, 0x0

    .line 561
    .local v2, "d_y":F
    const/4 v3, 0x0

    .line 562
    .local v3, "d_width":F
    const/4 v4, 0x0

    .line 564
    .local v4, "d_height":F
    const/4 v5, 0x0

    .line 565
    .local v5, "deltaScaleX":F
    const/4 v6, 0x0

    .line 567
    .local v6, "deltaScaleY":F
    const/high16 v7, 0x7fc00000    # Float.NaN

    .line 568
    .local v7, "mPathRotate":F
    const/4 v8, 0x0

    .line 569
    .local v8, "deltaTranslationX":F
    const/4 v9, 0x0

    .line 571
    .local v9, "deltaTranslationY":F
    const-string v10, " dd = "

    .line 572
    .local v10, "mod":Ljava/lang/String;
    const/4 v11, 0x0

    .local v11, "i":I
    :goto_f
    array-length v12, v0

    const/4 v13, 0x1

    if-ge v11, v12, :cond_32

    .line 573
    aget-wide v14, p5, v11

    double-to-float v12, v14

    .line 574
    .local v12, "deltaV":F
    aget-wide v14, p6, v11

    double-to-float v14, v14

    .line 578
    .local v14, "value":F
    aget v15, v0, v11

    if-eq v15, v13, :cond_2d

    const/4 v13, 0x2

    if-eq v15, v13, :cond_2b

    const/4 v13, 0x3

    if-eq v15, v13, :cond_29

    const/4 v13, 0x4

    if-eq v15, v13, :cond_27

    goto :goto_2f

    .line 591
    :cond_27
    move v4, v12

    goto :goto_2f

    .line 588
    :cond_29
    move v3, v12

    .line 589
    goto :goto_2f

    .line 585
    :cond_2b
    move v2, v12

    .line 586
    goto :goto_2f

    .line 582
    :cond_2d
    move v1, v12

    .line 583
    nop

    .line 572
    .end local v12    # "deltaV":F
    .end local v14    # "value":F
    :goto_2f
    add-int/lit8 v11, v11, 0x1

    goto :goto_f

    .line 601
    .end local v11    # "i":I
    :cond_32
    mul-float v11, v5, v3

    const/high16 v12, 0x40000000    # 2.0f

    div-float/2addr v11, v12

    sub-float v11, v1, v11

    .line 602
    .local v11, "deltaX":F
    mul-float v14, v6, v4

    div-float/2addr v14, v12

    sub-float v12, v2, v14

    .line 603
    .local v12, "deltaY":F
    const/high16 v14, 0x3f800000    # 1.0f

    add-float v15, v5, v14

    mul-float v15, v15, v3

    .line 604
    .local v15, "deltaWidth":F
    add-float v16, v6, v14

    mul-float v16, v16, v4

    .line 605
    .local v16, "deltaHeight":F
    add-float v17, v11, v15

    .line 606
    .local v17, "deltaRight":F
    add-float v18, v12, v16

    .line 629
    .local v18, "deltaBottom":F
    const/16 v19, 0x0

    sub-float v20, v14, p1

    mul-float v20, v20, v11

    mul-float v21, v17, p1

    add-float v20, v20, v21

    add-float v20, v20, v8

    aput v20, p3, v19

    .line 630
    sub-float v14, v14, p2

    mul-float v14, v14, v12

    mul-float v19, v18, p2

    add-float v14, v14, v19

    add-float/2addr v14, v9

    aput v14, p3, v13

    .line 631
    return-void
.end method

.method setView(Landroid/view/View;[I[D[D[D)V
    .registers 31
    .param p1, "view"    # Landroid/view/View;
    .param p2, "toUse"    # [I
    .param p3, "data"    # [D
    .param p4, "slope"    # [D
    .param p5, "cycle"    # [D

    .line 313
    move-object/from16 v0, p0

    move-object/from16 v1, p1

    move-object/from16 v2, p2

    iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F

    .line 314
    .local v3, "v_x":F
    iget v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F

    .line 315
    .local v4, "v_y":F
    iget v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F

    .line 316
    .local v5, "v_width":F
    iget v6, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F

    .line 317
    .local v6, "v_height":F
    const/4 v7, 0x0

    .line 318
    .local v7, "dv_x":F
    const/4 v8, 0x0

    .line 319
    .local v8, "dv_y":F
    const/4 v9, 0x0

    .line 320
    .local v9, "dv_width":F
    const/4 v10, 0x0

    .line 321
    .local v10, "dv_height":F
    const/4 v11, 0x0

    .line 322
    .local v11, "delta_path":F
    const/high16 v12, 0x7fc00000    # Float.NaN

    .line 323
    .local v12, "view_rotate":F
    const/high16 v13, 0x7fc00000    # Float.NaN

    .line 329
    .local v13, "path_rotate":F
    array-length v14, v2

    const/4 v15, 0x1

    if-eqz v14, :cond_34

    iget-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    array-length v14, v14

    move/from16 v16, v3

    .end local v3    # "v_x":F
    .local v16, "v_x":F
    array-length v3, v2

    sub-int/2addr v3, v15

    aget v3, v2, v3

    if-gt v14, v3, :cond_36

    .line 330
    array-length v3, v2

    sub-int/2addr v3, v15

    aget v3, v2, v3

    add-int/2addr v3, v15

    .line 331
    .local v3, "scratch_data_length":I
    new-array v14, v3, [D

    iput-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    .line 332
    new-array v14, v3, [D

    iput-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D

    goto :goto_36

    .line 329
    .end local v16    # "v_x":F
    .local v3, "v_x":F
    :cond_34
    move/from16 v16, v3

    .line 334
    .end local v3    # "v_x":F
    .restart local v16    # "v_x":F
    :cond_36
    :goto_36
    iget-object v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    move v14, v4

    move/from16 v17, v5

    .end local v4    # "v_y":F
    .end local v5    # "v_width":F
    .local v14, "v_y":F
    .local v17, "v_width":F
    const-wide/high16 v4, 0x7ff8000000000000L    # Double.NaN

    invoke-static {v3, v4, v5}, Ljava/util/Arrays;->fill([DD)V

    .line 335
    const/4 v3, 0x0

    .local v3, "i":I
    :goto_41
    array-length v4, v2

    if-ge v3, v4, :cond_57

    .line 336
    iget-object v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    aget v5, v2, v3

    aget-wide v18, p3, v3

    aput-wide v18, v4, v5

    .line 337
    iget-object v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D

    aget v5, v2, v3

    aget-wide v18, p4, v3

    aput-wide v18, v4, v5

    .line 335
    add-int/lit8 v3, v3, 0x1

    goto :goto_41

    .line 340
    .end local v3    # "i":I
    :cond_57
    const/4 v3, 0x0

    move v4, v14

    move/from16 v5, v17

    .end local v14    # "v_y":F
    .end local v17    # "v_width":F
    .restart local v3    # "i":I
    .restart local v4    # "v_y":F
    .restart local v5    # "v_width":F
    :goto_5b
    iget-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    array-length v15, v14

    if-ge v3, v15, :cond_d7

    .line 341
    aget-wide v18, v14, v3

    invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z

    move-result v14

    const-wide/16 v18, 0x0

    if-eqz v14, :cond_7c

    if-eqz p5, :cond_77

    aget-wide v14, p5, v3

    cmpl-double v20, v14, v18

    if-nez v20, :cond_7c

    .line 342
    move v15, v5

    move/from16 v18, v6

    const/4 v6, 0x1

    goto :goto_b3

    .line 341
    :cond_77
    move v15, v5

    move/from16 v18, v6

    const/4 v6, 0x1

    goto :goto_b3

    .line 344
    :cond_7c
    if-eqz p5, :cond_80

    aget-wide v18, p5, v3

    :cond_80
    move-wide/from16 v14, v18

    .line 345
    .local v14, "deltaCycle":D
    iget-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    aget-wide v18, v2, v3

    invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z

    move-result v2

    if-eqz v2, :cond_8f

    move-wide/from16 v20, v14

    goto :goto_99

    :cond_8f
    iget-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D

    aget-wide v18, v2, v3

    add-double v18, v18, v14

    move-wide/from16 v20, v14

    move-wide/from16 v14, v18

    .end local v14    # "deltaCycle":D
    .local v20, "deltaCycle":D
    :goto_99
    double-to-float v2, v14

    .line 346
    .local v2, "value":F
    iget-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D

    move v15, v5

    move/from16 v18, v6

    .end local v5    # "v_width":F
    .end local v6    # "v_height":F
    .local v15, "v_width":F
    .local v18, "v_height":F
    aget-wide v5, v14, v3

    double-to-float v5, v5

    .line 350
    .local v5, "dvalue":F
    if-eqz v3, :cond_cc

    const/4 v6, 0x1

    if-eq v3, v6, :cond_c6

    const/4 v14, 0x2

    if-eq v3, v14, :cond_c2

    const/4 v14, 0x3

    if-eq v3, v14, :cond_be

    const/4 v14, 0x4

    if-eq v3, v14, :cond_b8

    const/4 v14, 0x5

    if-eq v3, v14, :cond_b5

    .line 340
    .end local v2    # "value":F
    .end local v15    # "v_width":F
    .end local v18    # "v_height":F
    .end local v20    # "deltaCycle":D
    .local v5, "v_width":F
    .restart local v6    # "v_height":F
    :goto_b3
    move v5, v15

    .end local v5    # "v_width":F
    .end local v6    # "v_height":F
    .restart local v15    # "v_width":F
    .restart local v18    # "v_height":F
    goto :goto_cf

    .line 372
    .restart local v2    # "value":F
    .local v5, "dvalue":F
    .restart local v20    # "deltaCycle":D
    :cond_b5
    move v13, v2

    move v5, v15

    goto :goto_cf

    .line 368
    :cond_b8
    move v14, v2

    .line 369
    .end local v18    # "v_height":F
    .local v14, "v_height":F
    move v10, v5

    .line 370
    move/from16 v18, v14

    move v5, v15

    goto :goto_cf

    .line 364
    .end local v14    # "v_height":F
    .restart local v18    # "v_height":F
    :cond_be
    move v14, v2

    .line 365
    .end local v15    # "v_width":F
    .local v14, "v_width":F
    move v9, v5

    .line 366
    move v5, v14

    goto :goto_cf

    .line 360
    .end local v14    # "v_width":F
    .restart local v15    # "v_width":F
    :cond_c2
    move v4, v2

    .line 361
    move v8, v5

    .line 362
    move v5, v15

    goto :goto_cf

    .line 355
    :cond_c6
    move v14, v2

    .line 356
    .end local v16    # "v_x":F
    .local v14, "v_x":F
    move v7, v5

    .line 358
    move/from16 v16, v14

    move v5, v15

    goto :goto_cf

    .line 352
    .end local v14    # "v_x":F
    .restart local v16    # "v_x":F
    :cond_cc
    const/4 v6, 0x1

    move v11, v2

    .line 353
    move v5, v15

    .line 340
    .end local v2    # "value":F
    .end local v15    # "v_width":F
    .end local v20    # "deltaCycle":D
    .local v5, "v_width":F
    :goto_cf
    add-int/lit8 v3, v3, 0x1

    move-object/from16 v2, p2

    move/from16 v6, v18

    const/4 v15, 0x1

    goto :goto_5b

    .end local v18    # "v_height":F
    .restart local v6    # "v_height":F
    :cond_d7
    move v15, v5

    move/from16 v18, v6

    const/4 v6, 0x1

    .line 377
    .end local v3    # "i":I
    .end local v5    # "v_width":F
    .end local v6    # "v_height":F
    .restart local v15    # "v_width":F
    .restart local v18    # "v_height":F
    invoke-static {v13}, Ljava/lang/Float;->isNaN(F)Z

    move-result v2

    if-eqz v2, :cond_fe

    .line 378
    invoke-static {v12}, Ljava/lang/Float;->isNaN(F)Z

    move-result v2

    if-nez v2, :cond_f4

    .line 379
    invoke-virtual {v1, v12}, Landroid/view/View;->setRotation(F)V

    move v14, v7

    move/from16 v20, v8

    move/from16 v19, v9

    move/from16 v22, v10

    move/from16 v21, v11

    goto :goto_134

    .line 378
    :cond_f4
    move v14, v7

    move/from16 v20, v8

    move/from16 v19, v9

    move/from16 v22, v10

    move/from16 v21, v11

    goto :goto_134

    .line 382
    :cond_fe
    invoke-static {v12}, Ljava/lang/Float;->isNaN(F)Z

    move-result v2

    if-eqz v2, :cond_106

    const/4 v2, 0x0

    goto :goto_107

    :cond_106
    move v2, v12

    .line 383
    .local v2, "rot":F
    :goto_107
    const/high16 v3, 0x40000000    # 2.0f

    div-float v5, v9, v3

    add-float/2addr v5, v7

    .line 384
    .local v5, "dx":F
    div-float v3, v10, v3

    add-float/2addr v3, v8

    .line 391
    .local v3, "dy":F
    move v14, v7

    .end local v7    # "dv_x":F
    .local v14, "dv_x":F
    float-to-double v6, v2

    move/from16 v20, v8

    move/from16 v19, v9

    .end local v8    # "dv_y":F
    .end local v9    # "dv_width":F
    .local v19, "dv_width":F
    .local v20, "dv_y":F
    float-to-double v8, v13

    move/from16 v22, v10

    move/from16 v21, v11

    .end local v10    # "dv_height":F
    .end local v11    # "delta_path":F
    .local v21, "delta_path":F
    .local v22, "dv_height":F
    float-to-double v10, v3

    move/from16 v23, v2

    move/from16 v24, v3

    .end local v2    # "rot":F
    .end local v3    # "dy":F
    .local v23, "rot":F
    .local v24, "dy":F
    float-to-double v2, v5

    invoke-static {v10, v11, v2, v3}, Ljava/lang/Math;->atan2(DD)D

    move-result-wide v2

    invoke-static {v2, v3}, Ljava/lang/Math;->toDegrees(D)D

    move-result-wide v2

    invoke-static {v8, v9}, Ljava/lang/Double;->isNaN(D)Z

    add-double/2addr v8, v2

    invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z

    add-double/2addr v6, v8

    double-to-float v2, v6

    .line 392
    .end local v23    # "rot":F
    .restart local v2    # "rot":F
    invoke-virtual {v1, v2}, Landroid/view/View;->setRotation(F)V

    .line 399
    .end local v2    # "rot":F
    .end local v5    # "dx":F
    .end local v24    # "dy":F
    :goto_134
    const/high16 v2, 0x3f000000    # 0.5f

    add-float v3, v16, v2

    float-to-int v3, v3

    .line 400
    .local v3, "l":I
    add-float v5, v4, v2

    float-to-int v5, v5

    .line 401
    .local v5, "t":I
    add-float v6, v16, v2

    add-float/2addr v6, v15

    float-to-int v6, v6

    .line 402
    .local v6, "r":I
    add-float/2addr v2, v4

    add-float v2, v2, v18

    float-to-int v2, v2

    .line 403
    .local v2, "b":I
    sub-int v7, v6, v3

    .line 404
    .local v7, "i_width":I
    sub-int v8, v2, v5

    .line 414
    .local v8, "i_height":I
    invoke-virtual/range {p1 .. p1}, Landroid/view/View;->getMeasuredWidth()I

    move-result v9

    if-ne v7, v9, :cond_159

    invoke-virtual/range {p1 .. p1}, Landroid/view/View;->getMeasuredHeight()I

    move-result v9

    if-eq v8, v9, :cond_155

    goto :goto_159

    :cond_155
    const/4 v9, 0x0

    const/16 v17, 0x0

    goto :goto_15b

    :cond_159
    :goto_159
    const/16 v17, 0x1

    :goto_15b
    move/from16 v9, v17

    .line 416
    .local v9, "remeasure":Z
    if-eqz v9, :cond_16c

    .line 417
    const/high16 v10, 0x40000000    # 2.0f

    invoke-static {v7, v10}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v11

    .line 418
    .local v11, "widthMeasureSpec":I
    invoke-static {v8, v10}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I

    move-result v10

    .line 420
    .local v10, "heightMeasureSpec":I
    invoke-virtual {v1, v11, v10}, Landroid/view/View;->measure(II)V

    .line 423
    .end local v10    # "heightMeasureSpec":I
    .end local v11    # "widthMeasureSpec":I
    :cond_16c
    invoke-virtual {v1, v3, v5, v6, v2}, Landroid/view/View;->layout(IIII)V

    .line 429
    return-void
.end method