.class public Landroidx/constraintlayout/motion/widget/MotionLayout; .super Landroidx/constraintlayout/widget/ConstraintLayout; .source "MotionLayout.java" # interfaces .implements Landroidx/core/view/NestedScrollingParent3; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;, Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw;, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator;, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;, Landroidx/constraintlayout/motion/widget/MotionLayout$MyTracker;, Landroidx/constraintlayout/motion/widget/MotionLayout$MotionTracker;, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; } .end annotation # static fields .field public static final DEBUG:Z = false .field public static final DEBUG_SHOW_NONE:I = 0x0 .field public static final DEBUG_SHOW_PATH:I = 0x2 .field public static final DEBUG_SHOW_PROGRESS:I = 0x1 .field public static final EPSILON:F = 1.0E-5f .field public static IS_IN_EDIT_MODE:Z = false .field public static final MAX_KEY_FRAMES:I = 0x32 .field public static final TAG:Ljava/lang/String; = "MotionLayout" .field public static final TOUCH_UP_COMPLETE:I = 0x0 .field public static final TOUCH_UP_COMPLETE_TO_END:I = 0x2 .field public static final TOUCH_UP_COMPLETE_TO_START:I = 0x1 .field public static final TOUCH_UP_DECELERATE:I = 0x4 .field public static final TOUCH_UP_DECELERATE_AND_COMPLETE:I = 0x5 .field public static final TOUCH_UP_STOP:I = 0x3 .field public static final VELOCITY_LAYOUT:I = 0x1 .field public static final VELOCITY_POST_LAYOUT:I = 0x0 .field public static final VELOCITY_STATIC_LAYOUT:I = 0x3 .field public static final VELOCITY_STATIC_POST_LAYOUT:I = 0x2 # instance fields .field public firstDown:Z .field public lastPos:F .field public lastY:F .field public mAnimationStartTime:J .field public mBeginState:I .field public mBoundsCheck:Landroid/graphics/RectF; .field public mCurrentState:I .field public mDebugPath:I .field public mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; .field public mDesignTool:Landroidx/constraintlayout/motion/widget/DesignTool; .field public mDevModeDraw:Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw; .field public mEndState:I .field public mEndWrapHeight:I .field public mEndWrapWidth:I .field public mFrameArrayList:Ljava/util/HashMap; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/HashMap<", "Landroid/view/View;", "Landroidx/constraintlayout/motion/widget/MotionController;", ">;" } .end annotation .end field .field public mFrames:I .field public mHeightMeasureMode:I .field public mInLayout:Z .field public mInTransition:Z .field public mIndirectTransition:Z .field public mInteractionEnabled:Z .field public mInterpolator:Landroid/view/animation/Interpolator; .field public mIsAnimating:Z .field public mKeepAnimating:Z .field public mKeyCache:Landroidx/constraintlayout/motion/widget/KeyCache; .field public mLastDrawTime:J .field public mLastFps:F .field public mLastHeightMeasureSpec:I .field public mLastLayoutHeight:I .field public mLastLayoutWidth:I .field public mLastVelocity:F .field public mLastWidthMeasureSpec:I .field public mListenerPosition:F .field public mListenerState:I .field public mMeasureDuringTransition:Z .field public mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; .field public mNeedsFireTransitionCompleted:Z .field public mOldHeight:I .field public mOldWidth:I .field public mOnHideHelpers:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/constraintlayout/motion/widget/MotionHelper;", ">;" } .end annotation .end field .field public mOnShowHelpers:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/constraintlayout/motion/widget/MotionHelper;", ">;" } .end annotation .end field .field public mPostInterpolationPosition:F .field public mRegionView:Landroid/view/View; .field public mScene:Landroidx/constraintlayout/motion/widget/MotionScene; .field public mScrollTargetDT:F .field public mScrollTargetDX:F .field public mScrollTargetDY:F .field public mScrollTargetTime:J .field public mStartWrapHeight:I .field public mStartWrapWidth:I .field public mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; .field public mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; .field public mTemporalInterpolator:Z .field public mTransitionCompleted:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Ljava/lang/Integer;", ">;" } .end annotation .end field .field public mTransitionDuration:F .field public mTransitionGoalPosition:F .field public mTransitionInstantly:Z .field public mTransitionLastPosition:F .field public mTransitionLastTime:J .field public mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; .field public mTransitionListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;", ">;" } .end annotation .end field .field public mTransitionPosition:F .field public mTransitionState:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; .field public mUndergoingMotion:Z .field public mWidthMeasureMode:I # direct methods .method public constructor (Landroid/content/Context;)V .locals 4 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param invoke-direct {p0, p1}, Landroidx/constraintlayout/widget/ConstraintLayout;->(Landroid/content/Context;)V const/4 p1, 0x0 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F const/4 v0, -0x1 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I const/4 v0, 0x0 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastWidthMeasureSpec:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastHeightMeasureSpec:I const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V iput-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; const-wide/16 v2, 0x0 iput-wide v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J const/high16 v2, 0x3f800000 # 1.0f iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIndirectTransition:Z iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z new-instance v2, Landroidx/constraintlayout/motion/utils/StopLogic; invoke-direct {v2}, Landroidx/constraintlayout/motion/utils/StopLogic;->()V iput-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; new-instance v2, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; invoke-direct {v2, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->firstDown:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mUndergoingMotion:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z const/4 v1, 0x0 iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I const-wide/16 v2, -0x1 iput-wide v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastDrawTime:J iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastFps:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerPosition:F iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIsAnimating:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z new-instance p1, Landroidx/constraintlayout/motion/widget/KeyCache; invoke-direct {p1}, Landroidx/constraintlayout/motion/widget/KeyCache;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeyCache:Landroidx/constraintlayout/motion/widget/KeyCache; iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z sget-object p1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->UNDEFINED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionState:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; new-instance p1, Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-direct {p1, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z new-instance p1, Landroid/graphics/RectF; invoke-direct {p1}, Landroid/graphics/RectF;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-direct {p0, v1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->init(Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 4 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/widget/ConstraintLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 p1, 0x0 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F const/4 v0, -0x1 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I const/4 v0, 0x0 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastWidthMeasureSpec:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastHeightMeasureSpec:I const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z new-instance v2, Ljava/util/HashMap; invoke-direct {v2}, Ljava/util/HashMap;->()V iput-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; const-wide/16 v2, 0x0 iput-wide v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J const/high16 v2, 0x3f800000 # 1.0f iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIndirectTransition:Z iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z new-instance v2, Landroidx/constraintlayout/motion/utils/StopLogic; invoke-direct {v2}, Landroidx/constraintlayout/motion/utils/StopLogic;->()V iput-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; new-instance v2, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; invoke-direct {v2, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->firstDown:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mUndergoingMotion:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z const/4 v1, 0x0 iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I const-wide/16 v2, -0x1 iput-wide v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastDrawTime:J iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastFps:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerPosition:F iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIsAnimating:Z iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z new-instance p1, Landroidx/constraintlayout/motion/widget/KeyCache; invoke-direct {p1}, Landroidx/constraintlayout/motion/widget/KeyCache;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeyCache:Landroidx/constraintlayout/motion/widget/KeyCache; iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z sget-object p1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->UNDEFINED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionState:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; new-instance p1, Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-direct {p1, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z new-instance p1, Landroid/graphics/RectF; invoke-direct {p1}, Landroid/graphics/RectF;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-direct {p0, p2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->init(Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 3 .param p1 # Landroid/content/Context; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/util/AttributeSet; .annotation build Landroidx/annotation/Nullable; .end annotation .end param invoke-direct {p0, p1, p2, p3}, Landroidx/constraintlayout/widget/ConstraintLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 p1, 0x0 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F const/4 p3, -0x1 iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I const/4 p3, 0x0 iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastWidthMeasureSpec:I iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastHeightMeasureSpec:I const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z new-instance v1, Ljava/util/HashMap; invoke-direct {v1}, Ljava/util/HashMap;->()V iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; const-wide/16 v1, 0x0 iput-wide v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J const/high16 v1, 0x3f800000 # 1.0f iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIndirectTransition:Z iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z new-instance v1, Landroidx/constraintlayout/motion/utils/StopLogic; invoke-direct {v1}, Landroidx/constraintlayout/motion/utils/StopLogic;->()V iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; new-instance v1, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; invoke-direct {v1, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->firstDown:Z iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mUndergoingMotion:Z iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z const/4 v0, 0x0 iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I const-wide/16 v1, -0x1 iput-wide v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastDrawTime:J iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastFps:F iput p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerPosition:F iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIsAnimating:Z iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z new-instance p1, Landroidx/constraintlayout/motion/widget/KeyCache; invoke-direct {p1}, Landroidx/constraintlayout/motion/widget/KeyCache;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeyCache:Landroidx/constraintlayout/motion/widget/KeyCache; iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z sget-object p1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->UNDEFINED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionState:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; new-instance p1, Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-direct {p1, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iput-boolean p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z new-instance p1, Landroid/graphics/RectF; invoke-direct {p1}, Landroid/graphics/RectF;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-direct {p0, p2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->init(Landroid/util/AttributeSet;)V return-void .end method .method public static synthetic access$000(Landroidx/constraintlayout/motion/widget/MotionLayout;)I .locals 0 iget p0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I return p0 .end method .method public static synthetic access$100(Landroidx/constraintlayout/motion/widget/MotionLayout;)I .locals 0 iget p0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I return p0 .end method .method public static synthetic access$1000(Landroidx/constraintlayout/motion/widget/MotionLayout;)I .locals 0 iget p0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastHeightMeasureSpec:I return p0 .end method .method public static synthetic access$1100(Landroidx/constraintlayout/motion/widget/MotionLayout;)V .locals 0 invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setupMotionViews()V return-void .end method .method public static synthetic access$1200(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1300(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1400(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1500(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1600(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1700(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1800(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$1900(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V .locals 0 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveSystem(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;III)V return-void .end method .method public static synthetic access$200(Landroidx/constraintlayout/motion/widget/MotionLayout;)Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; .locals 0 iget-object p0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; return-object p0 .end method .method public static synthetic access$2000(Landroidx/constraintlayout/motion/widget/MotionLayout;IIIIZZ)V .locals 0 invoke-virtual/range {p0 .. p6}, Landroidx/constraintlayout/widget/ConstraintLayout;->resolveMeasuredDimension(IIIIZZ)V return-void .end method .method public static synthetic access$300(Landroidx/constraintlayout/motion/widget/MotionLayout;)Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; .locals 0 iget-object p0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; return-object p0 .end method .method public static synthetic access$400(Landroidx/constraintlayout/motion/widget/MotionLayout;)Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; .locals 0 iget-object p0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; return-object p0 .end method .method public static synthetic access$500(Landroidx/constraintlayout/motion/widget/MotionLayout;)Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; .locals 0 iget-object p0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; return-object p0 .end method .method public static synthetic access$600(Landroidx/constraintlayout/motion/widget/MotionLayout;)Z .locals 0 invoke-virtual {p0}, Landroidx/constraintlayout/widget/ConstraintLayout;->isRtl()Z move-result p0 return p0 .end method .method public static synthetic access$700(Landroidx/constraintlayout/motion/widget/MotionLayout;)Z .locals 0 invoke-virtual {p0}, Landroidx/constraintlayout/widget/ConstraintLayout;->isRtl()Z move-result p0 return p0 .end method .method public static synthetic access$800(Landroidx/constraintlayout/motion/widget/MotionLayout;ZLandroid/view/View;Landroidx/constraintlayout/solver/widgets/ConstraintWidget;Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;Landroid/util/SparseArray;)V .locals 0 invoke-virtual/range {p0 .. p5}, Landroidx/constraintlayout/widget/ConstraintLayout;->applyConstraintsFromLayoutParams(ZLandroid/view/View;Landroidx/constraintlayout/solver/widgets/ConstraintWidget;Landroidx/constraintlayout/widget/ConstraintLayout$LayoutParams;Landroid/util/SparseArray;)V return-void .end method .method public static synthetic access$900(Landroidx/constraintlayout/motion/widget/MotionLayout;)I .locals 0 iget p0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastWidthMeasureSpec:I return p0 .end method .method private checkStructure()V .locals 11 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; const-string v1, "MotionLayout" if-nez v0, :cond_0 const-string v0, "CHECK: motion scene not set! set \"app:layoutDescription=\"@xml/file\"" invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I move-result v0 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I move-result v3 invoke-virtual {v2, v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 invoke-direct {p0, v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->checkStructure(ILandroidx/constraintlayout/widget/ConstraintSet;)V new-instance v0, Landroid/util/SparseIntArray; invoke-direct {v0}, Landroid/util/SparseIntArray;->()V new-instance v2, Landroid/util/SparseIntArray; invoke-direct {v2}, Landroid/util/SparseIntArray;->()V iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDefinedTransitions()Ljava/util/ArrayList; move-result-object v3 invoke-virtual {v3}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v3 :cond_1 :goto_0 invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z move-result v4 if-eqz v4, :cond_6 invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/motion/widget/MotionScene$Transition; iget-object v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget-object v5, v5, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-ne v4, v5, :cond_2 const-string v5, "CHECK: CURRENT" invoke-static {v1, v5}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I :cond_2 invoke-direct {p0, v4}, Landroidx/constraintlayout/motion/widget/MotionLayout;->checkStructure(Landroidx/constraintlayout/motion/widget/MotionScene$Transition;)V invoke-virtual {v4}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getStartConstraintSetId()I move-result v5 invoke-virtual {v4}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getEndConstraintSetId()I move-result v4 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v6 invoke-static {v6, v5}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object v6 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v7 invoke-static {v7, v4}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object v7 invoke-virtual {v0, v5}, Landroid/util/SparseIntArray;->get(I)I move-result v8 const-string v9, "->" if-ne v8, v4, :cond_3 new-instance v8, Ljava/lang/StringBuilder; invoke-direct {v8}, Ljava/lang/StringBuilder;->()V const-string v10, "CHECK: two transitions with the same start and end " invoke-virtual {v8, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v8 invoke-static {v1, v8}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_3 invoke-virtual {v2, v4}, Landroid/util/SparseIntArray;->get(I)I move-result v8 if-ne v8, v5, :cond_4 new-instance v8, Ljava/lang/StringBuilder; invoke-direct {v8}, Ljava/lang/StringBuilder;->()V const-string v10, "CHECK: you can\'t have reverse transitions" invoke-virtual {v8, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v7 invoke-static {v1, v7}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_4 invoke-virtual {v0, v5, v4}, Landroid/util/SparseIntArray;->put(II)V invoke-virtual {v2, v4, v5}, Landroid/util/SparseIntArray;->put(II)V iget-object v7, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v7, v5}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v5 if-nez v5, :cond_5 new-instance v5, Ljava/lang/StringBuilder; invoke-direct {v5}, Ljava/lang/StringBuilder;->()V const-string v7, " no such constraintSetStart " invoke-virtual {v5, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v5 invoke-static {v1, v5}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_5 iget-object v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v5, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v4 if-nez v4, :cond_1 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V const-string v5, " no such constraintSetEnd " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v1, v4}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I goto/16 :goto_0 :cond_6 return-void .end method .method private checkStructure(ILandroidx/constraintlayout/widget/ConstraintSet;)V .locals 10 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0, p1}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object p1 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 const/4 v3, -0x1 const-string v4, "CHECK: " const-string v5, "MotionLayout" if-ge v2, v0, :cond_2 invoke-virtual {p0, v2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v6 invoke-virtual {v6}, Landroid/view/View;->getId()I move-result v7 if-ne v7, v3, :cond_0 const-string v3, " ALL VIEWS SHOULD HAVE ID\'s " invoke-static {v4, p1, v3}, Lf/e/c/a/a;->L(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v6}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v8 invoke-virtual {v8}, Ljava/lang/Class;->getName()Ljava/lang/String; move-result-object v8 invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v8, " does not!" invoke-virtual {v3, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v5, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_0 invoke-virtual {p2, v7}, Landroidx/constraintlayout/widget/ConstraintSet;->getConstraint(I)Landroidx/constraintlayout/widget/ConstraintSet$Constraint; move-result-object v3 if-nez v3, :cond_1 const-string v3, " NO CONSTRAINTS for " invoke-static {v4, p1, v3}, Lf/e/c/a/a;->L(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-static {v6}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/view/View;)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v5, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_2 invoke-virtual {p2}, Landroidx/constraintlayout/widget/ConstraintSet;->getKnownIds()[I move-result-object v0 :goto_1 array-length v2, v0 if-ge v1, v2, :cond_6 aget v2, v0, v1 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v6 invoke-static {v6, v2}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object v6 aget v7, v0, v1 invoke-virtual {p0, v7}, Landroid/view/ViewGroup;->findViewById(I)Landroid/view/View; move-result-object v7 if-nez v7, :cond_3 new-instance v7, Ljava/lang/StringBuilder; invoke-direct {v7}, Ljava/lang/StringBuilder;->()V invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v8, " NO View matches id " invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v7 invoke-static {v5, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_3 invoke-virtual {p2, v2}, Landroidx/constraintlayout/widget/ConstraintSet;->getHeight(I)I move-result v7 const-string v8, ") no LAYOUT_HEIGHT" const-string v9, "(" if-ne v7, v3, :cond_4 new-instance v7, Ljava/lang/StringBuilder; invoke-direct {v7}, Ljava/lang/StringBuilder;->()V invoke-virtual {v7, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v7}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v7 invoke-static {v5, v7}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_4 invoke-virtual {p2, v2}, Landroidx/constraintlayout/widget/ConstraintSet;->getWidth(I)I move-result v2 if-ne v2, v3, :cond_5 new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-static {v5, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I :cond_5 add-int/lit8 v1, v1, 0x1 goto :goto_1 :cond_6 return-void .end method .method private checkStructure(Landroidx/constraintlayout/motion/widget/MotionScene$Transition;)V .locals 3 const-string v0, "CHECK: transition = " invoke-static {v0}, Lf/e/c/a/a;->F(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {p1, v1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->debugString(Landroid/content/Context;)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "MotionLayout" invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V const-string v2, "CHECK: transition.setDuration = " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getDuration()I move-result v2 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 invoke-static {v1, v0}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getStartConstraintSetId()I move-result v0 invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getEndConstraintSetId()I move-result p1 if-ne v0, p1, :cond_0 const-string p1, "CHECK: start and end constraint set should not be the same!" invoke-static {v1, p1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_0 return-void .end method .method private computeCurrentPositions()V .locals 4 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 invoke-virtual {p0, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v2 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {v3, v2}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/constraintlayout/motion/widget/MotionController; if-nez v3, :cond_0 goto :goto_1 :cond_0 invoke-virtual {v3, v2}, Landroidx/constraintlayout/motion/widget/MotionController;->setStartCurrentState(Landroid/view/View;)V :goto_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 return-void .end method .method private debugPos()V .locals 6 const/4 v0, 0x0 :goto_0 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v1 if-ge v0, v1, :cond_0 invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v1 const-string v2, " " invoke-static {v2}, Lf/e/c/a/a;->F(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-static {}, Landroidx/constraintlayout/motion/widget/Debug;->getLocation()Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-static {p0}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/view/View;)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v4 iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I invoke-static {v4, v5}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-static {v1}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/view/View;)Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Landroid/view/View;->getLeft()I move-result v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Landroid/view/View;->getTop()I move-result v1 invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const-string v2, "MotionLayout" invoke-static {v2, v1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I add-int/lit8 v0, v0, 0x1 goto :goto_0 :cond_0 return-void .end method .method private evaluateLayout()V .locals 13 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F sub-float/2addr v0, v1 invoke-static {v0}, Ljava/lang/Math;->signum(F)F move-result v0 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v1 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; instance-of v3, v3, Landroidx/constraintlayout/motion/utils/StopLogic; const v4, 0x3089705f # 1.0E-9f const/4 v5, 0x0 if-nez v3, :cond_0 iget-wide v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J sub-long v6, v1, v6 long-to-float v3, v6 mul-float v3, v3, v0 mul-float v3, v3, v4 iget v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F div-float/2addr v3, v6 goto :goto_0 :cond_0 const/4 v3, 0x0 :goto_0 iget v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F add-float/2addr v6, v3 iget-boolean v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z if-eqz v3, :cond_1 iget v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F :cond_1 const/4 v3, 0x0 cmpl-float v7, v0, v5 if-lez v7, :cond_2 iget v8, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpl-float v8, v6, v8 if-gez v8, :cond_3 :cond_2 cmpg-float v8, v0, v5 if-gtz v8, :cond_4 iget v8, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpg-float v8, v6, v8 if-gtz v8, :cond_4 :cond_3 iget v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F const/4 v8, 0x1 goto :goto_1 :cond_4 const/4 v8, 0x0 :goto_1 iget-object v9, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; if-eqz v9, :cond_6 if-nez v8, :cond_6 iget-boolean v8, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z if-eqz v8, :cond_5 iget-wide v10, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J sub-long/2addr v1, v10 long-to-float v1, v1 mul-float v1, v1, v4 invoke-interface {v9, v1}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v6 goto :goto_2 :cond_5 invoke-interface {v9, v6}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v6 :cond_6 :goto_2 if-lez v7, :cond_7 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpl-float v1, v6, v1 if-gez v1, :cond_8 :cond_7 cmpg-float v0, v0, v5 if-gtz v0, :cond_9 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpg-float v0, v6, v0 if-gtz v0, :cond_9 :cond_8 iget v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F :cond_9 iput v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mPostInterpolationPosition:F invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v1 :goto_3 if-ge v3, v0, :cond_b invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v8 iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {v4, v8}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 move-object v7, v4 check-cast v7, Landroidx/constraintlayout/motion/widget/MotionController; if-eqz v7, :cond_a iget-object v12, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeyCache:Landroidx/constraintlayout/motion/widget/KeyCache; move v9, v6 move-wide v10, v1 invoke-virtual/range {v7 .. v12}, Landroidx/constraintlayout/motion/widget/MotionController;->interpolate(Landroid/view/View;FJLandroidx/constraintlayout/motion/widget/KeyCache;)Z :cond_a add-int/lit8 v3, v3, 0x1 goto :goto_3 :cond_b iget-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z if-eqz v0, :cond_c invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->requestLayout()V :cond_c return-void .end method .method private fireTransitionChange()V .locals 6 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-nez v0, :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_6 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_6 :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerPosition:F iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F cmpl-float v0, v0, v1 if-eqz v0, :cond_6 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I const/4 v1, 0x1 const/4 v2, -0x1 if-eq v0, v2, :cond_3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-eqz v0, :cond_1 iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-interface {v0, p0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionStarted(Landroidx/constraintlayout/motion/widget/MotionLayout;II)V :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_2 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-interface {v3, p0, v4, v5}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionStarted(Landroidx/constraintlayout/motion/widget/MotionLayout;II)V goto :goto_0 :cond_2 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIsAnimating:Z :cond_3 iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerPosition:F iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-eqz v2, :cond_4 iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-interface {v2, p0, v3, v4, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionChange(Landroidx/constraintlayout/motion/widget/MotionLayout;IIF)V :cond_4 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_5 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_5 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F invoke-interface {v2, p0, v3, v4, v5}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionChange(Landroidx/constraintlayout/motion/widget/MotionLayout;IIF)V goto :goto_1 :cond_5 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIsAnimating:Z :cond_6 return-void .end method .method private fireTransitionStarted(Landroidx/constraintlayout/motion/widget/MotionLayout;II)V .locals 2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-eqz v0, :cond_0 invoke-interface {v0, p0, p2, p3}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionStarted(Landroidx/constraintlayout/motion/widget/MotionLayout;II)V :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_1 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; invoke-interface {v1, p1, p2, p3}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionStarted(Landroidx/constraintlayout/motion/widget/MotionLayout;II)V goto :goto_0 :cond_1 return-void .end method .method private handlesTouchEvent(FFLandroid/view/View;Landroid/view/MotionEvent;)Z .locals 8 instance-of v0, p3, Landroid/view/ViewGroup; const/4 v1, 0x0 const/4 v2, 0x1 if-eqz v0, :cond_1 move-object v0, p3 check-cast v0, Landroid/view/ViewGroup; invoke-virtual {v0}, Landroid/view/ViewGroup;->getChildCount()I move-result v3 const/4 v4, 0x0 :goto_0 if-ge v4, v3, :cond_1 invoke-virtual {v0, v4}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v5 invoke-virtual {p3}, Landroid/view/View;->getLeft()I move-result v6 int-to-float v6, v6 add-float/2addr v6, p1 invoke-virtual {p3}, Landroid/view/View;->getTop()I move-result v7 int-to-float v7, v7 add-float/2addr v7, p2 invoke-direct {p0, v6, v7, v5, p4}, Landroidx/constraintlayout/motion/widget/MotionLayout;->handlesTouchEvent(FFLandroid/view/View;Landroid/view/MotionEvent;)Z move-result v5 if-eqz v5, :cond_0 return v2 :cond_0 add-int/lit8 v4, v4, 0x1 goto :goto_0 :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; invoke-virtual {p3}, Landroid/view/View;->getLeft()I move-result v3 int-to-float v3, v3 add-float/2addr v3, p1 invoke-virtual {p3}, Landroid/view/View;->getTop()I move-result v4 int-to-float v4, v4 add-float/2addr v4, p2 invoke-virtual {p3}, Landroid/view/View;->getRight()I move-result v5 int-to-float v5, v5 add-float/2addr p1, v5 invoke-virtual {p3}, Landroid/view/View;->getBottom()I move-result v5 int-to-float v5, v5 add-float/2addr p2, v5 invoke-virtual {v0, v3, v4, p1, p2}, Landroid/graphics/RectF;->set(FFFF)V invoke-virtual {p4}, Landroid/view/MotionEvent;->getAction()I move-result p1 if-nez p1, :cond_2 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; invoke-virtual {p4}, Landroid/view/MotionEvent;->getX()F move-result p2 invoke-virtual {p4}, Landroid/view/MotionEvent;->getY()F move-result v0 invoke-virtual {p1, p2, v0}, Landroid/graphics/RectF;->contains(FF)Z move-result p1 if-eqz p1, :cond_3 invoke-virtual {p3, p4}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 if-eqz p1, :cond_3 return v2 :cond_2 invoke-virtual {p3, p4}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 if-eqz p1, :cond_3 return v2 :cond_3 return v1 .end method .method private init(Landroid/util/AttributeSet;)V .locals 9 invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z move-result v0 sput-boolean v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->IS_IN_EDIT_MODE:Z const/4 v0, -0x1 if-eqz p1, :cond_9 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v1 sget-object v2, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout:[I invoke-virtual {v1, p1, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p1 invoke-virtual {p1}, Landroid/content/res/TypedArray;->getIndexCount()I move-result v1 const/4 v2, 0x1 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x1 :goto_0 if-ge v4, v1, :cond_7 invoke-virtual {p1, v4}, Landroid/content/res/TypedArray;->getIndex(I)I move-result v6 sget v7, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout_layoutDescription:I if-ne v6, v7, :cond_0 invoke-virtual {p1, v6, v0}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result v6 new-instance v7, Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v8 invoke-direct {v7, v8, p0, v6}, Landroidx/constraintlayout/motion/widget/MotionScene;->(Landroid/content/Context;Landroidx/constraintlayout/motion/widget/MotionLayout;I)V iput-object v7, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; goto :goto_2 :cond_0 sget v7, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout_currentState:I if-ne v6, v7, :cond_1 invoke-virtual {p1, v6, v0}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result v6 iput v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I goto :goto_2 :cond_1 sget v7, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout_motionProgress:I if-ne v6, v7, :cond_2 const/4 v7, 0x0 invoke-virtual {p1, v6, v7}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result v6 iput v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z goto :goto_2 :cond_2 sget v7, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout_applyMotionScene:I if-ne v6, v7, :cond_3 invoke-virtual {p1, v6, v5}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v5 goto :goto_2 :cond_3 sget v7, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout_showPaths:I if-ne v6, v7, :cond_5 iget v7, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I if-nez v7, :cond_6 invoke-virtual {p1, v6, v3}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v6 if-eqz v6, :cond_4 const/4 v6, 0x2 goto :goto_1 :cond_4 const/4 v6, 0x0 :goto_1 iput v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I goto :goto_2 :cond_5 sget v7, Landroidx/constraintlayout/widget/R$styleable;->MotionLayout_motionDebug:I if-ne v6, v7, :cond_6 invoke-virtual {p1, v6, v3}, Landroid/content/res/TypedArray;->getInt(II)I move-result v6 iput v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I :cond_6 :goto_2 add-int/lit8 v4, v4, 0x1 goto :goto_0 :cond_7 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez p1, :cond_8 const-string p1, "MotionLayout" const-string v1, "WARNING NO app:layoutDescription tag" invoke-static {p1, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I :cond_8 if-nez v5, :cond_9 const/4 p1, 0x0 iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; :cond_9 iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I if-eqz p1, :cond_a invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->checkStructure()V :cond_a iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I if-ne p1, v0, :cond_b iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz p1, :cond_b invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I move-result p1 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I move-result p1 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getEndId()I move-result p1 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I :cond_b return-void .end method .method private onNewStateAttachHandlers()V .locals 2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 return-void :cond_0 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I invoke-virtual {v0, p0, v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->autoTransition(Landroidx/constraintlayout/motion/widget/MotionLayout;I)Z move-result v0 if-eqz v0, :cond_1 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->requestLayout()V return-void :cond_1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I const/4 v1, -0x1 if-eq v0, v1, :cond_2 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1, p0, v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->addOnClickListeners(Landroidx/constraintlayout/motion/widget/MotionLayout;I)V :cond_2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->supportTouch()Z move-result v0 if-eqz v0, :cond_3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->setupTouch()V :cond_3 return-void .end method .method private processTransitionCompleted()V .locals 5 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-nez v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_1 :cond_0 return-void :cond_1 const/4 v0, 0x0 iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mIsAnimating:Z iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_4 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Integer; iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-eqz v2, :cond_3 invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I move-result v3 invoke-interface {v2, p0, v3}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionCompleted(Landroidx/constraintlayout/motion/widget/MotionLayout;I)V :cond_3 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v2, :cond_2 invoke-virtual {v2}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v2 :goto_0 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_2 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I move-result v4 invoke-interface {v3, p0, v4}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionCompleted(Landroidx/constraintlayout/motion/widget/MotionLayout;I)V goto :goto_0 :cond_4 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V return-void .end method .method private setupMotionViews()V .locals 12 invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v0 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->build()V const/4 v1, 0x1 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I move-result v8 invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I move-result v9 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->gatPathMotionArc()I move-result v2 const/4 v10, 0x0 const/4 v3, -0x1 if-eq v2, v3, :cond_1 const/4 v3, 0x0 :goto_0 if-ge v3, v0, :cond_1 iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v5 invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/motion/widget/MotionController; if-eqz v4, :cond_0 invoke-virtual {v4, v2}, Landroidx/constraintlayout/motion/widget/MotionController;->setPathMotionArc(I)V :cond_0 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_1 const/4 v11, 0x0 :goto_1 if-ge v11, v0, :cond_3 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v11}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v3 invoke-virtual {v2, v3}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/motion/widget/MotionController; if-eqz v2, :cond_2 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v3, v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getKeyFrames(Landroidx/constraintlayout/motion/widget/MotionController;)V iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v6 move v3, v8 move v4, v9 invoke-virtual/range {v2 .. v7}, Landroidx/constraintlayout/motion/widget/MotionController;->setup(IIFJ)V :cond_2 add-int/lit8 v11, v11, 0x1 goto :goto_1 :cond_3 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStaggered()F move-result v2 const/4 v3, 0x0 cmpl-float v3, v2, v3 if-eqz v3, :cond_e float-to-double v3, v2 const-wide/16 v5, 0x0 cmpg-double v7, v3, v5 if-gez v7, :cond_4 const/4 v3, 0x1 goto :goto_2 :cond_4 const/4 v3, 0x0 :goto_2 invoke-static {v2}, Ljava/lang/Math;->abs(F)F move-result v2 const v4, -0x800001 const v5, 0x7f7fffff # Float.MAX_VALUE const/4 v6, 0x0 const v7, 0x7f7fffff # Float.MAX_VALUE const v8, -0x800001 :goto_3 if-ge v6, v0, :cond_7 iget-object v9, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v6}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v11 invoke-virtual {v9, v11}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v9 check-cast v9, Landroidx/constraintlayout/motion/widget/MotionController; iget v11, v9, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F invoke-static {v11}, Ljava/lang/Float;->isNaN(F)Z move-result v11 if-nez v11, :cond_5 goto :goto_5 :cond_5 invoke-virtual {v9}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalX()F move-result v11 invoke-virtual {v9}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalY()F move-result v9 if-eqz v3, :cond_6 sub-float/2addr v9, v11 goto :goto_4 :cond_6 add-float/2addr v9, v11 :goto_4 invoke-static {v7, v9}, Ljava/lang/Math;->min(FF)F move-result v7 invoke-static {v8, v9}, Ljava/lang/Math;->max(FF)F move-result v8 add-int/lit8 v6, v6, 0x1 goto :goto_3 :cond_7 const/4 v1, 0x0 :goto_5 const/high16 v6, 0x3f800000 # 1.0f if-eqz v1, :cond_c const/4 v1, 0x0 :goto_6 if-ge v1, v0, :cond_9 iget-object v7, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v1}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v8 invoke-virtual {v7, v8}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/constraintlayout/motion/widget/MotionController; iget v8, v7, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F invoke-static {v8}, Ljava/lang/Float;->isNaN(F)Z move-result v8 if-nez v8, :cond_8 iget v8, v7, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F invoke-static {v5, v8}, Ljava/lang/Math;->min(FF)F move-result v5 iget v7, v7, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F invoke-static {v4, v7}, Ljava/lang/Math;->max(FF)F move-result v4 :cond_8 add-int/lit8 v1, v1, 0x1 goto :goto_6 :cond_9 :goto_7 if-ge v10, v0, :cond_e iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v10}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v7 invoke-virtual {v1, v7}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/constraintlayout/motion/widget/MotionController; iget v7, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F invoke-static {v7}, Ljava/lang/Float;->isNaN(F)Z move-result v7 if-nez v7, :cond_b sub-float v7, v6, v2 div-float v7, v6, v7 iput v7, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerScale:F if-eqz v3, :cond_a iget v7, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F sub-float v7, v4, v7 sub-float v8, v4, v5 div-float/2addr v7, v8 mul-float v7, v7, v2 sub-float v7, v2, v7 iput v7, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerOffset:F goto :goto_8 :cond_a iget v7, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mMotionStagger:F sub-float/2addr v7, v5 mul-float v7, v7, v2 sub-float v8, v4, v5 div-float/2addr v7, v8 sub-float v7, v2, v7 iput v7, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerOffset:F :cond_b :goto_8 add-int/lit8 v10, v10, 0x1 goto :goto_7 :cond_c :goto_9 if-ge v10, v0, :cond_e iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v10}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v4 invoke-virtual {v1, v4}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/constraintlayout/motion/widget/MotionController; invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalX()F move-result v4 invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalY()F move-result v5 if-eqz v3, :cond_d sub-float/2addr v5, v4 goto :goto_a :cond_d add-float/2addr v5, v4 :goto_a sub-float v4, v6, v2 div-float v4, v6, v4 iput v4, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerScale:F sub-float/2addr v5, v7 mul-float v5, v5, v2 sub-float v4, v8, v7 div-float/2addr v5, v4 sub-float v4, v2, v5 iput v4, v1, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerOffset:F add-int/lit8 v10, v10, 0x1 goto :goto_9 :cond_e return-void .end method .method public static willJump(FFF)Z .locals 5 const/4 v0, 0x1 const/4 v1, 0x0 const/high16 v2, 0x40000000 # 2.0f const/4 v3, 0x0 cmpl-float v4, p0, v3 if-lez v4, :cond_1 div-float v3, p0, p2 mul-float p0, p0, v3 mul-float p2, p2, v3 mul-float p2, p2, v3 div-float/2addr p2, v2 sub-float/2addr p0, p2 add-float/2addr p0, p1 const/high16 p1, 0x3f800000 # 1.0f cmpl-float p0, p0, p1 if-lez p0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 :cond_1 neg-float v4, p0 div-float/2addr v4, p2 mul-float p0, p0, v4 mul-float p2, p2, v4 mul-float p2, p2, v4 div-float/2addr p2, v2 add-float/2addr p2, p0 add-float/2addr p2, p1 cmpg-float p0, p2, v3 if-gez p0, :cond_2 goto :goto_1 :cond_2 const/4 v0, 0x0 :goto_1 return v0 .end method # virtual methods .method public addTransitionListener(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;)V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method public animateTo(F)V .locals 3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 return-void :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F cmpl-float v0, v0, v1 if-eqz v0, :cond_1 iget-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z if-eqz v0, :cond_1 iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F :cond_1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpl-float v1, v0, p1 if-nez v1, :cond_2 return-void :cond_2 const/4 v1, 0x0 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDuration()I move-result p1 int-to-float p1, p1 const/high16 v2, 0x447a0000 # 1000.0f div-float/2addr p1, v2 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setProgress(F)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getInterpolator()Landroid/view/animation/Interpolator; move-result-object p1 iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v1 iput-wide v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J const/4 p1, 0x1 iput-boolean p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public disableAutoTransition(Z)V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 return-void :cond_0 invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->disableAutoTransition(Z)V return-void .end method .method public dispatchDraw(Landroid/graphics/Canvas;)V .locals 9 const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->evaluate(Z)V invoke-super {p0, p1}, Landroidx/constraintlayout/widget/ConstraintLayout;->dispatchDraw(Landroid/graphics/Canvas;)V iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v1, :cond_0 return-void :cond_0 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I const/4 v2, 0x1 and-int/2addr v1, v2 if-ne v1, v2, :cond_4 invoke-virtual {p0}, Landroid/view/ViewGroup;->isInEditMode()Z move-result v1 if-nez v1, :cond_4 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I add-int/2addr v1, v2 iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v3 iget-wide v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastDrawTime:J const-wide/16 v7, -0x1 cmp-long v1, v5, v7 if-eqz v1, :cond_1 sub-long v5, v3, v5 const-wide/32 v7, 0xbebc200 cmp-long v1, v5, v7 if-lez v1, :cond_2 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I int-to-float v1, v1 long-to-float v5, v5 const v6, 0x3089705f # 1.0E-9f mul-float v5, v5, v6 div-float/2addr v1, v5 const/high16 v5, 0x42c80000 # 100.0f mul-float v1, v1, v5 float-to-int v1, v1 int-to-float v1, v1 div-float/2addr v1, v5 iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastFps:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrames:I iput-wide v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastDrawTime:J goto :goto_0 :cond_1 iput-wide v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastDrawTime:J :cond_2 :goto_0 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V const/high16 v1, 0x42280000 # 42.0f invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setTextSize(F)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getProgress()F move-result v1 const/high16 v3, 0x447a0000 # 1000.0f mul-float v1, v1, v3 float-to-int v1, v1 int-to-float v1, v1 const/high16 v3, 0x41200000 # 10.0f div-float/2addr v1, v3 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4}, Ljava/lang/StringBuilder;->()V iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastFps:F invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; const-string v5, " fps " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-static {p0, v5}, Landroidx/constraintlayout/motion/widget/Debug;->getState(Landroidx/constraintlayout/motion/widget/MotionLayout;I)Ljava/lang/String; move-result-object v5 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, " -> " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v4 invoke-static {v4}, Lf/e/c/a/a;->F(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v4 iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-static {p0, v5}, Landroidx/constraintlayout/motion/widget/Debug;->getState(Landroidx/constraintlayout/motion/widget/MotionLayout;I)Ljava/lang/String; move-result-object v5 invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v5, " (progress: " invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; const-string v1, " ) state=" invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I const/4 v5, -0x1 if-ne v1, v5, :cond_3 const-string/jumbo v1, "undefined" goto :goto_1 :cond_3 invoke-static {p0, v1}, Landroidx/constraintlayout/motion/widget/Debug;->getState(Landroidx/constraintlayout/motion/widget/MotionLayout;I)Ljava/lang/String; move-result-object v1 :goto_1 invoke-virtual {v4, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 const/high16 v4, -0x1000000 invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setColor(I)V const/high16 v4, 0x41300000 # 11.0f invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I move-result v5 add-int/lit8 v5, v5, -0x1d int-to-float v5, v5 invoke-virtual {p1, v1, v4, v5, v0}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V const v4, -0x77ff78 invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setColor(I)V invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I move-result v4 add-int/lit8 v4, v4, -0x1e int-to-float v4, v4 invoke-virtual {p1, v1, v3, v4, v0}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V :cond_4 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I if-le v0, v2, :cond_6 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDevModeDraw:Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw; if-nez v0, :cond_5 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDevModeDraw:Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw; :cond_5 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDevModeDraw:Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw; iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDuration()I move-result v2 iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I invoke-virtual {v0, p1, v1, v2, v3}, Landroidx/constraintlayout/motion/widget/MotionLayout$DevModeDraw;->draw(Landroid/graphics/Canvas;Ljava/util/HashMap;II)V :cond_6 return-void .end method .method public enableTransition(IZ)V .locals 2 invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getTransition(I)Landroidx/constraintlayout/motion/widget/MotionScene$Transition; move-result-object p1 if-eqz p2, :cond_0 const/4 p2, 0x1 invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->setEnable(Z)V return-void :cond_0 iget-object p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget-object v0, p2, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-ne p1, v0, :cond_2 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I invoke-virtual {p2, v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getTransitionsWithState(I)Ljava/util/List; move-result-object p2 invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p2 :cond_1 invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_2 invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/constraintlayout/motion/widget/MotionScene$Transition; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->isEnabled()Z move-result v1 if-eqz v1, :cond_1 iget-object p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iput-object v0, p2, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; :cond_2 const/4 p2, 0x0 invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->setEnable(Z)V return-void .end method .method public evaluate(Z)V .locals 22 move-object/from16 v0, p0 iget-wide v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J const-wide/16 v3, -0x1 cmp-long v5, v1, v3 if-nez v5, :cond_0 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v1 iput-wide v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J :cond_0 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F const/4 v2, -0x1 const/high16 v3, 0x3f800000 # 1.0f const/4 v4, 0x0 cmpl-float v5, v1, v4 if-lez v5, :cond_1 cmpg-float v1, v1, v3 if-gez v1, :cond_1 iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I :cond_1 iget-boolean v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z const/4 v5, 0x1 const/4 v6, 0x0 if-nez v1, :cond_2 iget-boolean v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z if-eqz v1, :cond_24 if-nez p1, :cond_2 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iget v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpl-float v1, v1, v7 if-eqz v1, :cond_24 :cond_2 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iget v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F sub-float/2addr v1, v7 invoke-static {v1}, Ljava/lang/Math;->signum(F)F move-result v1 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v7 iget-object v9, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; instance-of v9, v9, Landroidx/constraintlayout/motion/widget/MotionInterpolator; const v10, 0x3089705f # 1.0E-9f if-nez v9, :cond_3 iget-wide v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J sub-long v11, v7, v11 long-to-float v9, v11 mul-float v9, v9, v1 mul-float v9, v9, v10 iget v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F div-float/2addr v9, v11 iput v9, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F goto :goto_0 :cond_3 const/4 v9, 0x0 :goto_0 iget v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F add-float/2addr v11, v9 iget-boolean v12, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z if-eqz v12, :cond_4 iget v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F :cond_4 cmpl-float v12, v1, v4 if-lez v12, :cond_5 iget v13, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpl-float v13, v11, v13 if-gez v13, :cond_6 :cond_5 cmpg-float v13, v1, v4 if-gtz v13, :cond_7 iget v13, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpg-float v13, v11, v13 if-gtz v13, :cond_7 :cond_6 iget v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z const/4 v13, 0x1 goto :goto_1 :cond_7 const/4 v13, 0x0 :goto_1 iput v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput-wide v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J iget-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; const v15, 0x3727c5ac # 1.0E-5f if-eqz v14, :cond_d if-nez v13, :cond_d iget-boolean v13, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z if-eqz v13, :cond_a iget-wide v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J sub-long v2, v7, v2 long-to-float v2, v2 mul-float v2, v2, v10 invoke-interface {v14, v2}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v2 iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput-wide v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J iget-object v3, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; instance-of v7, v3, Landroidx/constraintlayout/motion/widget/MotionInterpolator; if-eqz v7, :cond_c check-cast v3, Landroidx/constraintlayout/motion/widget/MotionInterpolator; invoke-virtual {v3}, Landroidx/constraintlayout/motion/widget/MotionInterpolator;->getVelocity()F move-result v3 iput v3, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F invoke-static {v3}, Ljava/lang/Math;->abs(F)F move-result v7 iget v8, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F mul-float v7, v7, v8 cmpg-float v7, v7, v15 if-gtz v7, :cond_8 iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z :cond_8 cmpl-float v7, v3, v4 if-lez v7, :cond_9 const/high16 v7, 0x3f800000 # 1.0f cmpl-float v8, v2, v7 if-ltz v8, :cond_9 iput v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z const/high16 v2, 0x3f800000 # 1.0f :cond_9 cmpg-float v3, v3, v4 if-gez v3, :cond_c cmpg-float v3, v2, v4 if-gtz v3, :cond_c iput v4, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z const/4 v11, 0x0 goto :goto_3 :cond_a invoke-interface {v14, v11}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v2 iget-object v3, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; instance-of v7, v3, Landroidx/constraintlayout/motion/widget/MotionInterpolator; if-eqz v7, :cond_b check-cast v3, Landroidx/constraintlayout/motion/widget/MotionInterpolator; invoke-virtual {v3}, Landroidx/constraintlayout/motion/widget/MotionInterpolator;->getVelocity()F move-result v3 iput v3, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F goto :goto_2 :cond_b add-float/2addr v11, v9 invoke-interface {v3, v11}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v3 sub-float/2addr v3, v2 mul-float v3, v3, v1 div-float/2addr v3, v9 iput v3, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F :cond_c :goto_2 move v11, v2 :cond_d :goto_3 iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F invoke-static {v2}, Ljava/lang/Math;->abs(F)F move-result v2 cmpl-float v2, v2, v15 if-lez v2, :cond_e sget-object v2, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->MOVING:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V :cond_e if-lez v12, :cond_f iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpl-float v2, v11, v2 if-gez v2, :cond_10 :cond_f cmpg-float v2, v1, v4 if-gtz v2, :cond_11 iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpg-float v2, v11, v2 if-gtz v2, :cond_11 :cond_10 iget v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z :cond_11 const/high16 v2, 0x3f800000 # 1.0f cmpl-float v3, v11, v2 if-gez v3, :cond_12 cmpg-float v2, v11, v4 if-gtz v2, :cond_13 :cond_12 iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z sget-object v2, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V :cond_13 invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v2 iput-boolean v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v7 iput v11, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mPostInterpolationPosition:F const/4 v9, 0x0 :goto_4 if-ge v9, v2, :cond_15 invoke-virtual {v0, v9}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v10 iget-object v14, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {v14, v10}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v14 move-object/from16 v16, v14 check-cast v16, Landroidx/constraintlayout/motion/widget/MotionController; if-eqz v16, :cond_14 iget-boolean v14, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z iget-object v15, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeyCache:Landroidx/constraintlayout/motion/widget/KeyCache; move-object/from16 v17, v10 move/from16 v18, v11 move-wide/from16 v19, v7 move-object/from16 v21, v15 invoke-virtual/range {v16 .. v21}, Landroidx/constraintlayout/motion/widget/MotionController;->interpolate(Landroid/view/View;FJLandroidx/constraintlayout/motion/widget/KeyCache;)Z move-result v10 or-int/2addr v10, v14 iput-boolean v10, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z :cond_14 add-int/lit8 v9, v9, 0x1 goto :goto_4 :cond_15 if-lez v12, :cond_16 iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpl-float v2, v11, v2 if-gez v2, :cond_17 :cond_16 cmpg-float v2, v1, v4 if-gtz v2, :cond_18 iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F cmpg-float v2, v11, v2 if-gtz v2, :cond_18 :cond_17 const/4 v2, 0x1 goto :goto_5 :cond_18 const/4 v2, 0x0 :goto_5 iget-boolean v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z if-nez v7, :cond_19 iget-boolean v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z if-nez v7, :cond_19 if-eqz v2, :cond_19 sget-object v7, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {v0, v7}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V :cond_19 iget-boolean v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z if-eqz v7, :cond_1a invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->requestLayout()V :cond_1a iget-boolean v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z xor-int/2addr v2, v5 or-int/2addr v2, v7 iput-boolean v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z cmpg-float v2, v11, v4 if-gtz v2, :cond_1b iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I const/4 v7, -0x1 if-eq v2, v7, :cond_1b iget v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I if-eq v7, v2, :cond_1b iput v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget-object v6, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v6, v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 invoke-virtual {v2, v0}, Landroidx/constraintlayout/widget/ConstraintSet;->applyCustomAttributes(Landroidx/constraintlayout/widget/ConstraintLayout;)V sget-object v2, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V const/4 v6, 0x1 :cond_1b float-to-double v7, v11 const-wide/high16 v9, 0x3ff0000000000000L # 1.0 cmpl-double v2, v7, v9 if-ltz v2, :cond_1c iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I if-eq v2, v7, :cond_1c iput v7, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget-object v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2, v7}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 invoke-virtual {v2, v0}, Landroidx/constraintlayout/widget/ConstraintSet;->applyCustomAttributes(Landroidx/constraintlayout/widget/ConstraintLayout;)V sget-object v2, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V const/4 v6, 0x1 :cond_1c iget-boolean v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z if-nez v2, :cond_20 iget-boolean v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z if-eqz v2, :cond_1d goto :goto_6 :cond_1d if-lez v12, :cond_1e if-eqz v3, :cond_1f :cond_1e cmpg-float v2, v1, v4 if-gez v2, :cond_21 cmpl-float v2, v11, v4 if-nez v2, :cond_21 :cond_1f sget-object v2, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V goto :goto_7 :cond_20 :goto_6 invoke-virtual/range {p0 .. p0}, Landroid/view/ViewGroup;->invalidate()V :cond_21 :goto_7 iget-boolean v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mKeepAnimating:Z if-nez v2, :cond_22 iget-boolean v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z if-eqz v2, :cond_22 if-lez v12, :cond_22 if-eqz v3, :cond_23 :cond_22 cmpg-float v1, v1, v4 if-gez v1, :cond_24 cmpl-float v1, v11, v4 if-nez v1, :cond_24 :cond_23 invoke-direct/range {p0 .. p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->onNewStateAttachHandlers()V :cond_24 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F const/high16 v2, 0x3f800000 # 1.0f cmpl-float v2, v1, v2 if-ltz v2, :cond_26 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I if-eq v1, v2, :cond_25 goto :goto_8 :cond_25 move v5, v6 :goto_8 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I :goto_9 move v6, v5 goto :goto_b :cond_26 cmpg-float v1, v1, v4 if-gtz v1, :cond_28 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget v2, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I if-eq v1, v2, :cond_27 goto :goto_a :cond_27 move v5, v6 :goto_a iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I goto :goto_9 :cond_28 :goto_b iget-boolean v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z or-int/2addr v1, v6 iput-boolean v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z if-eqz v6, :cond_29 iget-boolean v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z if-nez v1, :cond_29 invoke-virtual/range {p0 .. p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->requestLayout()V :cond_29 iget v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F return-void .end method .method public fireTransitionCompleted()V .locals 3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-nez v0, :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_2 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_2 :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I const/4 v1, -0x1 if-ne v0, v1, :cond_2 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mListenerState:I iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v2 add-int/lit8 v2, v2, -0x1 invoke-virtual {v0, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/Integer; invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I move-result v0 goto :goto_0 :cond_1 const/4 v0, -0x1 :goto_0 iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I if-eq v0, v2, :cond_2 if-eq v2, v1, :cond_2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionCompleted:Ljava/util/ArrayList; invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_2 invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->processTransitionCompleted()V return-void .end method .method public fireTrigger(IZF)V .locals 2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; if-eqz v0, :cond_0 invoke-interface {v0, p0, p1, p2, p3}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionTrigger(Landroidx/constraintlayout/motion/widget/MotionLayout;IZF)V :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-eqz v0, :cond_1 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; invoke-interface {v1, p0, p1, p2, p3}, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;->onTransitionTrigger(Landroidx/constraintlayout/motion/widget/MotionLayout;IZF)V goto :goto_0 :cond_1 return-void .end method .method public getAnchorDpDt(IFFF[F)V .locals 2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, p1}, Landroidx/constraintlayout/widget/ConstraintLayout;->getViewById(I)Landroid/view/View; move-result-object v1 invoke-virtual {v0, v1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroidx/constraintlayout/motion/widget/MotionController; if-eqz v0, :cond_0 invoke-virtual {v0, p2, p3, p4, p5}, Landroidx/constraintlayout/motion/widget/MotionController;->getDpDt(FFF[F)V invoke-virtual {v1}, Landroid/view/View;->getY()F move-result p1 iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->lastPos:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->lastY:F goto :goto_1 :cond_0 if-nez v1, :cond_1 const-string p2, "" invoke-static {p2, p1}, Lf/e/c/a/a;->i(Ljava/lang/String;I)Ljava/lang/String; move-result-object p1 goto :goto_0 :cond_1 invoke-virtual {v1}, Landroid/view/View;->getContext()Landroid/content/Context; move-result-object p2 invoke-virtual {p2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p2 invoke-virtual {p2, p1}, Landroid/content/res/Resources;->getResourceName(I)Ljava/lang/String; move-result-object p1 :goto_0 const-string p2, "WARNING could not find view id " const-string p3, "MotionLayout" invoke-static {p2, p1, p3}, Lf/e/c/a/a;->V(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V :goto_1 return-void .end method .method public getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 const/4 p1, 0x0 return-object p1 :cond_0 invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object p1 return-object p1 .end method .method public getConstraintSetIds()[I .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 :cond_0 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSetIds()[I move-result-object v0 return-object v0 .end method .method public getConstraintSetNames(I)Ljava/lang/String; .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 const/4 p1, 0x0 return-object p1 :cond_0 invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->lookUpConstraintName(I)Ljava/lang/String; move-result-object p1 return-object p1 .end method .method public getCurrentState()I .locals 1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I return v0 .end method .method public getDebugMode(Z)V .locals 0 if-eqz p1, :cond_0 const/4 p1, 0x2 goto :goto_0 :cond_0 const/4 p1, 0x1 :goto_0 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public getDefinedTransitions()Ljava/util/ArrayList; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Landroidx/constraintlayout/motion/widget/MotionScene$Transition;", ">;" } .end annotation iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 :cond_0 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDefinedTransitions()Ljava/util/ArrayList; move-result-object v0 return-object v0 .end method .method public getDesignTool()Landroidx/constraintlayout/motion/widget/DesignTool; .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDesignTool:Landroidx/constraintlayout/motion/widget/DesignTool; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/DesignTool; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/DesignTool;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDesignTool:Landroidx/constraintlayout/motion/widget/DesignTool; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDesignTool:Landroidx/constraintlayout/motion/widget/DesignTool; return-object v0 .end method .method public getEndState()I .locals 1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I return v0 .end method .method public getNanoTime()J .locals 2 invoke-static {}, Ljava/lang/System;->nanoTime()J move-result-wide v0 return-wide v0 .end method .method public getProgress()F .locals 1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F return v0 .end method .method public getStartState()I .locals 1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I return v0 .end method .method public getTargetPosition()F .locals 1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F return v0 .end method .method public getTransition(I)Landroidx/constraintlayout/motion/widget/MotionScene$Transition; .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getTransitionById(I)Landroidx/constraintlayout/motion/widget/MotionScene$Transition; move-result-object p1 return-object p1 .end method .method public getTransitionState()Landroid/os/Bundle; .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->recordState()V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->getTransitionState()Landroid/os/Bundle; move-result-object v0 return-object v0 .end method .method public getTransitionTimeMs()J .locals 2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; const/high16 v1, 0x447a0000 # 1000.0f if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDuration()I move-result v0 int-to-float v0, v0 div-float/2addr v0, v1 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F mul-float v0, v0, v1 float-to-long v0, v0 return-wide v0 .end method .method public getVelocity()F .locals 1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F return v0 .end method .method public getViewVelocity(Landroid/view/View;FF[FI)V .locals 8 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; if-eqz v2, :cond_0 const v0, 0x3727c5ac # 1.0E-5f iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F sub-float/2addr v2, v1 invoke-static {v2}, Ljava/lang/Math;->signum(F)F move-result v1 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F add-float/2addr v3, v0 invoke-interface {v2, v3}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v2 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-interface {v3, v4}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result v3 sub-float/2addr v2, v3 div-float/2addr v2, v0 mul-float v2, v2, v1 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F div-float v0, v2, v0 move v2, v3 goto :goto_0 :cond_0 move v2, v1 :goto_0 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; instance-of v3, v1, Landroidx/constraintlayout/motion/widget/MotionInterpolator; if-eqz v3, :cond_1 check-cast v1, Landroidx/constraintlayout/motion/widget/MotionInterpolator; invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionInterpolator;->getVelocity()F move-result v0 :cond_1 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {v1, p1}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/constraintlayout/motion/widget/MotionController; and-int/lit8 v3, p5, 0x1 if-nez v3, :cond_2 invoke-virtual {p1}, Landroid/view/View;->getWidth()I move-result v3 invoke-virtual {p1}, Landroid/view/View;->getHeight()I move-result v4 move v5, p2 move v6, p3 move-object v7, p4 invoke-virtual/range {v1 .. v7}, Landroidx/constraintlayout/motion/widget/MotionController;->getPostLayoutDvDp(FIIFF[F)V goto :goto_1 :cond_2 invoke-virtual {v1, v2, p2, p3, p4}, Landroidx/constraintlayout/motion/widget/MotionController;->getDpDt(FFF[F)V :goto_1 const/4 p1, 0x2 if-ge p5, p1, :cond_3 const/4 p1, 0x0 aget p2, p4, p1 mul-float p2, p2, v0 aput p2, p4, p1 const/4 p1, 0x1 aget p2, p4, p1 mul-float p2, p2, v0 aput p2, p4, p1 :cond_3 return-void .end method .method public isAttachedToWindow()Z .locals 1 invoke-super {p0}, Landroid/view/ViewGroup;->isAttachedToWindow()Z move-result v0 return v0 .end method .method public isInteractionEnabled()Z .locals 1 iget-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z return v0 .end method .method public loadLayoutDescription(I)V .locals 4 if-eqz p1, :cond_0 :try_start_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v1 invoke-direct {v0, v1, p0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->(Landroid/content/Context;Landroidx/constraintlayout/motion/widget/MotionLayout;I)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result p1 if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1, p0}, Landroidx/constraintlayout/motion/widget/MotionScene;->readFallback(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-virtual {v1, v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v1 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {v2, v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 invoke-virtual {p1, v0, v1, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p0}, Landroidx/constraintlayout/widget/ConstraintLayout;->isRtl()Z move-result v0 invoke-virtual {p1, v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->setRtl(Z)V :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 move-exception p1 new-instance v0, Ljava/lang/IllegalArgumentException; const-string/jumbo v1, "unable to parse MotionScene file" invoke-direct {v0, v1, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;Ljava/lang/Throwable;)V throw v0 :cond_0 const/4 p1, 0x0 iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; :cond_1 :goto_0 return-void .end method .method public lookUpConstraintId(Ljava/lang/String;)I .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 const/4 p1, 0x0 return p1 :cond_0 invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->lookUpConstraintId(Ljava/lang/String;)I move-result p1 return p1 .end method .method public obtainVelocityTracker()Landroidx/constraintlayout/motion/widget/MotionLayout$MotionTracker; .locals 1 invoke-static {}, Landroidx/constraintlayout/motion/widget/MotionLayout$MyTracker;->obtain()Landroidx/constraintlayout/motion/widget/MotionLayout$MyTracker; move-result-object v0 return-object v0 .end method .method public onAttachedToWindow()V .locals 3 invoke-super {p0}, Landroid/view/ViewGroup;->onAttachedToWindow()V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_1 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I const/4 v2, -0x1 if-eq v1, v2, :cond_1 invoke-virtual {v0, v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v0 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1, p0}, Landroidx/constraintlayout/motion/widget/MotionScene;->readFallback(Landroidx/constraintlayout/motion/widget/MotionLayout;)V if-eqz v0, :cond_0 invoke-virtual {v0, p0}, Landroidx/constraintlayout/widget/ConstraintSet;->applyTo(Landroidx/constraintlayout/widget/ConstraintLayout;)V :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I :cond_1 invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->onNewStateAttachHandlers()V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-eqz v0, :cond_2 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->apply()V :cond_2 return-void .end method .method public onInterceptTouchEvent(Landroid/view/MotionEvent;)Z .locals 6 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; const/4 v1, 0x0 if-eqz v0, :cond_4 iget-boolean v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z if-nez v2, :cond_0 goto/16 :goto_0 :cond_0 iget-object v0, v0, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-eqz v0, :cond_4 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->isEnabled()Z move-result v2 if-eqz v2, :cond_4 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getTouchResponse()Landroidx/constraintlayout/motion/widget/TouchResponse; move-result-object v0 if-eqz v0, :cond_4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v2 if-nez v2, :cond_1 new-instance v2, Landroid/graphics/RectF; invoke-direct {v2}, Landroid/graphics/RectF;->()V invoke-virtual {v0, p0, v2}, Landroidx/constraintlayout/motion/widget/TouchResponse;->getTouchRegion(Landroid/view/ViewGroup;Landroid/graphics/RectF;)Landroid/graphics/RectF; move-result-object v2 if-eqz v2, :cond_1 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v3 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v4 invoke-virtual {v2, v3, v4}, Landroid/graphics/RectF;->contains(FF)Z move-result v2 if-nez v2, :cond_1 return v1 :cond_1 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/TouchResponse;->getTouchRegionId()I move-result v0 const/4 v2, -0x1 if-eq v0, v2, :cond_4 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; if-eqz v2, :cond_2 invoke-virtual {v2}, Landroid/view/View;->getId()I move-result v2 if-eq v2, v0, :cond_3 :cond_2 invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->findViewById(I)Landroid/view/View; move-result-object v0 iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; :cond_3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; if-eqz v0, :cond_4 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; invoke-virtual {v0}, Landroid/view/View;->getLeft()I move-result v0 int-to-float v0, v0 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; invoke-virtual {v3}, Landroid/view/View;->getTop()I move-result v3 int-to-float v3, v3 iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; invoke-virtual {v4}, Landroid/view/View;->getRight()I move-result v4 int-to-float v4, v4 iget-object v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; invoke-virtual {v5}, Landroid/view/View;->getBottom()I move-result v5 int-to-float v5, v5 invoke-virtual {v2, v0, v3, v4, v5}, Landroid/graphics/RectF;->set(FFFF)V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBoundsCheck:Landroid/graphics/RectF; invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v2 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v3 invoke-virtual {v0, v2, v3}, Landroid/graphics/RectF;->contains(FF)Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mRegionView:Landroid/view/View; const/4 v2, 0x0 invoke-direct {p0, v2, v2, v0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->handlesTouchEvent(FFLandroid/view/View;Landroid/view/MotionEvent;)Z move-result v0 if-nez v0, :cond_4 invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 :cond_4 :goto_0 return v1 .end method .method public onLayout(ZIIII)V .locals 3 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z const/4 v1, 0x0 :try_start_0 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v2, :cond_0 invoke-super/range {p0 .. p5}, Landroidx/constraintlayout/widget/ConstraintLayout;->onLayout(ZIIII)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z return-void :cond_0 sub-int/2addr p4, p2 sub-int/2addr p5, p3 :try_start_1 iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastLayoutWidth:I if-ne p1, p4, :cond_1 iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastLayoutHeight:I if-eq p1, p5, :cond_2 :cond_1 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->evaluate(Z)V :cond_2 iput p4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastLayoutWidth:I iput p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastLayoutHeight:I iput p4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOldWidth:I iput p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOldHeight:I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z return-void :catchall_0 move-exception p1 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInLayout:Z throw p1 .end method .method public onMeasure(II)V .locals 6 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 invoke-super {p0, p1, p2}, Landroidx/constraintlayout/widget/ConstraintLayout;->onMeasure(II)V return-void :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastWidthMeasureSpec:I const/4 v1, 0x0 const/4 v2, 0x1 if-ne v0, p1, :cond_2 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastHeightMeasureSpec:I if-eq v0, p2, :cond_1 goto :goto_0 :cond_1 const/4 v0, 0x0 goto :goto_1 :cond_2 :goto_0 const/4 v0, 0x1 :goto_1 iget-boolean v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z if-eqz v3, :cond_3 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mNeedsFireTransitionCompleted:Z invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->onNewStateAttachHandlers()V invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->processTransitionCompleted()V const/4 v0, 0x1 :cond_3 iget-boolean v3, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mDirtyHierarchy:Z if-eqz v3, :cond_4 const/4 v0, 0x1 :cond_4 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastWidthMeasureSpec:I iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastHeightMeasureSpec:I iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I move-result v3 iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->getEndId()I move-result v4 if-nez v0, :cond_5 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {v0, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->isNotConfiguredWith(II)Z move-result v0 if-eqz v0, :cond_6 :cond_5 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I const/4 v5, -0x1 if-eq v0, v5, :cond_6 invoke-super {p0, p1, p2}, Landroidx/constraintlayout/widget/ConstraintLayout;->onMeasure(II)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object p2, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0, v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v0 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 invoke-virtual {p1, p2, v0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->reEvaluateState()V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {p1, v3, v4}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->setMeasuredId(II)V goto :goto_2 :cond_6 const/4 v1, 0x1 :goto_2 iget-boolean p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z if-nez p1, :cond_7 if-eqz v1, :cond_c :cond_7 invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingTop()I move-result p1 invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingBottom()I move-result p2 add-int/2addr p2, p1 invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingLeft()I move-result p1 invoke-virtual {p0}, Landroid/view/ViewGroup;->getPaddingRight()I move-result v0 add-int/2addr v0, p1 iget-object p1, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; invoke-virtual {p1}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getWidth()I move-result p1 add-int/2addr p1, v0 iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; invoke-virtual {v0}, Landroidx/constraintlayout/solver/widgets/ConstraintWidget;->getHeight()I move-result v0 add-int/2addr v0, p2 iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mWidthMeasureMode:I const/high16 v1, -0x80000000 if-eq p2, v1, :cond_8 if-nez p2, :cond_9 :cond_8 iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStartWrapWidth:I int-to-float p2, p1 iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mPostInterpolationPosition:F iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndWrapWidth:I sub-int/2addr v3, p1 int-to-float p1, v3 mul-float v2, v2, p1 add-float/2addr v2, p2 float-to-int p1, v2 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->requestLayout()V :cond_9 iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mHeightMeasureMode:I if-eq p2, v1, :cond_a if-nez p2, :cond_b :cond_a iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStartWrapHeight:I int-to-float v0, p2 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mPostInterpolationPosition:F iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndWrapHeight:I sub-int/2addr v2, p2 int-to-float p2, v2 mul-float v1, v1, p2 add-float/2addr v1, v0 float-to-int v0, v1 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->requestLayout()V :cond_b invoke-virtual {p0, p1, v0}, Landroid/view/ViewGroup;->setMeasuredDimension(II)V :cond_c invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->evaluateLayout()V return-void .end method .method public onNestedFling(Landroid/view/View;FFZ)Z .locals 0 const/4 p1, 0x0 return p1 .end method .method public onNestedPreFling(Landroid/view/View;FF)Z .locals 0 const/4 p1, 0x0 return p1 .end method .method public onNestedPreScroll(Landroid/view/View;II[II)V .locals 9 iget-object p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz p5, :cond_a iget-object p5, p5, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-nez p5, :cond_0 goto/16 :goto_0 :cond_0 invoke-virtual {p5}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->isEnabled()Z move-result p5 if-nez p5, :cond_1 return-void :cond_1 iget-object p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget-object p5, p5, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; const/4 v0, -0x1 if-eqz p5, :cond_2 invoke-virtual {p5}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->isEnabled()Z move-result v1 if-eqz v1, :cond_2 invoke-virtual {p5}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getTouchResponse()Landroidx/constraintlayout/motion/widget/TouchResponse; move-result-object v1 if-eqz v1, :cond_2 invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/TouchResponse;->getTouchRegionId()I move-result v1 if-eq v1, v0, :cond_2 invoke-virtual {p1}, Landroid/view/View;->getId()I move-result v2 if-eq v2, v1, :cond_2 return-void :cond_2 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; const/high16 v2, 0x3f800000 # 1.0f const/4 v3, 0x0 if-eqz v1, :cond_4 invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMoveWhenScrollAtTop()Z move-result v1 if-eqz v1, :cond_4 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F cmpl-float v4, v1, v2 if-eqz v4, :cond_3 cmpl-float v1, v1, v3 if-nez v1, :cond_4 :cond_3 invoke-virtual {p1, v0}, Landroid/view/View;->canScrollVertically(I)Z move-result v0 if-eqz v0, :cond_4 return-void :cond_4 invoke-virtual {p5}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getTouchResponse()Landroidx/constraintlayout/motion/widget/TouchResponse; move-result-object p5 const/4 v0, 0x0 const/4 v1, 0x1 if-eqz p5, :cond_7 iget-object p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget-object p5, p5, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; invoke-virtual {p5}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getTouchResponse()Landroidx/constraintlayout/motion/widget/TouchResponse; move-result-object p5 invoke-virtual {p5}, Landroidx/constraintlayout/motion/widget/TouchResponse;->getFlags()I move-result p5 and-int/2addr p5, v1 if-eqz p5, :cond_7 iget-object p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; int-to-float v4, p2 int-to-float v5, p3 invoke-virtual {p5, v4, v5}, Landroidx/constraintlayout/motion/widget/MotionScene;->getProgressDirection(FF)F move-result p5 iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpg-float v4, v4, v3 if-gtz v4, :cond_5 cmpg-float v4, p5, v3 if-ltz v4, :cond_6 :cond_5 iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpl-float v2, v4, v2 if-ltz v2, :cond_7 cmpl-float p5, p5, v3 if-lez p5, :cond_7 :cond_6 invoke-virtual {p1, v0}, Landroid/view/View;->setNestedScrollingEnabled(Z)V new-instance p2, Landroidx/constraintlayout/motion/widget/MotionLayout$1; invoke-direct {p2, p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$1;->(Landroidx/constraintlayout/motion/widget/MotionLayout;Landroid/view/View;)V invoke-virtual {p1, p2}, Landroid/view/View;->post(Ljava/lang/Runnable;)Z return-void :cond_7 iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v2 int-to-float p5, p2 iput p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetDX:F int-to-float v4, p3 iput v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetDY:F iget-wide v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetTime:J sub-long v5, v2, v5 long-to-double v5, v5 const-wide v7, 0x3e112e0be826d695L # 1.0E-9 mul-double v5, v5, v7 double-to-float v5, v5 iput v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetDT:F iput-wide v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetTime:J iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2, p5, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->processScrollMove(FF)V iget p5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F cmpl-float p1, p1, p5 if-eqz p1, :cond_8 aput p2, p4, v0 aput p3, p4, v1 :cond_8 invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->evaluate(Z)V aget p1, p4, v0 if-nez p1, :cond_9 aget p1, p4, v1 if-eqz p1, :cond_a :cond_9 iput-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mUndergoingMotion:Z :cond_a :goto_0 return-void .end method .method public onNestedScroll(Landroid/view/View;IIIII)V .locals 0 return-void .end method .method public onNestedScroll(Landroid/view/View;IIIII[I)V .locals 0 iget-boolean p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mUndergoingMotion:Z const/4 p6, 0x0 if-nez p1, :cond_0 if-nez p2, :cond_0 if-eqz p3, :cond_1 :cond_0 aget p1, p7, p6 add-int/2addr p1, p4 aput p1, p7, p6 const/4 p1, 0x1 aget p2, p7, p1 add-int/2addr p2, p5 aput p2, p7, p1 :cond_1 iput-boolean p6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mUndergoingMotion:Z return-void .end method .method public onNestedScrollAccepted(Landroid/view/View;Landroid/view/View;II)V .locals 0 return-void .end method .method public onRtlPropertiesChanged(I)V .locals 1 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz p1, :cond_0 invoke-virtual {p0}, Landroidx/constraintlayout/widget/ConstraintLayout;->isRtl()Z move-result v0 invoke-virtual {p1, v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->setRtl(Z)V :cond_0 return-void .end method .method public onStartNestedScroll(Landroid/view/View;Landroid/view/View;II)Z .locals 0 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz p1, :cond_1 iget-object p1, p1, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-eqz p1, :cond_1 invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getTouchResponse()Landroidx/constraintlayout/motion/widget/TouchResponse; move-result-object p1 if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget-object p1, p1, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getTouchResponse()Landroidx/constraintlayout/motion/widget/TouchResponse; move-result-object p1 invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/TouchResponse;->getFlags()I move-result p1 and-int/lit8 p1, p1, 0x2 if-eqz p1, :cond_0 goto :goto_0 :cond_0 const/4 p1, 0x1 return p1 :cond_1 :goto_0 const/4 p1, 0x0 return p1 .end method .method public onStopNestedScroll(Landroid/view/View;I)V .locals 2 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez p1, :cond_0 return-void :cond_0 iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetDX:F iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetDT:F div-float/2addr p2, v0 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScrollTargetDY:F div-float/2addr v1, v0 invoke-virtual {p1, p2, v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->processScrollUp(FF)V return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_1 iget-boolean v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z if-eqz v1, :cond_1 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->supportTouch()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget-object v0, v0, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->isEnabled()Z move-result v0 if-nez v0, :cond_0 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getCurrentState()I move-result v1 invoke-virtual {v0, p1, v1, p0}, Landroidx/constraintlayout/motion/widget/MotionScene;->processTouchEvent(Landroid/view/MotionEvent;ILandroidx/constraintlayout/motion/widget/MotionLayout;)V const/4 p1, 0x1 return p1 :cond_1 invoke-super {p0, p1}, Landroid/view/ViewGroup;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 return p1 .end method .method public onViewAdded(Landroid/view/View;)V .locals 1 invoke-super {p0, p1}, Landroidx/constraintlayout/widget/ConstraintLayout;->onViewAdded(Landroid/view/View;)V instance-of v0, p1, Landroidx/constraintlayout/motion/widget/MotionHelper; if-eqz v0, :cond_4 check-cast p1, Landroidx/constraintlayout/motion/widget/MotionHelper; iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionHelper;->isUsedOnShow()Z move-result v0 if-eqz v0, :cond_2 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; if-nez v0, :cond_1 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_2 invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionHelper;->isUseOnHide()Z move-result v0 if-eqz v0, :cond_4 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; if-nez v0, :cond_3 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; :cond_3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_4 return-void .end method .method public onViewRemoved(Landroid/view/View;)V .locals 1 invoke-super {p0, p1}, Landroidx/constraintlayout/widget/ConstraintLayout;->onViewRemoved(Landroid/view/View;)V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; if-eqz v0, :cond_1 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z :cond_1 return-void .end method .method public parseLayoutDescription(I)V .locals 0 const/4 p1, 0x0 iput-object p1, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mConstraintLayoutSpec:Landroidx/constraintlayout/widget/ConstraintLayoutStates; return-void .end method .method public rebuildMotion()V .locals 2 .annotation runtime Ljava/lang/Deprecated; .end annotation const-string v0, "MotionLayout" const-string v1, "This method is deprecated. Please call rebuildScene() instead." invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V return-void .end method .method public rebuildScene()V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->reEvaluateState()V invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public removeTransitionListener(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;)Z .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 const/4 p1, 0x0 return p1 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z move-result p1 return p1 .end method .method public requestLayout()V .locals 2 iget-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mMeasureDuringTransition:Z if-nez v0, :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I const/4 v1, -0x1 if-ne v0, v1, :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_0 iget-object v0, v0, Landroidx/constraintlayout/motion/widget/MotionScene;->mCurrentTransition:Landroidx/constraintlayout/motion/widget/MotionScene$Transition; if-eqz v0, :cond_0 invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getLayoutDuringTransition()I move-result v0 if-nez v0, :cond_0 return-void :cond_0 invoke-super {p0}, Landroidx/constraintlayout/widget/ConstraintLayout;->requestLayout()V return-void .end method .method public setDebugMode(I)V .locals 0 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDebugPath:I invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public setInteractionEnabled(Z)V .locals 0 iput-boolean p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInteractionEnabled:Z return-void .end method .method public setInterpolatedProgress(F)V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_0 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->MOVING:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getInterpolator()Landroid/view/animation/Interpolator; move-result-object v0 if-eqz v0, :cond_0 invoke-interface {v0, p1}, Landroid/view/animation/Interpolator;->getInterpolation(F)F move-result p1 invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setProgress(F)V return-void :cond_0 invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setProgress(F)V return-void .end method .method public setOnHide(F)V .locals 3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnHideHelpers:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/motion/widget/MotionHelper; invoke-virtual {v2, p1}, Landroidx/constraintlayout/motion/widget/MotionHelper;->setProgress(F)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public setOnShow(F)V .locals 3 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; if-eqz v0, :cond_0 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_0 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mOnShowHelpers:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/constraintlayout/motion/widget/MotionHelper; invoke-virtual {v2, p1}, Landroidx/constraintlayout/motion/widget/MotionHelper;->setProgress(F)V add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_0 return-void .end method .method public setProgress(F)V .locals 3 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setProgress(F)V return-void :cond_1 const/4 v0, 0x0 cmpg-float v1, p1, v0 if-gtz v1, :cond_2 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpl-float v0, v1, v0 if-nez v0, :cond_4 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V goto :goto_0 :cond_2 const/high16 v0, 0x3f800000 # 1.0f cmpl-float v1, p1, v0 if-ltz v1, :cond_3 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpl-float v0, v1, v0 if-nez v0, :cond_4 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V goto :goto_0 :cond_3 const/4 v0, -0x1 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->MOVING:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V :cond_4 :goto_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_5 return-void :cond_5 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F const-wide/16 v1, -0x1 iput-wide v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J iput-wide v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J const/4 p1, 0x0 iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public setProgress(FF)V .locals 1 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setProgress(F)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setVelocity(F)V return-void :cond_1 invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setProgress(F)V sget-object p1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->MOVING:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F const/high16 p1, 0x3f800000 # 1.0f invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->animateTo(F)V return-void .end method .method public setScene(Landroidx/constraintlayout/motion/widget/MotionScene;)V .locals 1 iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p0}, Landroidx/constraintlayout/widget/ConstraintLayout;->isRtl()Z move-result v0 invoke-virtual {p1, v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->setRtl(Z)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V return-void .end method .method public setState(III)V .locals 1 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->SETUP:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I const/4 v0, -0x1 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mConstraintLayoutSpec:Landroidx/constraintlayout/widget/ConstraintLayoutStates; if-eqz v0, :cond_0 int-to-float p2, p2 int-to-float p3, p3 invoke-virtual {v0, p1, p2, p3}, Landroidx/constraintlayout/widget/ConstraintLayoutStates;->updateConstraints(IFF)V goto :goto_0 :cond_0 iget-object p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz p2, :cond_1 invoke-virtual {p2, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object p1 invoke-virtual {p1, p0}, Landroidx/constraintlayout/widget/ConstraintSet;->applyTo(Landroidx/constraintlayout/widget/ConstraintLayout;)V :cond_1 :goto_0 return-void .end method .method public setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V .locals 2 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; if-ne p1, v0, :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I const/4 v1, -0x1 if-ne v0, v1, :cond_0 return-void :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionState:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionState:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; sget-object v1, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->MOVING:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; if-ne v0, v1, :cond_1 if-ne p1, v1, :cond_1 invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->fireTransitionChange()V :cond_1 invoke-virtual {v0}, Ljava/lang/Enum;->ordinal()I move-result v0 if-eqz v0, :cond_3 const/4 v1, 0x1 if-eq v0, v1, :cond_3 const/4 v1, 0x2 if-eq v0, v1, :cond_2 goto :goto_0 :cond_2 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; if-ne p1, v0, :cond_5 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->fireTransitionCompleted()V goto :goto_0 :cond_3 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->MOVING:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; if-ne p1, v0, :cond_4 invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->fireTransitionChange()V :cond_4 sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->FINISHED:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; if-ne p1, v0, :cond_5 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->fireTransitionCompleted()V :cond_5 :goto_0 return-void .end method .method public setTransition(I)V .locals 6 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_6 invoke-virtual {p0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getTransition(I)Landroidx/constraintlayout/motion/widget/MotionScene$Transition; move-result-object p1 invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getStartConstraintSetId()I move-result v0 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->getEndConstraintSetId()I move-result v0 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result v0 if-nez v0, :cond_1 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez p1, :cond_0 new-instance p1, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {p1, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-virtual {p1, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setStartState(I)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {p1, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setEndState(I)V return-void :cond_1 const/high16 v0, 0x7fc00000 # Float.NaN iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I const/4 v3, 0x0 if-ne v1, v2, :cond_2 const/4 v0, 0x0 goto :goto_0 :cond_2 iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I if-ne v1, v2, :cond_3 const/high16 v0, 0x3f800000 # 1.0f :cond_3 :goto_0 iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->setTransition(Landroidx/constraintlayout/motion/widget/MotionScene$Transition;)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object v1, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-virtual {v2, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {v4, v5}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v4 invoke-virtual {p1, v1, v2, v4}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z move-result p1 if-eqz p1, :cond_4 goto :goto_1 :cond_4 move v3, v0 :goto_1 iput v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-static {v0}, Ljava/lang/Float;->isNaN(F)Z move-result p1 if-eqz p1, :cond_5 new-instance p1, Ljava/lang/StringBuilder; invoke-direct {p1}, Ljava/lang/StringBuilder;->()V invoke-static {}, Landroidx/constraintlayout/motion/widget/Debug;->getLocation()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, " transitionToStart " invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 const-string v0, "MotionLayout" invoke-static {v0, p1}, Landroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->transitionToStart()V goto :goto_2 :cond_5 invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setProgress(F)V :cond_6 :goto_2 return-void .end method .method public setTransition(II)V .locals 3 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setStartState(I)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {p1, p2}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setEndState(I)V return-void :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_2 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/widget/MotionScene;->setTransition(II)V iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object v1, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object p1 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v2, p2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object p2 invoke-virtual {v0, v1, p1, p2}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V const/4 p1, 0x0 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->transitionToStart()V :cond_2 return-void .end method .method public setTransition(Landroidx/constraintlayout/motion/widget/MotionScene$Transition;)V .locals 4 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->setTransition(Landroidx/constraintlayout/motion/widget/MotionScene$Transition;)V sget-object v0, Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;->SETUP:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState; invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setState(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionState;)V iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getEndId()I move-result v1 if-ne v0, v1, :cond_0 const/high16 v0, 0x3f800000 # 1.0f iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F goto :goto_0 :cond_0 const/4 v0, 0x0 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F :goto_0 const/4 v0, 0x1 invoke-virtual {p1, v0}, Landroidx/constraintlayout/motion/widget/MotionScene$Transition;->isTransitionFlag(I)Z move-result p1 if-eqz p1, :cond_1 const-wide/16 v0, -0x1 goto :goto_1 :cond_1 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v0 :goto_1 iput-wide v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I move-result p1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getEndId()I move-result v0 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I if-ne p1, v1, :cond_2 iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I if-ne v0, v1, :cond_2 return-void :cond_2 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1, p1, v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->setTransition(II)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object v0, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-virtual {v1, v2}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v1 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {v2, v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 invoke-virtual {p1, v0, v1, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {p1, v0, v1}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->setMeasuredId(II)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->reEvaluateState()V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V return-void .end method .method public setTransitionDuration(I)V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 const-string p1, "MotionLayout" const-string v0, "MotionScene not defined" invoke-static {p1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I return-void :cond_0 invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->setDuration(I)V return-void .end method .method public setTransitionListener(Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener;)V .locals 0 iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionListener:Landroidx/constraintlayout/motion/widget/MotionLayout$TransitionListener; return-void .end method .method public setTransitionState(Landroid/os/Bundle;)V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setTransitionState(Landroid/os/Bundle;)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result p1 if-eqz p1, :cond_1 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->apply()V :cond_1 return-void .end method .method public toString()Ljava/lang/String; .locals 3 invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v0 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-static {v0, v2}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v2, "->" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-static {v0, v2}, Landroidx/constraintlayout/motion/widget/Debug;->getName(Landroid/content/Context;I)Ljava/lang/String; move-result-object v0 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; const-string v0, " (pos:" invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; const-string v0, " Dpos/Dt:" invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method .method public touchAnimateTo(IFF)V .locals 9 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-nez v0, :cond_0 return-void :cond_0 iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F cmpl-float v0, v0, p2 if-nez v0, :cond_1 return-void :cond_1 const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v1 iput-wide v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDuration()I move-result v1 int-to-float v1, v1 const/high16 v2, 0x447a0000 # 1000.0f div-float/2addr v1, v2 iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput-boolean v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z const/4 v1, 0x0 const/4 v2, 0x2 if-eqz p1, :cond_5 if-eq p1, v0, :cond_5 if-eq p1, v2, :cond_5 const/4 v0, 0x4 if-eq p1, v0, :cond_4 const/4 v0, 0x5 if-eq p1, v0, :cond_2 goto/16 :goto_1 :cond_2 iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxAcceleration()F move-result v0 invoke-static {p3, p1, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->willJump(FFF)Z move-result p1 if-eqz p1, :cond_3 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxAcceleration()F move-result v0 invoke-virtual {p1, p3, p2, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator;->config(FFF)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; goto :goto_1 :cond_3 iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxAcceleration()F move-result v7 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxVelocity()F move-result v8 move v4, p2 move v5, p3 invoke-virtual/range {v2 .. v8}, Landroidx/constraintlayout/motion/utils/StopLogic;->config(FFFFFF)V iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mLastVelocity:F iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; goto :goto_1 :cond_4 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v0}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxAcceleration()F move-result v0 invoke-virtual {p1, p3, p2, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator;->config(FFF)V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mDecelerateLogic:Landroidx/constraintlayout/motion/widget/MotionLayout$DecelerateInterpolator; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; goto :goto_1 :cond_5 if-ne p1, v0, :cond_6 const/4 p2, 0x0 goto :goto_0 :cond_6 if-ne p1, v2, :cond_7 const/high16 p2, 0x3f800000 # 1.0f :cond_7 :goto_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; iget v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxAcceleration()F move-result v5 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getMaxVelocity()F move-result v6 move v2, p2 move v3, p3 invoke-virtual/range {v0 .. v6}, Landroidx/constraintlayout/motion/utils/StopLogic;->config(FFFFFF)V iget p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iput p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStopLogic:Landroidx/constraintlayout/motion/utils/StopLogic; iput-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; :goto_1 const/4 p1, 0x0 iput-boolean p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide p1 iput-wide p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public transitionToEnd()V .locals 1 const/high16 v0, 0x3f800000 # 1.0f invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->animateTo(F)V return-void .end method .method public transitionToStart()V .locals 1 const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->animateTo(F)V return-void .end method .method public transitionToState(I)V .locals 1 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->isAttachedToWindow()Z move-result v0 if-nez v0, :cond_1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; if-nez v0, :cond_0 new-instance v0, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-direct {v0, p0}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->(Landroidx/constraintlayout/motion/widget/MotionLayout;)V iput-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; :cond_0 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mStateCache:Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache; invoke-virtual {v0, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$StateCache;->setEndState(I)V return-void :cond_1 const/4 v0, -0x1 invoke-virtual {p0, p1, v0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->transitionToState(III)V return-void .end method .method public transitionToState(III)V .locals 11 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; const/4 v1, -0x1 if-eqz v0, :cond_0 iget-object v0, v0, Landroidx/constraintlayout/motion/widget/MotionScene;->mStateSet:Landroidx/constraintlayout/widget/StateSet; if-eqz v0, :cond_0 iget v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I int-to-float p2, p2 int-to-float p3, p3 invoke-virtual {v0, v2, p1, p2, p3}, Landroidx/constraintlayout/widget/StateSet;->convertToConstraintSet(IIFF)I move-result p2 if-eq p2, v1, :cond_0 move p1, p2 :cond_0 iget p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I if-ne p2, p1, :cond_1 return-void :cond_1 iget p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I const/4 v0, 0x0 if-ne p3, p1, :cond_2 invoke-virtual {p0, v0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->animateTo(F)V return-void :cond_2 iget p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I const/high16 v2, 0x3f800000 # 1.0f if-ne p3, p1, :cond_3 invoke-virtual {p0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->animateTo(F)V return-void :cond_3 iput p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I if-eq p2, v1, :cond_4 invoke-virtual {p0, p2, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout;->setTransition(II)V invoke-virtual {p0, v2}, Landroidx/constraintlayout/motion/widget/MotionLayout;->animateTo(F)V iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->transitionToEnd()V return-void :cond_4 const/4 p2, 0x0 iput-boolean p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTemporalInterpolator:Z iput v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionGoalPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v3 iput-wide v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastTime:J invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v3 iput-wide v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mAnimationStartTime:J iput-boolean p2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionInstantly:Z const/4 p3, 0x0 iput-object p3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInterpolator:Landroid/view/animation/Interpolator; iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getDuration()I move-result v3 int-to-float v3, v3 const/high16 v4, 0x447a0000 # 1000.0f div-float/2addr v3, v4 iput v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F iput v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {v3, v1, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->setTransition(II)V iget-object v1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStartId()I invoke-virtual {p0}, Landroid/view/ViewGroup;->getChildCount()I move-result v1 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {v3}, Ljava/util/HashMap;->clear()V const/4 v3, 0x0 :goto_0 if-ge v3, v1, :cond_5 invoke-virtual {p0, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v4 new-instance v5, Landroidx/constraintlayout/motion/widget/MotionController; invoke-direct {v5, v4}, Landroidx/constraintlayout/motion/widget/MotionController;->(Landroid/view/View;)V iget-object v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {v6, v4, v5}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_5 const/4 v3, 0x1 iput-boolean v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object v5, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v6, p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object p1 invoke-virtual {v4, v5, p3, p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->build()V invoke-direct {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->computeCurrentPositions()V invoke-virtual {p0}, Landroid/view/ViewGroup;->getWidth()I move-result p1 invoke-virtual {p0}, Landroid/view/ViewGroup;->getHeight()I move-result p3 const/4 v10, 0x0 :goto_1 if-ge v10, v1, :cond_6 iget-object v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v10}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v5 invoke-virtual {v4, v5}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/constraintlayout/motion/widget/MotionController; iget-object v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {v5, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->getKeyFrames(Landroidx/constraintlayout/motion/widget/MotionController;)V iget v7, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionDuration:F invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getNanoTime()J move-result-wide v8 move v5, p1 move v6, p3 invoke-virtual/range {v4 .. v9}, Landroidx/constraintlayout/motion/widget/MotionController;->setup(IIFJ)V add-int/lit8 v10, v10, 0x1 goto :goto_1 :cond_6 iget-object p1, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; invoke-virtual {p1}, Landroidx/constraintlayout/motion/widget/MotionScene;->getStaggered()F move-result p1 cmpl-float p3, p1, v0 if-eqz p3, :cond_8 const p3, 0x7f7fffff # Float.MAX_VALUE const v4, -0x800001 const/4 v5, 0x0 :goto_2 if-ge v5, v1, :cond_7 iget-object v6, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, v5}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v7 invoke-virtual {v6, v7}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v6 check-cast v6, Landroidx/constraintlayout/motion/widget/MotionController; invoke-virtual {v6}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalX()F move-result v7 invoke-virtual {v6}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalY()F move-result v6 add-float/2addr v6, v7 invoke-static {p3, v6}, Ljava/lang/Math;->min(FF)F move-result p3 invoke-static {v4, v6}, Ljava/lang/Math;->max(FF)F move-result v4 add-int/lit8 v5, v5, 0x1 goto :goto_2 :cond_7 :goto_3 if-ge p2, v1, :cond_8 iget-object v5, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mFrameArrayList:Ljava/util/HashMap; invoke-virtual {p0, p2}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v6 invoke-virtual {v5, v6}, Ljava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/constraintlayout/motion/widget/MotionController; invoke-virtual {v5}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalX()F move-result v6 invoke-virtual {v5}, Landroidx/constraintlayout/motion/widget/MotionController;->getFinalY()F move-result v7 sub-float v8, v2, p1 div-float v8, v2, v8 iput v8, v5, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerScale:F add-float/2addr v6, v7 sub-float/2addr v6, p3 mul-float v6, v6, p1 sub-float v7, v4, p3 div-float/2addr v6, v7 sub-float v6, p1, v6 iput v6, v5, Landroidx/constraintlayout/motion/widget/MotionController;->mStaggerOffset:F add-int/lit8 p2, p2, 0x1 goto :goto_3 :cond_8 iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionPosition:F iput v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mTransitionLastPosition:F iput-boolean v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mInTransition:Z invoke-virtual {p0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public updateState()V .locals 5 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mModel:Landroidx/constraintlayout/motion/widget/MotionLayout$Model; iget-object v1, p0, Landroidx/constraintlayout/widget/ConstraintLayout;->mLayoutWidget:Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer; iget-object v2, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mBeginState:I invoke-virtual {v2, v3}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v2 iget-object v3, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; iget v4, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mEndState:I invoke-virtual {v3, v4}, Landroidx/constraintlayout/motion/widget/MotionScene;->getConstraintSet(I)Landroidx/constraintlayout/widget/ConstraintSet; move-result-object v3 invoke-virtual {v0, v1, v2, v3}, Landroidx/constraintlayout/motion/widget/MotionLayout$Model;->initFrom(Landroidx/constraintlayout/solver/widgets/ConstraintWidgetContainer;Landroidx/constraintlayout/widget/ConstraintSet;Landroidx/constraintlayout/widget/ConstraintSet;)V invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->rebuildScene()V return-void .end method .method public updateState(ILandroidx/constraintlayout/widget/ConstraintSet;)V .locals 1 iget-object v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mScene:Landroidx/constraintlayout/motion/widget/MotionScene; if-eqz v0, :cond_0 invoke-virtual {v0, p1, p2}, Landroidx/constraintlayout/motion/widget/MotionScene;->setConstraintSet(ILandroidx/constraintlayout/widget/ConstraintSet;)V :cond_0 invoke-virtual {p0}, Landroidx/constraintlayout/motion/widget/MotionLayout;->updateState()V iget v0, p0, Landroidx/constraintlayout/motion/widget/MotionLayout;->mCurrentState:I if-ne v0, p1, :cond_1 invoke-virtual {p2, p0}, Landroidx/constraintlayout/widget/ConstraintSet;->applyTo(Landroidx/constraintlayout/widget/ConstraintLayout;)V :cond_1 return-void .end method