apkfuckery/com.discord/smali/androidx/constraintlayout/motion/widget/KeyPosition.smali

976 lines
19 KiB
Smali

.class public Landroidx/constraintlayout/motion/widget/KeyPosition;
.super Landroidx/constraintlayout/motion/widget/KeyPositionBase;
.source "KeyPosition.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/constraintlayout/motion/widget/KeyPosition$Loader;
}
.end annotation
# static fields
.field public static final KEY_TYPE:I = 0x2
.field public static final NAME:Ljava/lang/String; = "KeyPosition"
.field public static final PERCENT_X:Ljava/lang/String; = "percentX"
.field public static final PERCENT_Y:Ljava/lang/String; = "percentY"
.field public static final TAG:Ljava/lang/String; = "KeyPosition"
.field public static final TYPE_CARTESIAN:I = 0x0
.field public static final TYPE_PATH:I = 0x1
.field public static final TYPE_SCREEN:I = 0x2
# instance fields
.field public mAltPercentX:F
.field public mAltPercentY:F
.field public mCalculatedPositionX:F
.field public mCalculatedPositionY:F
.field public mDrawPath:I
.field public mPathMotionArc:I
.field public mPercentHeight:F
.field public mPercentWidth:F
.field public mPercentX:F
.field public mPercentY:F
.field public mPositionType:I
.field public mTransitionEasing:Ljava/lang/String;
# direct methods
.method public constructor <init>()V
.locals 2
invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/KeyPositionBase;-><init>()V
const/4 v0, 0x0
iput-object v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;
sget v0, Landroidx/constraintlayout/motion/widget/Key;->UNSET:I
iput v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPathMotionArc:I
const/4 v0, 0x0
iput v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I
const/high16 v1, 0x7fc00000 # Float.NaN
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F
iput v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionX:F
iput v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionY:F
const/4 v0, 0x2
iput v0, p0, Landroidx/constraintlayout/motion/widget/Key;->mType:I
return-void
.end method
.method private calcCartesianPosition(FFFF)V
.locals 5
sub-float/2addr p3, p1
sub-float/2addr p4, p2
iget v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
const/4 v0, 0x0
goto :goto_0
:cond_0
iget v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
:goto_0
iget v2, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F
invoke-static {v2}, Ljava/lang/Float;->isNaN(F)Z
move-result v2
if-eqz v2, :cond_1
const/4 v2, 0x0
goto :goto_1
:cond_1
iget v2, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentY:F
:goto_1
iget v3, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
invoke-static {v3}, Ljava/lang/Float;->isNaN(F)Z
move-result v3
if-eqz v3, :cond_2
const/4 v3, 0x0
goto :goto_2
:cond_2
iget v3, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
:goto_2
iget v4, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F
invoke-static {v4}, Ljava/lang/Float;->isNaN(F)Z
move-result v4
if-eqz v4, :cond_3
goto :goto_3
:cond_3
iget v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mAltPercentX:F
:goto_3
mul-float v0, v0, p3
add-float/2addr v0, p1
mul-float v1, v1, p4
add-float/2addr v1, v0
float-to-int p1, v1
int-to-float p1, p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionX:F
mul-float p3, p3, v2
add-float/2addr p3, p2
mul-float p4, p4, v3
add-float/2addr p4, p3
float-to-int p1, p4
int-to-float p1, p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionY:F
return-void
.end method
.method private calcPathPosition(FFFF)V
.locals 3
sub-float/2addr p3, p1
sub-float/2addr p4, p2
neg-float v0, p4
iget v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
mul-float v2, p3, v1
add-float/2addr v2, p1
iget p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
mul-float v0, v0, p1
add-float/2addr v0, v2
iput v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionX:F
mul-float p4, p4, v1
add-float/2addr p4, p2
mul-float p3, p3, p1
add-float/2addr p3, p4
iput p3, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionY:F
return-void
.end method
.method private calcScreenPosition(II)V
.locals 3
const/4 v0, 0x0
sub-int/2addr p1, v0
int-to-float p1, p1
iget v1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
mul-float p1, p1, v1
int-to-float v2, v0
add-float/2addr p1, v2
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionX:F
sub-int/2addr p2, v0
int-to-float p1, p2
mul-float p1, p1, v1
add-float/2addr p1, v2
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionY:F
return-void
.end method
# virtual methods
.method public addValues(Ljava/util/HashMap;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/HashMap<",
"Ljava/lang/String;",
"Landroidx/constraintlayout/motion/widget/SplineSet;",
">;)V"
}
.end annotation
return-void
.end method
.method public calcPosition(IIFFFF)V
.locals 2
iget v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I
const/4 v1, 0x1
if-eq v0, v1, :cond_1
const/4 v1, 0x2
if-eq v0, v1, :cond_0
invoke-direct {p0, p3, p4, p5, p6}, Landroidx/constraintlayout/motion/widget/KeyPosition;->calcCartesianPosition(FFFF)V
return-void
:cond_0
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/motion/widget/KeyPosition;->calcScreenPosition(II)V
return-void
:cond_1
invoke-direct {p0, p3, p4, p5, p6}, Landroidx/constraintlayout/motion/widget/KeyPosition;->calcPathPosition(FFFF)V
return-void
.end method
.method public getPositionX()F
.locals 1
iget v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionX:F
return v0
.end method
.method public getPositionY()F
.locals 1
iget v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionY:F
return v0
.end method
.method public intersects(IILandroid/graphics/RectF;Landroid/graphics/RectF;FF)Z
.locals 7
invoke-virtual {p3}, Landroid/graphics/RectF;->centerX()F
move-result v3
invoke-virtual {p3}, Landroid/graphics/RectF;->centerY()F
move-result v4
invoke-virtual {p4}, Landroid/graphics/RectF;->centerX()F
move-result v5
invoke-virtual {p4}, Landroid/graphics/RectF;->centerY()F
move-result v6
move-object v0, p0
move v1, p1
move v2, p2
invoke-virtual/range {v0 .. v6}, Landroidx/constraintlayout/motion/widget/KeyPosition;->calcPosition(IIFFFF)V
iget p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionX:F
sub-float/2addr p5, p1
invoke-static {p5}, Ljava/lang/Math;->abs(F)F
move-result p1
const/high16 p2, 0x41a00000 # 20.0f
cmpg-float p1, p1, p2
if-gez p1, :cond_0
iget p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mCalculatedPositionY:F
sub-float/2addr p6, p1
invoke-static {p6}, Ljava/lang/Math;->abs(F)F
move-result p1
cmpg-float p1, p1, p2
if-gez p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public load(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 1
sget-object v0, Landroidx/constraintlayout/widget/R$styleable;->KeyPosition:[I
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object p1
invoke-static {p0, p1}, Landroidx/constraintlayout/motion/widget/KeyPosition$Loader;->access$000(Landroidx/constraintlayout/motion/widget/KeyPosition;Landroid/content/res/TypedArray;)V
return-void
.end method
.method public positionAttributes(Landroid/view/View;Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
.locals 7
iget v0, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPositionType:I
const/4 v1, 0x1
if-eq v0, v1, :cond_1
const/4 v1, 0x2
if-eq v0, v1, :cond_0
move-object v0, p0
move-object v1, p2
move-object v2, p3
move v3, p4
move v4, p5
move-object v5, p6
move-object v6, p7
invoke-virtual/range {v0 .. v6}, Landroidx/constraintlayout/motion/widget/KeyPosition;->positionCartAttributes(Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
return-void
:cond_0
invoke-virtual/range {p0 .. p7}, Landroidx/constraintlayout/motion/widget/KeyPosition;->positionScreenAttributes(Landroid/view/View;Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
return-void
:cond_1
move-object v0, p0
move-object v1, p2
move-object v2, p3
move v3, p4
move v4, p5
move-object v5, p6
move-object v6, p7
invoke-virtual/range {v0 .. v6}, Landroidx/constraintlayout/motion/widget/KeyPosition;->positionPathAttributes(Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
return-void
.end method
.method public positionCartAttributes(Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
.locals 6
invoke-virtual {p1}, Landroid/graphics/RectF;->centerX()F
move-result v0
invoke-virtual {p1}, Landroid/graphics/RectF;->centerY()F
move-result p1
invoke-virtual {p2}, Landroid/graphics/RectF;->centerX()F
move-result v1
invoke-virtual {p2}, Landroid/graphics/RectF;->centerY()F
move-result p2
sub-float/2addr v1, v0
sub-float/2addr p2, p1
const/4 v2, 0x0
aget-object v3, p5, v2
const-string v4, "percentX"
const/4 v5, 0x1
if-eqz v3, :cond_1
aget-object p5, p5, v2
invoke-virtual {v4, p5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p5
if-eqz p5, :cond_0
sub-float/2addr p3, v0
div-float/2addr p3, v1
aput p3, p6, v2
sub-float/2addr p4, p1
div-float/2addr p4, p2
aput p4, p6, v5
goto :goto_0
:cond_0
sub-float/2addr p3, v0
div-float/2addr p3, v1
aput p3, p6, v5
sub-float/2addr p4, p1
div-float/2addr p4, p2
aput p4, p6, v2
goto :goto_0
:cond_1
aput-object v4, p5, v2
sub-float/2addr p3, v0
div-float/2addr p3, v1
aput p3, p6, v2
const-string p3, "percentY"
aput-object p3, p5, v5
sub-float/2addr p4, p1
div-float/2addr p4, p2
aput p4, p6, v5
:goto_0
return-void
.end method
.method public positionPathAttributes(Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
.locals 12
invoke-virtual {p1}, Landroid/graphics/RectF;->centerX()F
move-result v0
invoke-virtual {p1}, Landroid/graphics/RectF;->centerY()F
move-result v1
invoke-virtual {p2}, Landroid/graphics/RectF;->centerX()F
move-result v2
invoke-virtual {p2}, Landroid/graphics/RectF;->centerY()F
move-result v3
sub-float/2addr v2, v0
sub-float/2addr v3, v1
float-to-double v4, v2
float-to-double v6, v3
invoke-static {v4, v5, v6, v7}, Ljava/lang/Math;->hypot(DD)D
move-result-wide v4
double-to-float v4, v4
float-to-double v5, v4
const/4 v7, 0x1
const/4 v8, 0x0
const-wide v9, 0x3f1a36e2eb1c432dL # 1.0E-4
cmpg-double v11, v5, v9
if-gez v11, :cond_0
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v1, "distance ~ 0"
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
const/4 v0, 0x0
aput v0, p6, v8
aput v0, p6, v7
return-void
:cond_0
div-float/2addr v2, v4
div-float/2addr v3, v4
sub-float v1, p4, v1
mul-float v5, v2, v1
sub-float v0, p3, v0
mul-float v6, v0, v3
sub-float/2addr v5, v6
div-float/2addr v5, v4
mul-float v2, v2, v0
mul-float v3, v3, v1
add-float/2addr v3, v2
div-float/2addr v3, v4
aget-object v0, p5, v8
const-string v1, "percentX"
if-eqz v0, :cond_1
aget-object v0, p5, v8
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_2
aput v3, p6, v8
aput v5, p6, v7
goto :goto_0
:cond_1
aput-object v1, p5, v8
const-string v0, "percentY"
aput-object v0, p5, v7
aput v3, p6, v8
aput v5, p6, v7
:cond_2
:goto_0
return-void
.end method
.method public positionScreenAttributes(Landroid/view/View;Landroid/graphics/RectF;Landroid/graphics/RectF;FF[Ljava/lang/String;[F)V
.locals 3
invoke-virtual {p2}, Landroid/graphics/RectF;->centerX()F
invoke-virtual {p2}, Landroid/graphics/RectF;->centerY()F
invoke-virtual {p3}, Landroid/graphics/RectF;->centerX()F
invoke-virtual {p3}, Landroid/graphics/RectF;->centerY()F
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p1
check-cast p1, Landroid/view/ViewGroup;
invoke-virtual {p1}, Landroid/view/ViewGroup;->getWidth()I
move-result p2
invoke-virtual {p1}, Landroid/view/ViewGroup;->getHeight()I
move-result p1
const/4 p3, 0x0
aget-object v0, p6, p3
const-string v1, "percentX"
const/4 v2, 0x1
if-eqz v0, :cond_1
aget-object p6, p6, p3
invoke-virtual {v1, p6}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p6
if-eqz p6, :cond_0
int-to-float p2, p2
div-float/2addr p4, p2
aput p4, p7, p3
int-to-float p1, p1
div-float/2addr p5, p1
aput p5, p7, v2
goto :goto_0
:cond_0
int-to-float p2, p2
div-float/2addr p4, p2
aput p4, p7, v2
int-to-float p1, p1
div-float/2addr p5, p1
aput p5, p7, p3
goto :goto_0
:cond_1
aput-object v1, p6, p3
int-to-float p2, p2
div-float/2addr p4, p2
aput p4, p7, p3
const-string p2, "percentY"
aput-object p2, p6, v2
int-to-float p1, p1
div-float/2addr p5, p1
aput p5, p7, v2
:goto_0
return-void
.end method
.method public setValue(Ljava/lang/String;Ljava/lang/Object;)V
.locals 1
invoke-virtual {p1}, Ljava/lang/String;->hashCode()I
move-result v0
sparse-switch v0, :sswitch_data_0
goto :goto_0
:sswitch_0
const-string v0, "percentY"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x6
goto :goto_1
:sswitch_1
const-string v0, "percentX"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x5
goto :goto_1
:sswitch_2
const-string v0, "sizePercent"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x4
goto :goto_1
:sswitch_3
const-string v0, "drawPath"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_1
:sswitch_4
const-string v0, "percentHeight"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x3
goto :goto_1
:sswitch_5
const-string v0, "percentWidth"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x2
goto :goto_1
:sswitch_6
const-string/jumbo v0, "transitionEasing"
invoke-virtual {p1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x0
goto :goto_1
:cond_0
:goto_0
const/4 p1, -0x1
:goto_1
packed-switch p1, :pswitch_data_0
goto :goto_2
:pswitch_0
invoke-virtual {p0, p2}, Landroidx/constraintlayout/motion/widget/Key;->toFloat(Ljava/lang/Object;)F
move-result p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentY:F
goto :goto_2
:pswitch_1
invoke-virtual {p0, p2}, Landroidx/constraintlayout/motion/widget/Key;->toFloat(Ljava/lang/Object;)F
move-result p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentX:F
goto :goto_2
:pswitch_2
invoke-virtual {p0, p2}, Landroidx/constraintlayout/motion/widget/Key;->toFloat(Ljava/lang/Object;)F
move-result p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
goto :goto_2
:pswitch_3
invoke-virtual {p0, p2}, Landroidx/constraintlayout/motion/widget/Key;->toFloat(Ljava/lang/Object;)F
move-result p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentHeight:F
goto :goto_2
:pswitch_4
invoke-virtual {p0, p2}, Landroidx/constraintlayout/motion/widget/Key;->toFloat(Ljava/lang/Object;)F
move-result p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mPercentWidth:F
goto :goto_2
:pswitch_5
invoke-virtual {p0, p2}, Landroidx/constraintlayout/motion/widget/Key;->toInt(Ljava/lang/Object;)I
move-result p1
iput p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mDrawPath:I
goto :goto_2
:pswitch_6
invoke-virtual {p2}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
iput-object p1, p0, Landroidx/constraintlayout/motion/widget/KeyPosition;->mTransitionEasing:Ljava/lang/String;
:goto_2
return-void
nop
:sswitch_data_0
.sparse-switch
-0x6c0d7d20 -> :sswitch_6
-0x4330437f -> :sswitch_5
-0x3ca72634 -> :sswitch_4
-0x314b3c77 -> :sswitch_3
-0xbefb6fc -> :sswitch_2
0x198424b3 -> :sswitch_1
0x198424b4 -> :sswitch_0
.end sparse-switch
:pswitch_data_0
.packed-switch 0x0
:pswitch_6
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_2
:pswitch_1
:pswitch_0
.end packed-switch
.end method