MotionPaths.smali
.class Landroidx/constraintlayout/motion/widget/MotionPaths;
.super Ljava/lang/Object;
.source "SourceFile"
# 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 = 0x0
.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 = 0x2
.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 mAnimateCircleAngleTo:I
.field mAnimateRelativeTo:I
.field mDrawPath:I
.field mKeyFrameEasing:Landroidx/constraintlayout/core/motion/utils/Easing;
.field mMode:I
.field mPathMotionArc:I
.field mPathRotate:F
.field mProgress:F
.field mRelativeAngle:F
.field mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
.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
const-string v0, "position"
const-string v1, "x"
const-string v2, "y"
const-string v3, "width"
const-string v4, "height"
const-string v5, "pathRotate"
.line 54
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 4
.line 74
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 56
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
const/high16 v1, 0x7fc00000 # Float.NaN
.line 63
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F
.line 64
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F
.line 65
sget v2, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I
iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
.line 66
sget v2, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I
iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
.line 67
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeAngle:F
const/4 v1, 0x0
.line 68
iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
.line 70
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 71
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I
const/16 v0, 0x12
new-array v1, v0, [D
.line 488
iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
new-array v0, v0, [D
.line 489
iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D
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 9
.line 130
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 56
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
const/high16 v1, 0x7fc00000 # Float.NaN
.line 63
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F
.line 64
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F
.line 65
sget v2, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I
iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
.line 66
sget v2, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I
iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
.line 67
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeAngle:F
const/4 v1, 0x0
.line 68
iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
.line 70
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 71
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I
const/16 v0, 0x12
new-array v1, v0, [D
.line 488
iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
new-array v0, v0, [D
.line 489
iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D
.line 131
iget v0, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
sget v1, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I
if-eq v0, v1, :cond_36
.line 132
invoke-virtual/range {p0 .. p5}, Landroidx/constraintlayout/motion/widget/MotionPaths;->initPolar(IILandroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
return-void
.line 135
:cond_36
iget v0, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I
const/4 v1, 0x1
if-eq v0, v1, :cond_46
const/4 v1, 0x2
if-eq v0, v1, :cond_42
.line 144
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
return-void
.line 137
:cond_42
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
return-void
.line 140
:cond_46
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
return-void
.end method
.method private diff(FF)Z
.registers 6
.line 298
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-nez v0, :cond_1e
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result v0
if-eqz v0, :cond_f
goto :goto_1e
:cond_f
sub-float/2addr p1, p2
.line 301
invoke-static {p1}, Ljava/lang/Math;->abs(F)F
move-result p1
const p2, 0x358637bd # 1.0E-6f
cmpl-float p1, p1, p2
if-lez p1, :cond_1c
goto :goto_1d
:cond_1c
const/4 v1, 0x0
:goto_1d
return v1
.line 299
:cond_1e
:goto_1e
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
move-result p1
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eq p1, p2, :cond_29
goto :goto_2a
:cond_29
const/4 v1, 0x0
:goto_2a
return v1
.end method
.method private static final xRotate(FFFFFF)F
.registers 6
sub-float/2addr p4, p2
sub-float/2addr p5, p3
mul-float p4, p4, p1
mul-float p5, p5, p0
sub-float/2addr p4, p5
add-float/2addr p4, p2
return p4
.end method
.method private static final yRotate(FFFFFF)F
.registers 6
sub-float/2addr p4, p2
sub-float/2addr p5, p3
mul-float p4, p4, p0
mul-float p5, p5, p1
add-float/2addr p4, p5
add-float/2addr p4, p3
return p4
.end method
# virtual methods
.method public applyParameters(Landroidx/constraintlayout/widget/ConstraintSet$Constraint;)V
.registers 6
.line 916
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;
iget-object v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mTransitionEasing:Ljava/lang/String;
invoke-static {v0}, Landroidx/constraintlayout/core/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/core/motion/utils/Easing;
move-result-object v0
iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/core/motion/utils/Easing;
.line 917
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mPathMotionArc:I
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
.line 918
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mAnimateRelativeTo:I
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
.line 919
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mPathRotate:F
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F
.line 920
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mDrawPath:I
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
.line 921
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->motion:Landroidx/constraintlayout/widget/ConstraintSet$Motion;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Motion;->mAnimateCircleAngleTo:I
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateCircleAngleTo:I
.line 922
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->propertySet:Landroidx/constraintlayout/widget/ConstraintSet$PropertySet;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$PropertySet;->mProgress:F
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F
.line 923
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->layout:Landroidx/constraintlayout/widget/ConstraintSet$Layout;
iget v0, v0, Landroidx/constraintlayout/widget/ConstraintSet$Layout;->circleAngle:F
iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeAngle:F
.line 924
iget-object v0, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->mCustomConstraints:Ljava/util/HashMap;
invoke-virtual {v0}, Ljava/util/HashMap;->keySet()Ljava/util/Set;
move-result-object v0
.line 925
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_3e
:goto_3e
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_60
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/String;
.line 926
iget-object v2, p1, Landroidx/constraintlayout/widget/ConstraintSet$Constraint;->mCustomConstraints:Ljava/util/HashMap;
invoke-virtual {v2, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/constraintlayout/widget/ConstraintAttribute;
if-eqz v2, :cond_3e
.line 927
invoke-virtual {v2}, Landroidx/constraintlayout/widget/ConstraintAttribute;->isContinuous()Z
move-result v3
if-eqz v3, :cond_3e
.line 928
iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->attributes:Ljava/util/LinkedHashMap;
invoke-virtual {v3, v1, v2}, Ljava/util/LinkedHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_3e
:cond_60
return-void
.end method
.method public compareTo(Landroidx/constraintlayout/motion/widget/MotionPaths;)I
.registers 3
.line 911
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
iget p1, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
invoke-static {v0, p1}, Ljava/lang/Float;->compare(FF)I
move-result p1
return p1
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.registers 2
.line 39
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 public configureRelativeTo(Landroidx/constraintlayout/motion/widget/MotionController;)V
.registers 4
.line 934
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mProgress:F
float-to-double v0, v0
invoke-virtual {p1, v0, v1}, Landroidx/constraintlayout/motion/widget/MotionController;->getPos(D)[D
return-void
.end method
.method different(Landroidx/constraintlayout/motion/widget/MotionPaths;[Z[Ljava/lang/String;Z)V
.registers 10
.line 306
iget p3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v0, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
invoke-direct {p0, p3, v0}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z
move-result p3
.line 307
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget v1, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
invoke-direct {p0, v0, v1}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z
move-result v0
const/4 v1, 0x0
.line 308
aget-boolean v2, p2, v1
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, v1
const/4 v1, 0x1
.line 309
aget-boolean v2, p2, v1
or-int/2addr p3, v0
or-int/2addr p3, p4
or-int p4, v2, p3
aput-boolean p4, p2, v1
const/4 p4, 0x2
.line 310
aget-boolean v0, p2, p4
or-int/2addr p3, v0
aput-boolean p3, p2, p4
const/4 p3, 0x3
.line 311
aget-boolean p4, p2, p3
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
iget v1, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
invoke-direct {p0, v0, v1}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z
move-result v0
or-int/2addr p4, v0
aput-boolean p4, p2, p3
const/4 p3, 0x4
.line 312
aget-boolean p4, p2, p3
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
iget p1, p1, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
invoke-direct {p0, v0, p1}, Landroidx/constraintlayout/motion/widget/MotionPaths;->diff(FF)Z
move-result p1
or-int/2addr p1, p4
aput-boolean p1, p2, p3
return-void
.end method
.method fillStandard([D[I)V
.registers 10
const/4 v0, 0x6
new-array v1, v0, [F
.line 863
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
const/4 v3, 0x0
aput v2, v1, v3
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
const/4 v4, 0x1
aput v2, v1, v4
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
const/4 v4, 0x2
aput v2, v1, v4
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
const/4 v4, 0x3
aput v2, v1, v4
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v4, 0x4
aput v2, v1, v4
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathRotate:F
const/4 v4, 0x5
aput v2, v1, v4
const/4 v2, 0x0
.line 865
:goto_22
array-length v4, p2
if-ge v3, v4, :cond_36
.line 866
aget v4, p2, v3
if-ge v4, v0, :cond_33
add-int/lit8 v4, v2, 0x1
.line 867
aget v5, p2, v3
aget v5, v1, v5
float-to-double v5, v5
aput-wide v5, p1, v2
move v2, v4
:cond_33
add-int/lit8 v3, v3, 0x1
goto :goto_22
:cond_36
return-void
.end method
.method getBounds([I[D[FI)V
.registers 11
.line 463
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 464
iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v2, 0x0
.line 466
:goto_5
array-length v3, p1
if-ge v2, v3, :cond_1a
.line 467
aget-wide v3, p2, v2
double-to-float v3, v3
.line 469
aget v4, p1, v2
const/4 v5, 0x3
if-eq v4, v5, :cond_16
const/4 v5, 0x4
if-eq v4, v5, :cond_14
goto :goto_17
:cond_14
move v1, v3
goto :goto_17
:cond_16
move v0, v3
:goto_17
add-int/lit8 v2, v2, 0x1
goto :goto_5
.line 484
:cond_1a
aput v0, p3, p4
add-int/lit8 p4, p4, 0x1
.line 485
aput v1, p3, p4
return-void
.end method
.method getCenter(D[I[D[FI)V
.registers 22
move-object v0, p0
move-object/from16 v1, p3
.line 317
iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 318
iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 319
iget v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 320
iget v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v6, 0x0
const/4 v7, 0x0
.line 322
:goto_d
array-length v8, v1
const/4 v9, 0x2
const/4 v10, 0x1
if-ge v7, v8, :cond_2c
.line 323
aget-wide v11, p4, v7
double-to-float v8, v11
.line 325
aget v11, v1, v7
if-eq v11, v10, :cond_28
if-eq v11, v9, :cond_26
const/4 v9, 0x3
if-eq v11, v9, :cond_24
const/4 v9, 0x4
if-eq v11, v9, :cond_22
goto :goto_29
:cond_22
move v5, v8
goto :goto_29
:cond_24
move v4, v8
goto :goto_29
:cond_26
move v3, v8
goto :goto_29
:cond_28
move v2, v8
:goto_29
add-int/lit8 v7, v7, 0x1
goto :goto_d
.line 340
:cond_2c
iget-object v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
const/high16 v7, 0x40000000 # 2.0f
if-eqz v1, :cond_5d
new-array v8, v9, [F
new-array v9, v9, [F
move-wide/from16 v11, p1
.line 344
invoke-virtual {v1, v11, v12, v8, v9}, Landroidx/constraintlayout/motion/widget/MotionController;->getCenter(D[F[F)V
.line 345
aget v1, v8, v6
.line 346
aget v6, v8, v10
float-to-double v8, v1
float-to-double v1, v2
float-to-double v11, v3
.line 350
invoke-static {v11, v12}, Ljava/lang/Math;->sin(D)D
move-result-wide v13
mul-double v13, v13, v1
add-double/2addr v8, v13
div-float v3, v4, v7
float-to-double v13, v3
sub-double/2addr v8, v13
double-to-float v3, v8
float-to-double v8, v6
.line 351
invoke-static {v11, v12}, Ljava/lang/Math;->cos(D)D
move-result-wide v11
mul-double v1, v1, v11
sub-double/2addr v8, v1
div-float v1, v5, v7
float-to-double v1, v1
sub-double/2addr v8, v1
double-to-float v1, v8
move v2, v3
move v3, v1
:cond_5d
div-float/2addr v4, v7
add-float/2addr v2, v4
const/4 v1, 0x0
add-float/2addr v2, v1
.line 354
aput v2, p5, p6
add-int/lit8 v2, p6, 0x1
div-float/2addr v5, v7
add-float/2addr v3, v5
add-float/2addr v3, v1
.line 355
aput v3, p5, v2
return-void
.end method
.method getCenter(D[I[D[F[D[F)V
.registers 27
move-object/from16 v0, p0
move-object/from16 v1, p3
.line 359
iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 360
iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 361
iget v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 362
iget v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v8, 0x0
const/4 v9, 0x0
const/4 v10, 0x0
const/4 v11, 0x0
const/4 v12, 0x0
.line 369
:goto_11
array-length v13, v1
const/4 v15, 0x1
if-ge v8, v13, :cond_37
.line 370
aget-wide v6, p4, v8
double-to-float v6, v6
.line 371
aget-wide v13, p6, v8
double-to-float v13, v13
.line 373
aget v14, v1, v8
if-eq v14, v15, :cond_32
const/4 v7, 0x2
if-eq v14, v7, :cond_2f
const/4 v7, 0x3
if-eq v14, v7, :cond_2c
const/4 v7, 0x4
if-eq v14, v7, :cond_29
goto :goto_34
:cond_29
move v5, v6
move v12, v13
goto :goto_34
:cond_2c
move v4, v6
move v10, v13
goto :goto_34
:cond_2f
move v3, v6
move v11, v13
goto :goto_34
:cond_32
move v2, v6
move v9, v13
:goto_34
add-int/lit8 v8, v8, 0x1
goto :goto_11
:cond_37
const/high16 v1, 0x40000000 # 2.0f
div-float/2addr v10, v1
add-float/2addr v10, v9
div-float/2addr v12, v1
add-float/2addr v12, v11
.line 395
iget-object v6, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
if-eqz v6, :cond_a5
const/4 v7, 0x2
new-array v8, v7, [F
new-array v7, v7, [F
move-wide/from16 v12, p1
.line 398
invoke-virtual {v6, v12, v13, v8, v7}, Landroidx/constraintlayout/motion/widget/MotionController;->getCenter(D[F[F)V
const/4 v6, 0x0
.line 399
aget v10, v8, v6
.line 400
aget v8, v8, v15
.line 405
aget v12, v7, v6
.line 406
aget v6, v7, v15
float-to-double v13, v10
float-to-double v1, v2
move/from16 p1, v6
float-to-double v6, v3
.line 408
invoke-static {v6, v7}, Ljava/lang/Math;->sin(D)D
move-result-wide v16
mul-double v16, v16, v1
add-double v13, v13, v16
const/high16 v3, 0x40000000 # 2.0f
div-float v10, v4, v3
move/from16 v16, v4
float-to-double v3, v10
sub-double/2addr v13, v3
double-to-float v3, v13
float-to-double v13, v8
.line 409
invoke-static {v6, v7}, Ljava/lang/Math;->cos(D)D
move-result-wide v17
mul-double v1, v1, v17
sub-double/2addr v13, v1
const/high16 v1, 0x40000000 # 2.0f
div-float v2, v5, v1
float-to-double v1, v2
sub-double/2addr v13, v1
double-to-float v1, v13
float-to-double v12, v12
float-to-double v8, v9
.line 410
invoke-static {v6, v7}, Ljava/lang/Math;->sin(D)D
move-result-wide v17
mul-double v17, v17, v8
add-double v12, v12, v17
invoke-static {v6, v7}, Ljava/lang/Math;->cos(D)D
move-result-wide v17
float-to-double v10, v11
mul-double v17, v17, v10
add-double v12, v12, v17
double-to-float v2, v12
move/from16 v4, p1
float-to-double v12, v4
.line 411
invoke-static {v6, v7}, Ljava/lang/Math;->cos(D)D
move-result-wide v17
mul-double v8, v8, v17
sub-double/2addr v12, v8
invoke-static {v6, v7}, Ljava/lang/Math;->sin(D)D
move-result-wide v6
mul-double v6, v6, v10
add-double/2addr v12, v6
double-to-float v12, v12
move v10, v2
move v2, v3
move v3, v1
const/high16 v1, 0x40000000 # 2.0f
goto :goto_a7
:cond_a5
move/from16 v16, v4
:goto_a7
div-float v4, v16, v1
add-float/2addr v2, v4
const/4 v4, 0x0
add-float/2addr v2, v4
const/4 v6, 0x0
.line 414
aput v2, p5, v6
div-float/2addr v5, v1
add-float/2addr v3, v5
add-float/2addr v3, v4
.line 415
aput v3, p5, v15
.line 416
aput v10, p7, v6
.line 417
aput v12, p7, v15
return-void
.end method
.method getCenterVelocity(D[I[D[FI)V
.registers 22
move-object v0, p0
move-object/from16 v1, p3
.line 420
iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 421
iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 422
iget v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 423
iget v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v6, 0x0
const/4 v7, 0x0
.line 425
:goto_d
array-length v8, v1
const/4 v9, 0x2
const/4 v10, 0x1
if-ge v7, v8, :cond_2c
.line 426
aget-wide v11, p4, v7
double-to-float v8, v11
.line 428
aget v11, v1, v7
if-eq v11, v10, :cond_28
if-eq v11, v9, :cond_26
const/4 v9, 0x3
if-eq v11, v9, :cond_24
const/4 v9, 0x4
if-eq v11, v9, :cond_22
goto :goto_29
:cond_22
move v5, v8
goto :goto_29
:cond_24
move v4, v8
goto :goto_29
:cond_26
move v3, v8
goto :goto_29
:cond_28
move v2, v8
:goto_29
add-int/lit8 v7, v7, 0x1
goto :goto_d
.line 443
:cond_2c
iget-object v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
const/high16 v7, 0x40000000 # 2.0f
if-eqz v1, :cond_5d
new-array v8, v9, [F
new-array v9, v9, [F
move-wide/from16 v11, p1
.line 446
invoke-virtual {v1, v11, v12, v8, v9}, Landroidx/constraintlayout/motion/widget/MotionController;->getCenter(D[F[F)V
.line 447
aget v1, v8, v6
.line 448
aget v6, v8, v10
float-to-double v8, v1
float-to-double v1, v2
float-to-double v11, v3
.line 452
invoke-static {v11, v12}, Ljava/lang/Math;->sin(D)D
move-result-wide v13
mul-double v13, v13, v1
add-double/2addr v8, v13
div-float v3, v4, v7
float-to-double v13, v3
sub-double/2addr v8, v13
double-to-float v3, v8
float-to-double v8, v6
.line 453
invoke-static {v11, v12}, Ljava/lang/Math;->cos(D)D
move-result-wide v11
mul-double v1, v1, v11
sub-double/2addr v8, v1
div-float v1, v5, v7
float-to-double v1, v1
sub-double/2addr v8, v1
double-to-float v1, v8
move v2, v3
move v3, v1
:cond_5d
div-float/2addr v4, v7
add-float/2addr v2, v4
const/4 v1, 0x0
add-float/2addr v2, v1
.line 456
aput v2, p5, p6
add-int/lit8 v2, p6, 0x1
div-float/2addr v5, v7
add-float/2addr v3, v5
add-float/2addr v3, v1
.line 457
aput v3, p5, v2
return-void
.end method
.method getCustomData(Ljava/lang/String;[DI)I
.registers 9
.line 885
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 p1
check-cast p1, Landroidx/constraintlayout/widget/ConstraintAttribute;
const/4 v0, 0x0
if-nez p1, :cond_c
return v0
.line 888
:cond_c
invoke-virtual {p1}, Landroidx/constraintlayout/widget/ConstraintAttribute;->numberOfInterpolatedValues()I
move-result v1
const/4 v2, 0x1
if-ne v1, v2, :cond_1b
.line 889
invoke-virtual {p1}, Landroidx/constraintlayout/widget/ConstraintAttribute;->getValueToInterpolate()F
move-result p1
float-to-double v0, p1
aput-wide v0, p2, p3
return v2
.line 892
:cond_1b
invoke-virtual {p1}, Landroidx/constraintlayout/widget/ConstraintAttribute;->numberOfInterpolatedValues()I
move-result v1
.line 893
new-array v2, v1, [F
.line 894
invoke-virtual {p1, v2}, Landroidx/constraintlayout/widget/ConstraintAttribute;->getValuesToInterpolate([F)V
:goto_24
if-ge v0, v1, :cond_31
add-int/lit8 p1, p3, 0x1
.line 896
aget v3, v2, v0
float-to-double v3, v3
aput-wide v3, p2, p3
add-int/lit8 v0, v0, 0x1
move p3, p1
goto :goto_24
:cond_31
return v1
.end method
.method getCustomDataCount(Ljava/lang/String;)I
.registers 3
.line 877
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 p1
check-cast p1, Landroidx/constraintlayout/widget/ConstraintAttribute;
if-nez p1, :cond_c
const/4 p1, 0x0
return p1
.line 881
:cond_c
invoke-virtual {p1}, Landroidx/constraintlayout/widget/ConstraintAttribute;->numberOfInterpolatedValues()I
move-result p1
return p1
.end method
.method getRect([I[D[FI)V
.registers 15
.line 649
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 650
iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 651
iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 652
iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v4, 0x0
.line 667
:goto_9
array-length v5, p1
if-ge v4, v5, :cond_28
.line 668
aget-wide v5, p2, v4
double-to-float v5, v5
.line 670
aget v6, p1, v4
const/4 v7, 0x1
if-eq v6, v7, :cond_24
const/4 v7, 0x2
if-eq v6, v7, :cond_22
const/4 v7, 0x3
if-eq v6, v7, :cond_20
const/4 v7, 0x4
if-eq v6, v7, :cond_1e
goto :goto_25
:cond_1e
move v3, v5
goto :goto_25
:cond_20
move v2, v5
goto :goto_25
:cond_22
move v1, v5
goto :goto_25
:cond_24
move v0, v5
:goto_25
add-int/lit8 v4, v4, 0x1
goto :goto_9
.line 689
:cond_28
iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
if-eqz p1, :cond_55
.line 690
invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionController;->getCenterX()F
move-result p1
.line 691
iget-object p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
invoke-virtual {p2}, Landroidx/constraintlayout/motion/widget/MotionController;->getCenterY()F
move-result p2
float-to-double v4, p1
float-to-double v6, v0
float-to-double v0, v1
.line 695
invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D
move-result-wide v8
mul-double v8, v8, v6
add-double/2addr v4, v8
const/high16 p1, 0x40000000 # 2.0f
div-float v8, v2, p1
float-to-double v8, v8
sub-double/2addr v4, v8
double-to-float v4, v4
float-to-double v8, p2
.line 696
invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D
move-result-wide v0
mul-double v6, v6, v0
sub-double/2addr v8, v6
div-float p1, v3, p1
float-to-double p1, p1
sub-double/2addr v8, p1
double-to-float v1, v8
move v0, v4
:cond_55
add-float/2addr v2, v0
add-float/2addr v3, v1
const/high16 p1, 0x7fc00000 # Float.NaN
.line 714
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
.line 717
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
const/4 p1, 0x0
add-float p2, v0, p1
add-float v4, v1, p1
add-float v5, v2, p1
add-float/2addr v1, p1
add-float/2addr v2, p1
add-float v6, v3, p1
add-float/2addr v0, p1
add-float/2addr v3, p1
add-int/lit8 p1, p4, 0x1
.line 765
aput p2, p3, p4
add-int/lit8 p2, p1, 0x1
.line 766
aput v4, p3, p1
add-int/lit8 p1, p2, 0x1
.line 767
aput v5, p3, p2
add-int/lit8 p2, p1, 0x1
.line 768
aput v1, p3, p1
add-int/lit8 p1, p2, 0x1
.line 769
aput v2, p3, p2
add-int/lit8 p2, p1, 0x1
.line 770
aput v6, p3, p1
add-int/lit8 p1, p2, 0x1
.line 771
aput v0, p3, p2
.line 772
aput v3, p3, p1
return-void
.end method
.method hasCustomData(Ljava/lang/String;)Z
.registers 3
.line 873
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 p1
return p1
.end method
.method initCartesian(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
.registers 21
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
move-object/from16 v3, p3
.line 86
iget v4, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I
int-to-float v4, v4
const/high16 v5, 0x42c80000 # 100.0f
div-float/2addr v4, v5
.line 88
iput v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
.line 90
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I
iput v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
.line 91
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
invoke-static {v5}, Ljava/lang/Float;->isNaN(F)Z
move-result v5
if-eqz v5, :cond_1e
move v5, v4
goto :goto_20
:cond_1e
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
.line 92
:goto_20
iget v6, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
invoke-static {v6}, Ljava/lang/Float;->isNaN(F)Z
move-result v6
if-eqz v6, :cond_2a
move v6, v4
goto :goto_2c
:cond_2a
iget v6, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
.line 93
:goto_2c
iget v7, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
sub-float v9, v7, v8
.line 94
iget v10, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
iget v11, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
sub-float v12, v10, v11
.line 96
iget v13, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
iput v13, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
.line 100
iget v13, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
const/high16 v14, 0x40000000 # 2.0f
div-float v15, v8, v14
add-float/2addr v15, v13
.line 101
iget v1, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
div-float v16, v11, v14
add-float v16, v1, v16
.line 102
iget v2, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
div-float/2addr v7, v14
add-float/2addr v2, v7
.line 103
iget v3, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
div-float/2addr v10, v14
add-float/2addr v3, v10
sub-float/2addr v2, v15
sub-float v3, v3, v16
mul-float v7, v2, v4
add-float/2addr v13, v7
mul-float v9, v9, v5
div-float v5, v9, v14
sub-float/2addr v13, v5
float-to-int v7, v13
int-to-float v7, v7
.line 106
iput v7, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
mul-float v7, v3, v4
add-float/2addr v1, v7
mul-float v12, v12, v6
div-float v6, v12, v14
sub-float/2addr v1, v6
float-to-int v1, v1
int-to-float v1, v1
.line 107
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
add-float/2addr v8, v9
float-to-int v1, v8
int-to-float v1, v1
.line 108
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
add-float/2addr v11, v12
float-to-int v1, v11
int-to-float v1, v1
.line 109
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
move-object/from16 v1, p1
.line 111
iget v7, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {v7}, Ljava/lang/Float;->isNaN(F)Z
move-result v7
if-eqz v7, :cond_82
move v7, v4
goto :goto_84
:cond_82
iget v7, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
.line 112
:goto_84
iget v8, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F
invoke-static {v8}, Ljava/lang/Float;->isNaN(F)Z
move-result v8
const/4 v9, 0x0
if-eqz v8, :cond_8f
const/4 v8, 0x0
goto :goto_91
:cond_8f
iget v8, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F
.line 113
:goto_91
iget v10, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {v10}, Ljava/lang/Float;->isNaN(F)Z
move-result v10
if-eqz v10, :cond_9a
goto :goto_9c
:cond_9a
iget v4, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
.line 114
:goto_9c
iget v10, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F
invoke-static {v10}, Ljava/lang/Float;->isNaN(F)Z
move-result v10
if-eqz v10, :cond_a5
goto :goto_a7
:cond_a5
iget v9, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F
:goto_a7
const/4 v10, 0x0
.line 115
iput v10, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I
move-object/from16 v10, p2
.line 116
iget v11, v10, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
mul-float v7, v7, v2
add-float/2addr v11, v7
mul-float v9, v9, v3
add-float/2addr v11, v9
sub-float/2addr v11, v5
float-to-int v5, v11
int-to-float v5, v5
iput v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 117
iget v5, v10, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
mul-float v2, v2, v8
add-float/2addr v5, v2
mul-float v3, v3, v4
add-float/2addr v5, v3
sub-float/2addr v5, v6
float-to-int v2, v5
int-to-float v2, v2
iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 119
iget-object v2, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;
invoke-static {v2}, Landroidx/constraintlayout/core/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/core/motion/utils/Easing;
move-result-object v2
iput-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/core/motion/utils/Easing;
.line 120
iget v1, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
return-void
.end method
.method initPath(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
.registers 20
move-object/from16 v0, p0
move-object/from16 v1, p1
move-object/from16 v2, p2
move-object/from16 v3, p3
.line 243
iget v4, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I
int-to-float v4, v4
const/high16 v5, 0x42c80000 # 100.0f
div-float/2addr v4, v5
.line 245
iput v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
.line 247
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I
iput v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
.line 248
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
invoke-static {v5}, Ljava/lang/Float;->isNaN(F)Z
move-result v5
if-eqz v5, :cond_1e
move v5, v4
goto :goto_20
:cond_1e
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
.line 249
:goto_20
iget v6, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
invoke-static {v6}, Ljava/lang/Float;->isNaN(F)Z
move-result v6
if-eqz v6, :cond_2a
move v6, v4
goto :goto_2c
:cond_2a
iget v6, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
.line 251
:goto_2c
iget v7, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
sub-float/2addr v7, v8
.line 252
iget v8, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
iget v9, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
sub-float/2addr v8, v9
.line 254
iget v9, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
iput v9, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
.line 256
iget v9, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {v9}, Ljava/lang/Float;->isNaN(F)Z
move-result v9
if-eqz v9, :cond_43
goto :goto_45
:cond_43
iget v4, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
.line 258
:goto_45
iget v9, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v10, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
const/high16 v11, 0x40000000 # 2.0f
div-float v12, v10, v11
add-float/2addr v12, v9
.line 259
iget v13, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget v14, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
div-float v15, v14, v11
add-float/2addr v15, v13
.line 260
iget v2, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v1, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
div-float/2addr v1, v11
add-float/2addr v2, v1
.line 261
iget v1, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget v3, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
div-float/2addr v3, v11
add-float/2addr v1, v3
sub-float/2addr v2, v12
sub-float/2addr v1, v15
mul-float v3, v2, v4
add-float/2addr v9, v3
mul-float v7, v7, v5
div-float v5, v7, v11
sub-float/2addr v9, v5
float-to-int v9, v9
int-to-float v9, v9
.line 264
iput v9, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
mul-float v4, v4, v1
add-float/2addr v13, v4
mul-float v8, v8, v6
div-float v6, v8, v11
sub-float/2addr v13, v6
float-to-int v9, v13
int-to-float v9, v9
.line 265
iput v9, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
add-float/2addr v10, v7
float-to-int v7, v10
int-to-float v7, v7
.line 266
iput v7, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
add-float/2addr v14, v8
float-to-int v7, v14
int-to-float v7, v7
.line 267
iput v7, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
move-object/from16 v7, p1
.line 268
iget v8, v7, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {v8}, Ljava/lang/Float;->isNaN(F)Z
move-result v8
if-eqz v8, :cond_91
const/4 v8, 0x0
goto :goto_93
:cond_91
iget v8, v7, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
:goto_93
neg-float v1, v1
mul-float v1, v1, v8
mul-float v2, v2, v8
const/4 v8, 0x1
.line 274
iput v8, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I
move-object/from16 v8, p2
.line 275
iget v9, v8, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
add-float/2addr v9, v3
sub-float/2addr v9, v5
float-to-int v3, v9
int-to-float v3, v3
iput v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 276
iget v5, v8, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
add-float/2addr v5, v4
sub-float/2addr v5, v6
float-to-int v4, v5
int-to-float v4, v4
iput v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
add-float/2addr v3, v1
.line 277
iput v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
add-float/2addr v4, v2
.line 278
iput v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 280
iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
.line 281
iget-object v1, v7, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;
invoke-static {v1}, Landroidx/constraintlayout/core/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/core/motion/utils/Easing;
move-result-object v1
iput-object v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/core/motion/utils/Easing;
.line 282
iget v1, v7, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
return-void
.end method
.method initPolar(IILandroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
.registers 12
.line 150
iget p1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I
int-to-float p1, p1
const/high16 p2, 0x42c80000 # 100.0f
div-float/2addr p1, p2
.line 151
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
.line 152
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I
iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
.line 153
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I
iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I
.line 154
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eqz p2, :cond_1a
move p2, p1
goto :goto_1c
:cond_1a
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
.line 155
:goto_1c
iget v0, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z
move-result v0
if-eqz v0, :cond_26
move v0, p1
goto :goto_28
:cond_26
iget v0, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
.line 156
:goto_28
iget v1, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
iget v2, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
sub-float/2addr v1, v2
.line 157
iget v3, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
iget v4, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
sub-float/2addr v3, v4
.line 158
iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
iput v5, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
mul-float v1, v1, p2
add-float/2addr v2, v1
float-to-int v1, v2
int-to-float v1, v1
.line 159
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
mul-float v3, v3, v0
add-float/2addr v4, v3
float-to-int v1, v4
int-to-float v1, v1
.line 160
iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
.line 163
iget v1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I
const/4 v2, 0x1
if-eq v1, v2, :cond_a9
const/4 v2, 0x2
if-eq v1, v2, :cond_78
.line 175
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eqz p2, :cond_56
move p2, p1
goto :goto_58
:cond_56
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
:goto_58
iget v0, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v1, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
sub-float/2addr v0, v1
mul-float p2, p2, v0
add-float/2addr p2, v1
iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 176
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eqz p2, :cond_6b
goto :goto_6d
:cond_6b
iget p1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
:goto_6d
iget p2, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget p5, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
sub-float/2addr p2, p5
mul-float p1, p1, p2
add-float/2addr p1, p5
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
goto :goto_d4
.line 165
:cond_78
iget v1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {v1}, Ljava/lang/Float;->isNaN(F)Z
move-result v1
if-eqz v1, :cond_89
iget p2, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v0, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
sub-float/2addr p2, v0
mul-float p2, p2, p1
add-float/2addr p2, v0
goto :goto_91
:cond_89
iget v1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {v0, p2}, Ljava/lang/Math;->min(FF)F
move-result p2
mul-float p2, p2, v1
:goto_91
iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 166
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eqz p2, :cond_a4
iget p2, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget p5, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
sub-float/2addr p2, p5
mul-float p1, p1, p2
add-float/2addr p1, p5
goto :goto_a6
:cond_a4
iget p1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
:goto_a6
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
goto :goto_d4
.line 170
:cond_a9
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eqz p2, :cond_b3
move p2, p1
goto :goto_b5
:cond_b3
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
:goto_b5
iget v0, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v1, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
sub-float/2addr v0, v1
mul-float p2, p2, v0
add-float/2addr p2, v1
iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 171
iget p2, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {p2}, Ljava/lang/Float;->isNaN(F)Z
move-result p2
if-eqz p2, :cond_c8
goto :goto_ca
:cond_c8
iget p1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
:goto_ca
iget p2, p5, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget p5, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
sub-float/2addr p2, p5
mul-float p1, p1, p2
add-float/2addr p1, p5
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 180
:goto_d4
iget p1, p4, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
.line 181
iget-object p1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;
invoke-static {p1}, Landroidx/constraintlayout/core/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/core/motion/utils/Easing;
move-result-object p1
iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/core/motion/utils/Easing;
.line 182
iget p1, p3, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
return-void
.end method
.method initScreen(IILandroidx/constraintlayout/motion/widget/KeyPosition;Landroidx/constraintlayout/motion/widget/MotionPaths;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
.registers 23
move-object/from16 v0, p0
move-object/from16 v1, p3
move-object/from16 v2, p4
move-object/from16 v3, p5
.line 200
iget v4, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mFramePosition:I
int-to-float v4, v4
const/high16 v5, 0x42c80000 # 100.0f
div-float/2addr v4, v5
.line 202
iput v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
.line 204
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I
iput v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mDrawPath:I
.line 205
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
invoke-static {v5}, Ljava/lang/Float;->isNaN(F)Z
move-result v5
if-eqz v5, :cond_1e
move v5, v4
goto :goto_20
:cond_1e
iget v5, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
.line 206
:goto_20
iget v6, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
invoke-static {v6}, Ljava/lang/Float;->isNaN(F)Z
move-result v6
if-eqz v6, :cond_2a
move v6, v4
goto :goto_2c
:cond_2a
iget v6, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
.line 208
:goto_2c
iget v7, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
iget v8, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
sub-float v9, v7, v8
.line 209
iget v10, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
iget v11, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
sub-float v12, v10, v11
.line 211
iget v13, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->time:F
iput v13, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->position:F
.line 215
iget v13, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
const/high16 v14, 0x40000000 # 2.0f
div-float v15, v8, v14
add-float/2addr v15, v13
.line 216
iget v2, v2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
div-float v16, v11, v14
add-float v16, v2, v16
.line 217
iget v1, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
div-float/2addr v7, v14
add-float/2addr v1, v7
.line 218
iget v3, v3, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
div-float/2addr v10, v14
add-float/2addr v3, v10
sub-float/2addr v1, v15
sub-float v3, v3, v16
mul-float v1, v1, v4
add-float/2addr v13, v1
mul-float v9, v9, v5
div-float v1, v9, v14
sub-float/2addr v13, v1
float-to-int v1, v13
int-to-float v1, v1
.line 221
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
mul-float v3, v3, v4
add-float/2addr v2, v3
mul-float v12, v12, v6
div-float v1, v12, v14
sub-float/2addr v2, v1
float-to-int v1, v2
int-to-float v1, v1
.line 222
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
add-float/2addr v8, v9
float-to-int v1, v8
int-to-float v1, v1
.line 223
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
add-float/2addr v11, v12
float-to-int v1, v11
int-to-float v1, v1
.line 224
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
const/4 v1, 0x2
.line 226
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mMode:I
move-object/from16 v1, p3
.line 227
iget v2, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-nez v2, :cond_93
move/from16 v2, p1
int-to-float v2, v2
.line 228
iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
sub-float/2addr v2, v3
float-to-int v2, v2
.line 229
iget v3, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
int-to-float v2, v2
mul-float v3, v3, v2
float-to-int v2, v3
int-to-float v2, v2
iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 231
:cond_93
iget v2, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-nez v2, :cond_ab
move/from16 v2, p2
int-to-float v2, v2
.line 232
iget v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
sub-float/2addr v2, v3
float-to-int v2, v2
.line 233
iget v3, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
int-to-float v2, v2
mul-float v3, v3, v2
float-to-int v2, v3
int-to-float v2, v2
iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 236
:cond_ab
iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mAnimateRelativeTo:I
.line 237
iget-object v2, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;
invoke-static {v2}, Landroidx/constraintlayout/core/motion/utils/Easing;->getInterpolator(Ljava/lang/String;)Landroidx/constraintlayout/core/motion/utils/Easing;
move-result-object v2
iput-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mKeyFrameEasing:Landroidx/constraintlayout/core/motion/utils/Easing;
.line 238
iget v1, v1, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I
iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mPathMotionArc:I
return-void
.end method
.method setBounds(FFFF)V
.registers 5
.line 903
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 904
iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 905
iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 906
iput p4, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
return-void
.end method
.method setDpDt(FF[F[I[D[D)V
.registers 19
move-object/from16 v0, p4
const/4 v1, 0x0
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
.line 800
:goto_9
array-length v8, v0
const/4 v9, 0x1
if-ge v3, v8, :cond_2a
.line 801
aget-wide v10, p5, v3
double-to-float v8, v10
.line 802
aget-wide v10, p6, v3
.line 806
aget v10, v0, v3
if-eq v10, v9, :cond_26
const/4 v9, 0x2
if-eq v10, v9, :cond_24
const/4 v9, 0x3
if-eq v10, v9, :cond_22
const/4 v9, 0x4
if-eq v10, v9, :cond_20
goto :goto_27
:cond_20
move v7, v8
goto :goto_27
:cond_22
move v5, v8
goto :goto_27
:cond_24
move v6, v8
goto :goto_27
:cond_26
move v4, v8
:goto_27
add-int/lit8 v3, v3, 0x1
goto :goto_9
:cond_2a
mul-float v0, v2, v5
const/high16 v3, 0x40000000 # 2.0f
div-float/2addr v0, v3
sub-float/2addr v4, v0
mul-float v0, v2, v7
div-float/2addr v0, v3
sub-float/2addr v6, v0
const/high16 v0, 0x3f800000 # 1.0f
mul-float v5, v5, v0
mul-float v7, v7, v0
add-float/2addr v5, v4
add-float/2addr v7, v6
sub-float v3, v0, p1
mul-float v4, v4, v3
mul-float v5, v5, p1
add-float/2addr v4, v5
add-float/2addr v4, v2
.line 858
aput v4, p3, v1
sub-float/2addr v0, p2
mul-float v6, v6, v0
mul-float v7, v7, p2
add-float/2addr v6, v7
add-float/2addr v6, v2
.line 859
aput v6, p3, v9
return-void
.end method
.method setView(FLandroid/view/View;[I[D[D[D)V
.registers 27
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object/from16 v2, p3
move-object/from16 v3, p5
.line 493
iget v4, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 494
iget v5, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
.line 495
iget v6, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
.line 496
iget v7, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
.line 508
array-length v8, v2
const/4 v9, 0x1
if-eqz v8, :cond_2a
iget-object v8, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
array-length v8, v8
array-length v10, v2
sub-int/2addr v10, v9
aget v10, v2, v10
if-gt v8, v10, :cond_2a
.line 509
array-length v8, v2
sub-int/2addr v8, v9
aget v8, v2, v8
add-int/2addr v8, v9
.line 510
new-array v10, v8, [D
iput-object v10, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
.line 511
new-array v8, v8, [D
iput-object v8, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D
.line 513
:cond_2a
iget-object v8, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
const-wide/high16 v10, 0x7ff8000000000000L # Double.NaN
invoke-static {v8, v10, v11}, Ljava/util/Arrays;->fill([DD)V
const/4 v10, 0x0
.line 514
:goto_32
array-length v11, v2
if-ge v10, v11, :cond_48
.line 515
iget-object v11, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
aget v12, v2, v10
aget-wide v13, p4, v10
aput-wide v13, v11, v12
.line 516
iget-object v11, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D
aget v12, v2, v10
aget-wide v13, v3, v10
aput-wide v13, v11, v12
add-int/lit8 v10, v10, 0x1
goto :goto_32
:cond_48
const/high16 v10, 0x7fc00000 # Float.NaN
const/4 v11, 0x0
const/4 v12, 0x0
const/4 v13, 0x0
const/4 v14, 0x0
const/4 v15, 0x0
.line 519
:goto_4f
iget-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
array-length v8, v2
if-ge v11, v8, :cond_b5
.line 520
aget-wide v16, v2, v11
invoke-static/range {v16 .. v17}, Ljava/lang/Double;->isNaN(D)Z
move-result v2
const-wide/16 v16, 0x0
if-eqz v2, :cond_69
if-eqz p6, :cond_66
aget-wide v18, p6, v11
cmpl-double v2, v18, v16
if-nez v2, :cond_69
:cond_66
move/from16 p4, v10
goto :goto_97
:cond_69
if-eqz p6, :cond_6d
.line 523
aget-wide v16, p6, v11
.line 524
:cond_6d
iget-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
aget-wide v18, v2, v11
invoke-static/range {v18 .. v19}, Ljava/lang/Double;->isNaN(D)Z
move-result v2
if-eqz v2, :cond_78
goto :goto_7e
:cond_78
iget-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempValue:[D
aget-wide v18, v2, v11
add-double v16, v18, v16
:goto_7e
move/from16 p4, v10
move-wide/from16 v9, v16
double-to-float v8, v9
.line 525
iget-object v9, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mTempDelta:[D
aget-wide v2, v9, v11
double-to-float v2, v2
const/4 v3, 0x1
if-eq v11, v3, :cond_ab
const/4 v3, 0x2
if-eq v11, v3, :cond_a6
const/4 v3, 0x3
if-eq v11, v3, :cond_a1
const/4 v3, 0x4
if-eq v11, v3, :cond_9c
const/4 v2, 0x5
if-eq v11, v2, :cond_9a
:goto_97
move/from16 v10, p4
goto :goto_af
:cond_9a
move v10, v8
goto :goto_af
:cond_9c
move/from16 v10, p4
move v15, v2
move v7, v8
goto :goto_af
:cond_a1
move/from16 v10, p4
move v14, v2
move v6, v8
goto :goto_af
:cond_a6
move/from16 v10, p4
move v13, v2
move v5, v8
goto :goto_af
:cond_ab
move/from16 v10, p4
move v12, v2
move v4, v8
:goto_af
add-int/lit8 v11, v11, 0x1
move-object/from16 v3, p5
const/4 v9, 0x1
goto :goto_4f
:cond_b5
move/from16 p4, v10
.line 556
iget-object v3, v0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
const/high16 v8, 0x40000000 # 2.0f
if-eqz v3, :cond_154
const/4 v2, 0x2
new-array v9, v2, [F
new-array v10, v2, [F
move/from16 v11, p1
float-to-double v14, v11
.line 560
invoke-virtual {v3, v14, v15, v9, v10}, Landroidx/constraintlayout/motion/widget/MotionController;->getCenter(D[F[F)V
const/4 v3, 0x0
.line 561
aget v11, v9, v3
const/4 v14, 0x1
.line 562
aget v9, v9, v14
.line 567
aget v15, v10, v3
.line 568
aget v3, v10, v14
float-to-double v10, v11
move/from16 p1, v3
float-to-double v2, v4
float-to-double v4, v5
.line 571
invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
move-result-wide v16
mul-double v16, v16, v2
add-double v10, v10, v16
div-float v14, v6, v8
move/from16 v16, v9
float-to-double v8, v14
sub-double/2addr v10, v8
double-to-float v8, v10
move/from16 v9, v16
float-to-double v9, v9
.line 572
invoke-static {v4, v5}, Ljava/lang/Math;->cos(D)D
move-result-wide v16
mul-double v16, v16, v2
sub-double v9, v9, v16
const/high16 v11, 0x40000000 # 2.0f
div-float v11, v7, v11
move/from16 v16, v7
move v14, v8
float-to-double v7, v11
sub-double/2addr v9, v7
double-to-float v7, v9
float-to-double v8, v15
float-to-double v10, v12
.line 573
invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
move-result-wide v17
mul-double v17, v17, v10
add-double v8, v8, v17
invoke-static {v4, v5}, Ljava/lang/Math;->cos(D)D
move-result-wide v17
mul-double v17, v17, v2
float-to-double v12, v13
mul-double v17, v17, v12
add-double v8, v8, v17
double-to-float v8, v8
move/from16 v9, p1
move/from16 p1, v14
float-to-double v14, v9
.line 574
invoke-static {v4, v5}, Ljava/lang/Math;->cos(D)D
move-result-wide v17
mul-double v10, v10, v17
sub-double/2addr v14, v10
invoke-static {v4, v5}, Ljava/lang/Math;->sin(D)D
move-result-wide v4
mul-double v2, v2, v4
mul-double v2, v2, v12
add-double/2addr v14, v2
double-to-float v2, v14
move-object/from16 v3, p5
.line 579
array-length v4, v3
const/4 v5, 0x2
if-lt v4, v5, :cond_136
float-to-double v4, v8
const/4 v9, 0x0
.line 580
aput-wide v4, v3, v9
float-to-double v4, v2
const/4 v10, 0x1
.line 581
aput-wide v4, v3, v10
goto :goto_138
:cond_136
const/4 v9, 0x0
const/4 v10, 0x1
.line 583
:goto_138
invoke-static/range {p4 .. p4}, Ljava/lang/Float;->isNaN(F)Z
move-result v3
if-nez v3, :cond_150
move/from16 v3, p4
float-to-double v3, v3
float-to-double v11, v2
float-to-double v13, v8
.line 584
invoke-static {v11, v12, v13, v14}, Ljava/lang/Math;->atan2(DD)D
move-result-wide v11
invoke-static {v11, v12}, Ljava/lang/Math;->toDegrees(D)D
move-result-wide v11
add-double/2addr v3, v11
double-to-float v2, v3
.line 585
invoke-virtual {v1, v2}, Landroid/view/View;->setRotation(F)V
:cond_150
move/from16 v4, p1
move v5, v7
goto :goto_179
:cond_154
move/from16 v3, p4
move/from16 v16, v7
const/4 v9, 0x0
const/4 v10, 0x1
.line 590
invoke-static {v3}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-nez v2, :cond_179
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v14, v2
add-float/2addr v12, v14
div-float/2addr v15, v2
add-float/2addr v13, v15
const/4 v2, 0x0
float-to-double v7, v2
float-to-double v2, v3
float-to-double v13, v13
float-to-double v11, v12
.line 600
invoke-static {v13, v14, v11, v12}, Ljava/lang/Math;->atan2(DD)D
move-result-wide v11
invoke-static {v11, v12}, Ljava/lang/Math;->toDegrees(D)D
move-result-wide v11
add-double/2addr v2, v11
add-double/2addr v7, v2
double-to-float v2, v7
.line 601
invoke-virtual {v1, v2}, Landroid/view/View;->setRotation(F)V
.line 608
:cond_179
:goto_179
instance-of v2, v1, Landroidx/constraintlayout/motion/widget/FloatLayout;
if-eqz v2, :cond_186
add-float/2addr v6, v4
add-float v7, v5, v16
.line 613
check-cast v1, Landroidx/constraintlayout/motion/widget/FloatLayout;
invoke-interface {v1, v4, v5, v6, v7}, Landroidx/constraintlayout/motion/widget/FloatLayout;->layout(FFFF)V
return-void
:cond_186
const/high16 v2, 0x3f000000 # 0.5f
add-float/2addr v4, v2
float-to-int v3, v4
add-float/2addr v5, v2
float-to-int v2, v5
add-float/2addr v4, v6
float-to-int v4, v4
add-float v5, v5, v16
float-to-int v5, v5
sub-int v6, v4, v3
sub-int v7, v5, v2
.line 631
invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getMeasuredWidth()I
move-result v8
if-ne v6, v8, :cond_1a1
invoke-virtual/range {p2 .. p2}, Landroid/view/View;->getMeasuredHeight()I
move-result v8
if-eq v7, v8, :cond_1a2
:cond_1a1
const/4 v9, 0x1
:cond_1a2
if-eqz v9, :cond_1b1
const/high16 v8, 0x40000000 # 2.0f
.line 634
invoke-static {v6, v8}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v6
.line 635
invoke-static {v7, v8}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v7
.line 637
invoke-virtual {v1, v6, v7}, Landroid/view/View;->measure(II)V
.line 640
:cond_1b1
invoke-virtual {v1, v3, v2, v4, v5}, Landroid/view/View;->layout(IIII)V
return-void
.end method
.method public setupRelative(Landroidx/constraintlayout/motion/widget/MotionController;Landroidx/constraintlayout/motion/widget/MotionPaths;)V
.registers 8
.line 186
iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v1, v2
add-float/2addr v0, v1
iget v1, p2, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
sub-float/2addr v0, v1
iget v1, p2, Landroidx/constraintlayout/motion/widget/MotionPaths;->width:F
div-float/2addr v1, v2
sub-float/2addr v0, v1
float-to-double v0, v0
.line 187
iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
div-float/2addr v4, v2
add-float/2addr v3, v4
iget v4, p2, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
sub-float/2addr v3, v4
iget p2, p2, Landroidx/constraintlayout/motion/widget/MotionPaths;->height:F
div-float/2addr p2, v2
sub-float/2addr v3, p2
float-to-double v2, v3
.line 188
iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeToController:Landroidx/constraintlayout/motion/widget/MotionController;
.line 190
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->hypot(DD)D
move-result-wide p1
double-to-float p1, p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->x:F
.line 191
iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeAngle:F
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
move-result p1
if-eqz p1, :cond_3d
.line 192
invoke-static {v2, v3, v0, v1}, Ljava/lang/Math;->atan2(DD)D
move-result-wide p1
const-wide v0, 0x3ff921fb54442d18L # 1.5707963267948966
add-double/2addr p1, v0
double-to-float p1, p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
goto :goto_47
.line 194
:cond_3d
iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->mRelativeAngle:F
float-to-double p1, p1
invoke-static {p1, p2}, Ljava/lang/Math;->toRadians(D)D
move-result-wide p1
double-to-float p1, p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionPaths;->y:F
:goto_47
return-void
.end method