TranslationAnimationCreator.smali

.class Landroidx/transition/TranslationAnimationCreator;
.super Ljava/lang/Object;
.source "TranslationAnimationCreator.java"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Landroidx/transition/TranslationAnimationCreator$TransitionPositionListener;
    }
.end annotation


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

    return-void
.end method

.method private constructor <init>()V
    .registers 1

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

    .line 137
    return-void
.end method

.method static createAnimation(Landroid/view/View;Landroidx/transition/TransitionValues;IIFFFFLandroid/animation/TimeInterpolator;)Landroid/animation/Animator;
    .registers 26
    .param p0, "view"    # Landroid/view/View;
    .param p1, "values"    # Landroidx/transition/TransitionValues;
    .param p2, "viewPosX"    # I
    .param p3, "viewPosY"    # I
    .param p4, "startX"    # F
    .param p5, "startY"    # F
    .param p6, "endX"    # F
    .param p7, "endY"    # F
    .param p8, "interpolator"    # Landroid/animation/TimeInterpolator;

    .line 51
    move-object/from16 v7, p0

    move-object/from16 v8, p1

    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getTranslationX()F

    move-result v9

    .line 52
    .local v9, "terminalX":F
    invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getTranslationY()F

    move-result v10

    .line 53
    .local v10, "terminalY":F
    iget-object v0, v8, Landroidx/transition/TransitionValues;->view:Landroid/view/View;

    sget v1, Landroidx/transition/R$id;->transition_position:I

    invoke-virtual {v0, v1}, Landroid/view/View;->getTag(I)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [I

    move-object v11, v0

    check-cast v11, [I

    .line 54
    .local v11, "startPosition":[I
    const/4 v0, 0x1

    const/4 v1, 0x0

    if-eqz v11, :cond_2c

    .line 55
    aget v2, v11, v1

    sub-int v2, v2, p2

    int-to-float v2, v2

    add-float/2addr v2, v9

    .line 56
    .end local p4    # "startX":F
    .local v2, "startX":F
    aget v3, v11, v0

    sub-int v3, v3, p3

    int-to-float v3, v3

    add-float/2addr v3, v10

    move v12, v2

    move v13, v3

    .end local p5    # "startY":F
    .local v3, "startY":F
    goto :goto_30

    .line 54
    .end local v2    # "startX":F
    .end local v3    # "startY":F
    .restart local p4    # "startX":F
    .restart local p5    # "startY":F
    :cond_2c
    move/from16 v12, p4

    move/from16 v13, p5

    .line 59
    .end local p4    # "startX":F
    .end local p5    # "startY":F
    .local v12, "startX":F
    .local v13, "startY":F
    :goto_30
    sub-float v2, v12, v9

    invoke-static {v2}, Ljava/lang/Math;->round(F)I

    move-result v2

    add-int v14, p2, v2

    .line 60
    .local v14, "startPosX":I
    sub-float v2, v13, v10

    invoke-static {v2}, Ljava/lang/Math;->round(F)I

    move-result v2

    add-int v15, p3, v2

    .line 62
    .local v15, "startPosY":I
    invoke-virtual {v7, v12}, Landroid/view/View;->setTranslationX(F)V

    .line 63
    invoke-virtual {v7, v13}, Landroid/view/View;->setTranslationY(F)V

    .line 64
    cmpl-float v2, v12, p6

    if-nez v2, :cond_50

    cmpl-float v2, v13, p7

    if-nez v2, :cond_50

    .line 65
    const/4 v0, 0x0

    return-object v0

    .line 67
    :cond_50
    const/4 v2, 0x2

    new-array v3, v2, [Landroid/animation/PropertyValuesHolder;

    sget-object v4, Landroid/view/View;->TRANSLATION_X:Landroid/util/Property;

    new-array v5, v2, [F

    aput v12, v5, v1

    aput p6, v5, v0

    .line 68
    invoke-static {v4, v5}, Landroid/animation/PropertyValuesHolder;->ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;

    move-result-object v4

    aput-object v4, v3, v1

    sget-object v4, Landroid/view/View;->TRANSLATION_Y:Landroid/util/Property;

    new-array v2, v2, [F

    aput v13, v2, v1

    aput p7, v2, v0

    .line 69
    invoke-static {v4, v2}, Landroid/animation/PropertyValuesHolder;->ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;

    move-result-object v1

    aput-object v1, v3, v0

    .line 67
    invoke-static {v7, v3}, Landroid/animation/ObjectAnimator;->ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;

    move-result-object v6

    .line 71
    .local v6, "anim":Landroid/animation/ObjectAnimator;
    new-instance v16, Landroidx/transition/TranslationAnimationCreator$TransitionPositionListener;

    iget-object v2, v8, Landroidx/transition/TransitionValues;->view:Landroid/view/View;

    move-object/from16 v0, v16

    move-object/from16 v1, p0

    move v3, v14

    move v4, v15

    move v5, v9

    move-object v7, v6

    .end local v6    # "anim":Landroid/animation/ObjectAnimator;
    .local v7, "anim":Landroid/animation/ObjectAnimator;
    move v6, v10

    invoke-direct/range {v0 .. v6}, Landroidx/transition/TranslationAnimationCreator$TransitionPositionListener;-><init>(Landroid/view/View;Landroid/view/View;IIFF)V

    .line 73
    .local v0, "listener":Landroidx/transition/TranslationAnimationCreator$TransitionPositionListener;
    invoke-virtual {v7, v0}, Landroid/animation/ObjectAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V

    .line 74
    invoke-static {v7, v0}, Landroidx/transition/AnimatorUtils;->addPauseListener(Landroid/animation/Animator;Landroid/animation/AnimatorListenerAdapter;)V

    .line 75
    move-object/from16 v1, p8

    invoke-virtual {v7, v1}, Landroid/animation/ObjectAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V

    .line 76
    return-object v7
.end method