.class public Landroid/support/v4/widget/ViewDragHelper; .super Ljava/lang/Object; .source "ViewDragHelper.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v4/widget/ViewDragHelper$Callback; } .end annotation # static fields .field private static final BASE_SETTLE_DURATION:I = 0x100 .field public static final DIRECTION_ALL:I = 0x3 .field public static final DIRECTION_HORIZONTAL:I = 0x1 .field public static final DIRECTION_VERTICAL:I = 0x2 .field public static final EDGE_ALL:I = 0xf .field public static final EDGE_BOTTOM:I = 0x8 .field public static final EDGE_LEFT:I = 0x1 .field public static final EDGE_RIGHT:I = 0x2 .field private static final EDGE_SIZE:I = 0x14 .field public static final EDGE_TOP:I = 0x4 .field public static final INVALID_POINTER:I = -0x1 .field private static final MAX_SETTLE_DURATION:I = 0x258 .field public static final STATE_DRAGGING:I = 0x1 .field public static final STATE_IDLE:I = 0x0 .field public static final STATE_SETTLING:I = 0x2 .field private static final TAG:Ljava/lang/String; = "ViewDragHelper" .field private static final sInterpolator:Landroid/view/animation/Interpolator; # instance fields .field private mActivePointerId:I .field private final mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; .field private mCapturedView:Landroid/view/View; .field private mDragState:I .field private mEdgeDragsInProgress:[I .field private mEdgeDragsLocked:[I .field private mEdgeSize:I .field private mInitialEdgesTouched:[I .field private mInitialMotionX:[F .field private mInitialMotionY:[F .field private mLastMotionX:[F .field private mLastMotionY:[F .field private mMaxVelocity:F .field private mMinVelocity:F .field private final mParentView:Landroid/view/ViewGroup; .field private mPointersDown:I .field private mReleaseInProgress:Z .field private mScroller:Landroid/support/v4/widget/ScrollerCompat; .field private final mSetIdleRunnable:Ljava/lang/Runnable; .field private mTouchSlop:I .field private mTrackingEdges:I .field private mVelocityTracker:Landroid/view/VelocityTracker; # direct methods .method static constructor ()V .registers 1 .prologue .line 326 new-instance v0, Landroid/support/v4/widget/ViewDragHelper$1; invoke-direct {v0}, Landroid/support/v4/widget/ViewDragHelper$1;->()V sput-object v0, Landroid/support/v4/widget/ViewDragHelper;->sInterpolator:Landroid/view/animation/Interpolator; return-void .end method .method private constructor (Landroid/content/Context;Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)V .registers 8 .param p1, "context" # Landroid/content/Context; .param p2, "forParent" # Landroid/view/ViewGroup; .param p3, "cb" # Landroid/support/v4/widget/ViewDragHelper$Callback; .prologue .line 373 invoke-direct {p0}, Ljava/lang/Object;->()V .line 115 const/4 v2, -0x1 iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I .line 333 new-instance v2, Landroid/support/v4/widget/ViewDragHelper$2; invoke-direct {v2, p0}, Landroid/support/v4/widget/ViewDragHelper$2;->(Landroid/support/v4/widget/ViewDragHelper;)V iput-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mSetIdleRunnable:Ljava/lang/Runnable; .line 374 if-nez p2, :cond_17 .line 375 new-instance v2, Ljava/lang/IllegalArgumentException; const-string v3, "Parent view may not be null" invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v2 .line 377 :cond_17 if-nez p3, :cond_21 .line 378 new-instance v2, Ljava/lang/IllegalArgumentException; const-string v3, "Callback may not be null" invoke-direct {v2, v3}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v2 .line 381 :cond_21 iput-object p2, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; .line 382 iput-object p3, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; .line 384 invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v1 .line 385 .local v1, "vc":Landroid/view/ViewConfiguration; invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v2 invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v2 iget v0, v2, Landroid/util/DisplayMetrics;->density:F .line 386 .local v0, "density":F const/high16 v2, 0x41a00000 mul-float/2addr v2, v0 const/high16 v3, 0x3f000000 add-float/2addr v2, v3 float-to-int v2, v2 iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I .line 388 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v2 iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I .line 389 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I move-result v2 int-to-float v2, v2 iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F .line 390 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I move-result v2 int-to-float v2, v2 iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F .line 391 sget-object v2, Landroid/support/v4/widget/ViewDragHelper;->sInterpolator:Landroid/view/animation/Interpolator; invoke-static {p1, v2}, Landroid/support/v4/widget/ScrollerCompat;->create(Landroid/content/Context;Landroid/view/animation/Interpolator;)Landroid/support/v4/widget/ScrollerCompat; move-result-object v2 iput-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; .line 392 return-void .end method .method private checkNewEdgeDrag(FFII)Z .registers 10 .param p1, "delta" # F .param p2, "odelta" # F .param p3, "pointerId" # I .param p4, "edge" # I .prologue const/4 v2, 0x0 .line 1218 invoke-static {p1}, Ljava/lang/Math;->abs(F)F move-result v0 .line 1219 .local v0, "absDelta":F invoke-static {p2}, Ljava/lang/Math;->abs(F)F move-result v1 .line 1221 .local v1, "absODelta":F iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I aget v3, v3, p3 and-int/2addr v3, p4 if-ne v3, p4, :cond_31 iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I and-int/2addr v3, p4 if-eqz v3, :cond_31 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I aget v3, v3, p3 and-int/2addr v3, p4 if-eq v3, p4, :cond_31 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I aget v3, v3, p3 and-int/2addr v3, p4 if-eq v3, p4, :cond_31 iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v3, v3 cmpg-float v3, v0, v3 if-gtz v3, :cond_32 iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v3, v3 cmpg-float v3, v1, v3 if-gtz v3, :cond_32 .line 1231 :cond_31 :goto_31 return v2 .line 1227 :cond_32 const/high16 v3, 0x3f000000 mul-float/2addr v3, v1 cmpg-float v3, v0, v3 if-gez v3, :cond_49 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v3, p4}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeLock(I)Z move-result v3 if-eqz v3, :cond_49 .line 1228 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I aget v4, v3, p3 or-int/2addr v4, p4 aput v4, v3, p3 goto :goto_31 .line 1231 :cond_49 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I aget v3, v3, p3 and-int/2addr v3, p4 if-nez v3, :cond_31 iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v3, v3 cmpl-float v3, v0, v3 if-lez v3, :cond_31 const/4 v2, 0x1 goto :goto_31 .end method .method private checkTouchSlop(Landroid/view/View;FF)Z .registers 11 .param p1, "child" # Landroid/view/View; .param p2, "dx" # F .param p3, "dy" # F .prologue const/4 v2, 0x1 const/4 v3, 0x0 .line 1245 if-nez p1, :cond_6 move v2, v3 .line 1258 :cond_5 :goto_5 return v2 .line 1248 :cond_6 iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v4, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewHorizontalDragRange(Landroid/view/View;)I move-result v4 if-lez v4, :cond_2d move v0, v2 .line 1249 .local v0, "checkHorizontal":Z :goto_f iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v4, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewVerticalDragRange(Landroid/view/View;)I move-result v4 if-lez v4, :cond_2f move v1, v2 .line 1251 .local v1, "checkVertical":Z :goto_18 if-eqz v0, :cond_31 if-eqz v1, :cond_31 .line 1252 mul-float v4, p2, p2 mul-float v5, p3, p3 add-float/2addr v4, v5 iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I iget v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I mul-int/2addr v5, v6 int-to-float v5, v5 cmpl-float v4, v4, v5 if-gtz v4, :cond_5 move v2, v3 goto :goto_5 .end local v0 # "checkHorizontal":Z .end local v1 # "checkVertical":Z :cond_2d move v0, v3 .line 1248 goto :goto_f .restart local v0 # "checkHorizontal":Z :cond_2f move v1, v3 .line 1249 goto :goto_18 .line 1253 .restart local v1 # "checkVertical":Z :cond_31 if-eqz v0, :cond_40 .line 1254 invoke-static {p2}, Ljava/lang/Math;->abs(F)F move-result v4 iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v5, v5 cmpl-float v4, v4, v5 if-gtz v4, :cond_5 move v2, v3 goto :goto_5 .line 1255 :cond_40 if-eqz v1, :cond_4f .line 1256 invoke-static {p3}, Ljava/lang/Math;->abs(F)F move-result v4 iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v5, v5 cmpl-float v4, v4, v5 if-gtz v4, :cond_5 move v2, v3 goto :goto_5 :cond_4f move v2, v3 .line 1258 goto :goto_5 .end method .method private clampMag(FFF)F .registers 7 .param p1, "value" # F .param p2, "absMin" # F .param p3, "absMax" # F .prologue const/4 v1, 0x0 .line 667 invoke-static {p1}, Ljava/lang/Math;->abs(F)F move-result v0 .line 668 .local v0, "absValue":F cmpg-float v2, v0, p2 if-gez v2, :cond_b move p3, v1 .line 670 .end local p3 # "absMax":F :cond_a :goto_a return p3 .line 669 .restart local p3 # "absMax":F :cond_b cmpl-float v2, v0, p3 if-lez v2, :cond_15 cmpl-float v1, p1, v1 if-gtz v1, :cond_a neg-float p3, p3 goto :goto_a :cond_15 move p3, p1 .line 670 goto :goto_a .end method .method private clampMag(III)I .registers 5 .param p1, "value" # I .param p2, "absMin" # I .param p3, "absMax" # I .prologue .line 650 invoke-static {p1}, Ljava/lang/Math;->abs(I)I move-result v0 .line 651 .local v0, "absValue":I if-ge v0, p2, :cond_8 const/4 p3, 0x0 .line 653 .end local p3 # "absMax":I :cond_7 :goto_7 return p3 .line 652 .restart local p3 # "absMax":I :cond_8 if-le v0, p3, :cond_e if-gtz p1, :cond_7 neg-int p3, p3 goto :goto_7 :cond_e move p3, p1 .line 653 goto :goto_7 .end method .method private clearMotionHistory()V .registers 4 .prologue const/4 v2, 0x0 const/4 v1, 0x0 .line 770 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F if-nez v0, :cond_7 .line 781 :goto_6 return-void .line 773 :cond_7 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V .line 774 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V .line 775 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V .line 776 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F invoke-static {v0, v1}, Ljava/util/Arrays;->fill([FF)V .line 777 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I invoke-static {v0, v2}, Ljava/util/Arrays;->fill([II)V .line 778 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I invoke-static {v0, v2}, Ljava/util/Arrays;->fill([II)V .line 779 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I invoke-static {v0, v2}, Ljava/util/Arrays;->fill([II)V .line 780 iput v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I goto :goto_6 .end method .method private clearMotionHistory(I)V .registers 5 .param p1, "pointerId" # I .prologue const/4 v2, 0x0 const/4 v1, 0x0 .line 784 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F if-nez v0, :cond_7 .line 795 :goto_6 return-void .line 787 :cond_7 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F aput v1, v0, p1 .line 788 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F aput v1, v0, p1 .line 789 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F aput v1, v0, p1 .line 790 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F aput v1, v0, p1 .line 791 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I aput v2, v0, p1 .line 792 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I aput v2, v0, p1 .line 793 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I aput v2, v0, p1 .line 794 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I const/4 v1, 0x1 shl-int/2addr v1, p1 xor-int/lit8 v1, v1, -0x1 and-int/2addr v0, v1 iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I goto :goto_6 .end method .method private computeAxisDuration(III)I .registers 14 .param p1, "delta" # I .param p2, "velocity" # I .param p3, "motionRange" # I .prologue const/high16 v9, 0x3f800000 .line 618 if-nez p1, :cond_6 .line 619 const/4 v6, 0x0 .line 636 :goto_5 return v6 .line 622 :cond_6 iget-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v6}, Landroid/view/ViewGroup;->getWidth()I move-result v5 .line 623 .local v5, "width":I div-int/lit8 v3, v5, 0x2 .line 624 .local v3, "halfWidth":I invoke-static {p1}, Ljava/lang/Math;->abs(I)I move-result v6 int-to-float v6, v6 int-to-float v7, v5 div-float/2addr v6, v7 invoke-static {v9, v6}, Ljava/lang/Math;->min(FF)F move-result v1 .line 625 .local v1, "distanceRatio":F int-to-float v6, v3 int-to-float v7, v3 invoke-direct {p0, v1}, Landroid/support/v4/widget/ViewDragHelper;->distanceInfluenceForSnapDuration(F)F move-result v8 mul-float/2addr v7, v8 add-float v0, v6, v7 .line 629 .local v0, "distance":F invoke-static {p2}, Ljava/lang/Math;->abs(I)I move-result p2 .line 630 if-lez p2, :cond_3f .line 631 const/high16 v6, 0x447a0000 int-to-float v7, p2 div-float v7, v0, v7 invoke-static {v7}, Ljava/lang/Math;->abs(F)F move-result v7 mul-float/2addr v6, v7 invoke-static {v6}, Ljava/lang/Math;->round(F)I move-result v6 mul-int/lit8 v2, v6, 0x4 .line 636 .local v2, "duration":I :goto_38 const/16 v6, 0x258 invoke-static {v2, v6}, Ljava/lang/Math;->min(II)I move-result v6 goto :goto_5 .line 633 .end local v2 # "duration":I :cond_3f invoke-static {p1}, Ljava/lang/Math;->abs(I)I move-result v6 int-to-float v6, v6 int-to-float v7, p3 div-float v4, v6, v7 .line 634 .local v4, "range":F add-float v6, v4, v9 const/high16 v7, 0x43800000 mul-float/2addr v6, v7 float-to-int v2, v6 .restart local v2 # "duration":I goto :goto_38 .end method .method private computeSettleDuration(Landroid/view/View;IIII)I .registers 20 .param p1, "child" # Landroid/view/View; .param p2, "dx" # I .param p3, "dy" # I .param p4, "xvel" # I .param p5, "yvel" # I .prologue .line 597 iget v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F float-to-int v12, v12 iget v13, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F float-to-int v13, v13 move/from16 v0, p4 invoke-direct {p0, v0, v12, v13}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(III)I move-result p4 .line 598 iget v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F float-to-int v12, v12 iget v13, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F float-to-int v13, v13 move/from16 v0, p5 invoke-direct {p0, v0, v12, v13}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(III)I move-result p5 .line 599 invoke-static/range {p2 .. p2}, Ljava/lang/Math;->abs(I)I move-result v2 .line 600 .local v2, "absDx":I invoke-static/range {p3 .. p3}, Ljava/lang/Math;->abs(I)I move-result v3 .line 601 .local v3, "absDy":I invoke-static/range {p4 .. p4}, Ljava/lang/Math;->abs(I)I move-result v4 .line 602 .local v4, "absXVel":I invoke-static/range {p5 .. p5}, Ljava/lang/Math;->abs(I)I move-result v5 .line 603 .local v5, "absYVel":I add-int v7, v4, v5 .line 604 .local v7, "addedVel":I add-int v6, v2, v3 .line 606 .local v6, "addedDistance":I if-eqz p4, :cond_5b int-to-float v12, v4 int-to-float v13, v7 div-float v9, v12, v13 .line 608 .local v9, "xweight":F :goto_32 if-eqz p5, :cond_60 int-to-float v12, v5 int-to-float v13, v7 div-float v11, v12, v13 .line 611 .local v11, "yweight":F :goto_38 iget-object v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v12, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewHorizontalDragRange(Landroid/view/View;)I move-result v12 move/from16 v0, p2 move/from16 v1, p4 invoke-direct {p0, v0, v1, v12}, Landroid/support/v4/widget/ViewDragHelper;->computeAxisDuration(III)I move-result v8 .line 612 .local v8, "xduration":I iget-object v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v12, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getViewVerticalDragRange(Landroid/view/View;)I move-result v12 move/from16 v0, p3 move/from16 v1, p5 invoke-direct {p0, v0, v1, v12}, Landroid/support/v4/widget/ViewDragHelper;->computeAxisDuration(III)I move-result v10 .line 614 .local v10, "yduration":I int-to-float v12, v8 mul-float/2addr v12, v9 int-to-float v13, v10 mul-float/2addr v13, v11 add-float/2addr v12, v13 float-to-int v12, v12 return v12 .line 606 .end local v8 # "xduration":I .end local v9 # "xweight":F .end local v10 # "yduration":I .end local v11 # "yweight":F :cond_5b int-to-float v12, v2 int-to-float v13, v6 div-float v9, v12, v13 goto :goto_32 .line 608 .restart local v9 # "xweight":F :cond_60 int-to-float v12, v3 int-to-float v13, v6 div-float v11, v12, v13 goto :goto_38 .end method .method public static create(Landroid/view/ViewGroup;FLandroid/support/v4/widget/ViewDragHelper$Callback;)Landroid/support/v4/widget/ViewDragHelper; .registers 6 .param p0, "forParent" # Landroid/view/ViewGroup; .param p1, "sensitivity" # F .param p2, "cb" # Landroid/support/v4/widget/ViewDragHelper$Callback; .prologue .line 360 invoke-static {p0, p2}, Landroid/support/v4/widget/ViewDragHelper;->create(Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)Landroid/support/v4/widget/ViewDragHelper; move-result-object v0 .line 361 .local v0, "helper":Landroid/support/v4/widget/ViewDragHelper; iget v1, v0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v1, v1 const/high16 v2, 0x3f800000 div-float/2addr v2, p1 mul-float/2addr v1, v2 float-to-int v1, v1 iput v1, v0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I .line 362 return-object v0 .end method .method public static create(Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)Landroid/support/v4/widget/ViewDragHelper; .registers 4 .param p0, "forParent" # Landroid/view/ViewGroup; .param p1, "cb" # Landroid/support/v4/widget/ViewDragHelper$Callback; .prologue .line 347 new-instance v0, Landroid/support/v4/widget/ViewDragHelper; invoke-virtual {p0}, Landroid/view/ViewGroup;->getContext()Landroid/content/Context; move-result-object v1 invoke-direct {v0, v1, p0, p1}, Landroid/support/v4/widget/ViewDragHelper;->(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/support/v4/widget/ViewDragHelper$Callback;)V return-object v0 .end method .method private dispatchViewReleased(FF)V .registers 7 .param p1, "xvel" # F .param p2, "yvel" # F .prologue const/4 v3, 0x1 const/4 v2, 0x0 .line 759 iput-boolean v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z .line 760 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0, v1, p1, p2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewReleased(Landroid/view/View;FF)V .line 761 iput-boolean v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z .line 763 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I if-ne v0, v3, :cond_14 .line 765 invoke-virtual {p0, v2}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V .line 767 :cond_14 return-void .end method .method private distanceInfluenceForSnapDuration(F)F .registers 6 .param p1, "f" # F .prologue .line 674 const/high16 v0, 0x3f000000 sub-float/2addr p1, v0 .line 675 float-to-double v0, p1 const-wide v2, 0x3fde28c7460698c7L mul-double/2addr v0, v2 double-to-float p1, v0 .line 676 float-to-double v0, p1 invoke-static {v0, v1}, Ljava/lang/Math;->sin(D)D move-result-wide v0 double-to-float v0, v0 return v0 .end method .method private dragTo(IIII)V .registers 13 .param p1, "left" # I .param p2, "top" # I .param p3, "dx" # I .param p4, "dy" # I .prologue .line 1366 move v2, p1 .line 1367 .local v2, "clampedX":I move v3, p2 .line 1368 .local v3, "clampedY":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getLeft()I move-result v6 .line 1369 .local v6, "oldLeft":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getTop()I move-result v7 .line 1370 .local v7, "oldTop":I if-eqz p3, :cond_1f .line 1371 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0, v1, p1, p3}, Landroid/support/v4/widget/ViewDragHelper$Callback;->clampViewPositionHorizontal(Landroid/view/View;II)I move-result v2 .line 1372 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; sub-int v1, v2, v6 invoke-virtual {v0, v1}, Landroid/view/View;->offsetLeftAndRight(I)V .line 1374 :cond_1f if-eqz p4, :cond_30 .line 1375 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0, v1, p2, p4}, Landroid/support/v4/widget/ViewDragHelper$Callback;->clampViewPositionVertical(Landroid/view/View;II)I move-result v3 .line 1376 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; sub-int v1, v3, v7 invoke-virtual {v0, v1}, Landroid/view/View;->offsetTopAndBottom(I)V .line 1379 :cond_30 if-nez p3, :cond_34 if-eqz p4, :cond_3f .line 1380 :cond_34 sub-int v4, v2, v6 .line 1381 .local v4, "clampedDx":I sub-int v5, v3, v7 .line 1382 .local v5, "clampedDy":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewPositionChanged(Landroid/view/View;IIII)V .line 1385 .end local v4 # "clampedDx":I .end local v5 # "clampedDy":I :cond_3f return-void .end method .method private ensureMotionHistorySizeForId(I)V .registers 12 .param p1, "pointerId" # I .prologue const/4 v9, 0x0 .line 798 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F if-eqz v7, :cond_a iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F array-length v7, v7 if-gt v7, p1, :cond_70 .line 799 :cond_a add-int/lit8 v7, p1, 0x1 new-array v3, v7, [F .line 800 .local v3, "imx":[F add-int/lit8 v7, p1, 0x1 new-array v4, v7, [F .line 801 .local v4, "imy":[F add-int/lit8 v7, p1, 0x1 new-array v5, v7, [F .line 802 .local v5, "lmx":[F add-int/lit8 v7, p1, 0x1 new-array v6, v7, [F .line 803 .local v6, "lmy":[F add-int/lit8 v7, p1, 0x1 new-array v2, v7, [I .line 804 .local v2, "iit":[I add-int/lit8 v7, p1, 0x1 new-array v0, v7, [I .line 805 .local v0, "edip":[I add-int/lit8 v7, p1, 0x1 new-array v1, v7, [I .line 807 .local v1, "edl":[I iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F if-eqz v7, :cond_62 .line 808 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F array-length v8, v8 invoke-static {v7, v9, v3, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 809 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F array-length v8, v8 invoke-static {v7, v9, v4, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 810 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F array-length v8, v8 invoke-static {v7, v9, v5, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 811 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F array-length v8, v8 invoke-static {v7, v9, v6, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 812 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I array-length v8, v8 invoke-static {v7, v9, v2, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 813 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I array-length v8, v8 invoke-static {v7, v9, v0, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 814 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I iget-object v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I array-length v8, v8 invoke-static {v7, v9, v1, v9, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V .line 817 :cond_62 iput-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F .line 818 iput-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F .line 819 iput-object v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F .line 820 iput-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F .line 821 iput-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I .line 822 iput-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I .line 823 iput-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsLocked:[I .line 825 .end local v0 # "edip":[I .end local v1 # "edl":[I .end local v2 # "iit":[I .end local v3 # "imx":[F .end local v4 # "imy":[F .end local v5 # "lmx":[F .end local v6 # "lmy":[F :cond_70 return-void .end method .method private forceSettleCapturedViewAt(IIII)Z .registers 16 .param p1, "finalLeft" # I .param p2, "finalTop" # I .param p3, "xvel" # I .param p4, "yvel" # I .prologue const/4 v0, 0x0 .line 577 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v1}, Landroid/view/View;->getLeft()I move-result v10 .line 578 .local v10, "startLeft":I iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v1}, Landroid/view/View;->getTop()I move-result v6 .line 579 .local v6, "startTop":I sub-int v2, p1, v10 .line 580 .local v2, "dx":I sub-int v3, p2, v6 .line 582 .local v3, "dy":I if-nez v2, :cond_1e if-nez v3, :cond_1e .line 584 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v1}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V .line 585 invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V .line 593 :goto_1d return v0 .line 589 :cond_1e iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; move-object v0, p0 move v4, p3 move v5, p4 invoke-direct/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper;->computeSettleDuration(Landroid/view/View;IIII)I move-result v9 .line 590 .local v9, "duration":I iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; move v5, v10 move v7, v2 move v8, v3 invoke-virtual/range {v4 .. v9}, Landroid/support/v4/widget/ScrollerCompat;->startScroll(IIIII)V .line 592 const/4 v0, 0x2 invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V .line 593 const/4 v0, 0x1 goto :goto_1d .end method .method private getEdgesTouched(II)I .registers 6 .param p1, "x" # I .param p2, "y" # I .prologue .line 1440 const/4 v0, 0x0 .line 1442 .local v0, "result":I iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v1}, Landroid/view/ViewGroup;->getLeft()I move-result v1 iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I add-int/2addr v1, v2 if-ge p1, v1, :cond_e or-int/lit8 v0, v0, 0x1 .line 1443 :cond_e iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v1}, Landroid/view/ViewGroup;->getTop()I move-result v1 iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I add-int/2addr v1, v2 if-ge p2, v1, :cond_1b or-int/lit8 v0, v0, 0x4 .line 1444 :cond_1b iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v1}, Landroid/view/ViewGroup;->getRight()I move-result v1 iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I sub-int/2addr v1, v2 if-le p1, v1, :cond_28 or-int/lit8 v0, v0, 0x2 .line 1445 :cond_28 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v1}, Landroid/view/ViewGroup;->getBottom()I move-result v1 iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I sub-int/2addr v1, v2 if-le p2, v1, :cond_35 or-int/lit8 v0, v0, 0x8 .line 1447 :cond_35 return v0 .end method .method private releaseViewForPointerUp()V .registers 6 .prologue .line 1355 iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; const/16 v3, 0x3e8 iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F invoke-virtual {v2, v3, v4}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V .line 1356 iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I invoke-static {v2, v3}, Landroid/support/v4/view/VelocityTrackerCompat;->getXVelocity(Landroid/view/VelocityTracker;I)F move-result v2 iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F invoke-direct {p0, v2, v3, v4}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(FFF)F move-result v0 .line 1359 .local v0, "xvel":F iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I invoke-static {v2, v3}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F move-result v2 iget v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mMaxVelocity:F invoke-direct {p0, v2, v3, v4}, Landroid/support/v4/widget/ViewDragHelper;->clampMag(FFF)F move-result v1 .line 1362 .local v1, "yvel":F invoke-direct {p0, v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->dispatchViewReleased(FF)V .line 1363 return-void .end method .method private reportNewEdgeDrags(FFI)V .registers 7 .param p1, "dx" # F .param p2, "dy" # F .param p3, "pointerId" # I .prologue .line 1197 const/4 v0, 0x0 .line 1198 .local v0, "dragsStarted":I const/4 v1, 0x1 invoke-direct {p0, p1, p2, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z move-result v1 if-eqz v1, :cond_a .line 1199 or-int/lit8 v0, v0, 0x1 .line 1201 :cond_a const/4 v1, 0x4 invoke-direct {p0, p2, p1, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z move-result v1 if-eqz v1, :cond_13 .line 1202 or-int/lit8 v0, v0, 0x4 .line 1204 :cond_13 const/4 v1, 0x2 invoke-direct {p0, p1, p2, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z move-result v1 if-eqz v1, :cond_1c .line 1205 or-int/lit8 v0, v0, 0x2 .line 1207 :cond_1c const/16 v1, 0x8 invoke-direct {p0, p2, p1, p3, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkNewEdgeDrag(FFII)Z move-result v1 if-eqz v1, :cond_26 .line 1208 or-int/lit8 v0, v0, 0x8 .line 1211 :cond_26 if-eqz v0, :cond_34 .line 1212 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeDragsInProgress:[I aget v2, v1, p3 or-int/2addr v2, v0 aput v2, v1, p3 .line 1213 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v1, v0, p3}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeDragStarted(II)V .line 1215 :cond_34 return-void .end method .method private saveInitialMotion(FFI)V .registers 7 .param p1, "x" # F .param p2, "y" # F .param p3, "pointerId" # I .prologue .line 828 invoke-direct {p0, p3}, Landroid/support/v4/widget/ViewDragHelper;->ensureMotionHistorySizeForId(I)V .line 829 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F aput p1, v1, p3 aput p1, v0, p3 .line 830 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F aput p2, v1, p3 aput p2, v0, p3 .line 831 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I float-to-int v1, p1 float-to-int v2, p2 invoke-direct {p0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->getEdgesTouched(II)I move-result v1 aput v1, v0, p3 .line 832 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I const/4 v1, 0x1 shl-int/2addr v1, p3 or-int/2addr v0, v1 iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I .line 833 return-void .end method .method private saveLastMotion(Landroid/view/MotionEvent;)V .registers 8 .param p1, "ev" # Landroid/view/MotionEvent; .prologue .line 836 invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I move-result v1 .line 837 .local v1, "pointerCount":I const/4 v0, 0x0 .local v0, "i":I :goto_5 if-ge v0, v1, :cond_1e .line 838 invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v2 .line 839 .local v2, "pointerId":I invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v3 .line 840 .local v3, "x":F invoke-static {p1, v0}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v4 .line 841 .local v4, "y":F iget-object v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F aput v3, v5, v2 .line 842 iget-object v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F aput v4, v5, v2 .line 837 add-int/lit8 v0, v0, 0x1 goto :goto_5 .line 844 .end local v2 # "pointerId":I .end local v3 # "x":F .end local v4 # "y":F :cond_1e return-void .end method # virtual methods .method public abort()V .registers 9 .prologue .line 512 invoke-virtual {p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V .line 513 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I const/4 v1, 0x2 if-ne v0, v1, :cond_30 .line 514 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I move-result v6 .line 515 .local v6, "oldX":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I move-result v7 .line 516 .local v7, "oldY":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V .line 517 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I move-result v2 .line 518 .local v2, "newX":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I move-result v3 .line 519 .local v3, "newY":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; sub-int v4, v2, v6 sub-int v5, v3, v7 invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewPositionChanged(Landroid/view/View;IIII)V .line 521 .end local v2 # "newX":I .end local v3 # "newY":I .end local v6 # "oldX":I .end local v7 # "oldY":I :cond_30 const/4 v0, 0x0 invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V .line 522 return-void .end method .method protected canScroll(Landroid/view/View;ZIIII)Z .registers 20 .param p1, "v" # Landroid/view/View; .param p2, "checkV" # Z .param p3, "dx" # I .param p4, "dy" # I .param p5, "x" # I .param p6, "y" # I .prologue .line 908 instance-of v1, p1, Landroid/view/ViewGroup; if-eqz v1, :cond_5c move-object v9, p1 .line 909 check-cast v9, Landroid/view/ViewGroup; .line 910 .local v9, "group":Landroid/view/ViewGroup; invoke-virtual {p1}, Landroid/view/View;->getScrollX()I move-result v11 .line 911 .local v11, "scrollX":I invoke-virtual {p1}, Landroid/view/View;->getScrollY()I move-result v12 .line 912 .local v12, "scrollY":I invoke-virtual {v9}, Landroid/view/ViewGroup;->getChildCount()I move-result v8 .line 914 .local v8, "count":I add-int/lit8 v10, v8, -0x1 .local v10, "i":I :goto_15 if-ltz v10, :cond_5c .line 917 invoke-virtual {v9, v10}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v2 .line 918 .local v2, "child":Landroid/view/View; add-int v1, p5, v11 invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v3 if-lt v1, v3, :cond_59 add-int v1, p5, v11 invoke-virtual {v2}, Landroid/view/View;->getRight()I move-result v3 if-ge v1, v3, :cond_59 add-int v1, p6, v12 invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v3 if-lt v1, v3, :cond_59 add-int v1, p6, v12 invoke-virtual {v2}, Landroid/view/View;->getBottom()I move-result v3 if-ge v1, v3, :cond_59 const/4 v3, 0x1 add-int v1, p5, v11 invoke-virtual {v2}, Landroid/view/View;->getLeft()I move-result v4 sub-int v6, v1, v4 add-int v1, p6, v12 invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v4 sub-int v7, v1, v4 move-object v1, p0 move/from16 v4, p3 move/from16 v5, p4 invoke-virtual/range {v1 .. v7}, Landroid/support/v4/widget/ViewDragHelper;->canScroll(Landroid/view/View;ZIIII)Z move-result v1 if-eqz v1, :cond_59 .line 922 const/4 v1, 0x1 .line 927 .end local v2 # "child":Landroid/view/View; .end local v8 # "count":I .end local v9 # "group":Landroid/view/ViewGroup; .end local v10 # "i":I .end local v11 # "scrollX":I .end local v12 # "scrollY":I :goto_58 return v1 .line 914 .restart local v2 # "child":Landroid/view/View; .restart local v8 # "count":I .restart local v9 # "group":Landroid/view/ViewGroup; .restart local v10 # "i":I .restart local v11 # "scrollX":I .restart local v12 # "scrollY":I :cond_59 add-int/lit8 v10, v10, -0x1 goto :goto_15 .line 927 .end local v2 # "child":Landroid/view/View; .end local v8 # "count":I .end local v9 # "group":Landroid/view/ViewGroup; .end local v10 # "i":I .end local v11 # "scrollX":I .end local v12 # "scrollY":I :cond_5c if-eqz p2, :cond_72 move/from16 v0, p3 neg-int v1, v0 invoke-static {p1, v1}, Landroid/support/v4/view/ViewCompat;->canScrollHorizontally(Landroid/view/View;I)Z move-result v1 if-nez v1, :cond_70 move/from16 v0, p4 neg-int v1, v0 invoke-static {p1, v1}, Landroid/support/v4/view/ViewCompat;->canScrollVertically(Landroid/view/View;I)Z move-result v1 if-eqz v1, :cond_72 :cond_70 const/4 v1, 0x1 goto :goto_58 :cond_72 const/4 v1, 0x0 goto :goto_58 .end method .method public cancel()V .registers 2 .prologue .line 498 const/4 v0, -0x1 iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I .line 499 invoke-direct {p0}, Landroid/support/v4/widget/ViewDragHelper;->clearMotionHistory()V .line 501 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; if-eqz v0, :cond_12 .line 502 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v0}, Landroid/view/VelocityTracker;->recycle()V .line 503 const/4 v0, 0x0 iput-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; .line 505 :cond_12 return-void .end method .method public captureChildView(Landroid/view/View;I)V .registers 6 .param p1, "childView" # Landroid/view/View; .param p2, "activePointerId" # I .prologue .line 460 invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent; move-result-object v0 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; if-eq v0, v1, :cond_29 .line 461 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V const-string v2, "captureChildView: parameter must be a descendant of the ViewDragHelper\'s tracked parent view (" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, ")" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .line 465 :cond_29 iput-object p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; .line 466 iput p2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I .line 467 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v0, p1, p2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewCaptured(Landroid/view/View;I)V .line 468 const/4 v0, 0x1 invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V .line 469 return-void .end method .method public checkTouchSlop(I)Z .registers 5 .param p1, "directions" # I .prologue .line 1276 iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F array-length v0, v2 .line 1277 .local v0, "count":I const/4 v1, 0x0 .local v1, "i":I :goto_4 if-ge v1, v0, :cond_11 .line 1278 invoke-virtual {p0, p1, v1}, Landroid/support/v4/widget/ViewDragHelper;->checkTouchSlop(II)Z move-result v2 if-eqz v2, :cond_e .line 1279 const/4 v2, 0x1 .line 1282 :goto_d return v2 .line 1277 :cond_e add-int/lit8 v1, v1, 0x1 goto :goto_4 .line 1282 :cond_11 const/4 v2, 0x0 goto :goto_d .end method .method public checkTouchSlop(II)Z .registers 12 .param p1, "directions" # I .param p2, "pointerId" # I .prologue const/4 v4, 0x1 const/4 v5, 0x0 .line 1301 invoke-virtual {p0, p2}, Landroid/support/v4/widget/ViewDragHelper;->isPointerDown(I)Z move-result v6 if-nez v6, :cond_a move v4, v5 .line 1318 :cond_9 :goto_9 return v4 .line 1305 :cond_a and-int/lit8 v6, p1, 0x1 if-ne v6, v4, :cond_3e move v0, v4 .line 1306 .local v0, "checkHorizontal":Z :goto_f and-int/lit8 v6, p1, 0x2 const/4 v7, 0x2 if-ne v6, v7, :cond_40 move v1, v4 .line 1308 .local v1, "checkVertical":Z :goto_15 iget-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F aget v6, v6, p2 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F aget v7, v7, p2 sub-float v2, v6, v7 .line 1309 .local v2, "dx":F iget-object v6, p0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F aget v6, v6, p2 iget-object v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F aget v7, v7, p2 sub-float v3, v6, v7 .line 1311 .local v3, "dy":F if-eqz v0, :cond_42 if-eqz v1, :cond_42 .line 1312 mul-float v6, v2, v2 mul-float v7, v3, v3 add-float/2addr v6, v7 iget v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I iget v8, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I mul-int/2addr v7, v8 int-to-float v7, v7 cmpl-float v6, v6, v7 if-gtz v6, :cond_9 move v4, v5 goto :goto_9 .end local v0 # "checkHorizontal":Z .end local v1 # "checkVertical":Z .end local v2 # "dx":F .end local v3 # "dy":F :cond_3e move v0, v5 .line 1305 goto :goto_f .restart local v0 # "checkHorizontal":Z :cond_40 move v1, v5 .line 1306 goto :goto_15 .line 1313 .restart local v1 # "checkVertical":Z .restart local v2 # "dx":F .restart local v3 # "dy":F :cond_42 if-eqz v0, :cond_51 .line 1314 invoke-static {v2}, Ljava/lang/Math;->abs(F)F move-result v6 iget v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v7, v7 cmpl-float v6, v6, v7 if-gtz v6, :cond_9 move v4, v5 goto :goto_9 .line 1315 :cond_51 if-eqz v1, :cond_60 .line 1316 invoke-static {v3}, Ljava/lang/Math;->abs(F)F move-result v6 iget v7, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I int-to-float v7, v7 cmpl-float v6, v6, v7 if-gtz v6, :cond_9 move v4, v5 goto :goto_9 :cond_60 move v4, v5 .line 1318 goto :goto_9 .end method .method public continueSettling(Z)Z .registers 11 .param p1, "deferCallbacks" # Z .prologue const/4 v8, 0x2 const/4 v7, 0x0 .line 715 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I if-ne v0, v8, :cond_69 .line 716 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->computeScrollOffset()Z move-result v6 .line 717 .local v6, "keepGoing":Z iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrX()I move-result v2 .line 718 .local v2, "x":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getCurrY()I move-result v3 .line 719 .local v3, "y":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getLeft()I move-result v0 sub-int v4, v2, v0 .line 720 .local v4, "dx":I iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getTop()I move-result v0 sub-int v5, v3, v0 .line 722 .local v5, "dy":I if-eqz v4, :cond_2f .line 723 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0, v4}, Landroid/view/View;->offsetLeftAndRight(I)V .line 725 :cond_2f if-eqz v5, :cond_36 .line 726 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v0, v5}, Landroid/view/View;->offsetTopAndBottom(I)V .line 729 :cond_36 if-nez v4, :cond_3a if-eqz v5, :cond_41 .line 730 :cond_3a iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual/range {v0 .. v5}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewPositionChanged(Landroid/view/View;IIII)V .line 733 :cond_41 if-eqz v6, :cond_5e iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getFinalX()I move-result v0 if-ne v2, v0, :cond_5e iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->getFinalY()I move-result v0 if-ne v3, v0, :cond_5e .line 736 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->abortAnimation()V .line 737 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; invoke-virtual {v0}, Landroid/support/v4/widget/ScrollerCompat;->isFinished()Z move-result v6 .line 740 :cond_5e if-nez v6, :cond_69 .line 741 if-eqz p1, :cond_6f .line 742 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mSetIdleRunnable:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->post(Ljava/lang/Runnable;)Z .line 749 .end local v2 # "x":I .end local v3 # "y":I .end local v4 # "dx":I .end local v5 # "dy":I .end local v6 # "keepGoing":Z :cond_69 :goto_69 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I if-ne v0, v8, :cond_73 const/4 v0, 0x1 :goto_6e return v0 .line 744 .restart local v2 # "x":I .restart local v3 # "y":I .restart local v4 # "dx":I .restart local v5 # "dy":I .restart local v6 # "keepGoing":Z :cond_6f invoke-virtual {p0, v7}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V goto :goto_69 .end local v2 # "x":I .end local v3 # "y":I .end local v4 # "dx":I .end local v5 # "dy":I .end local v6 # "keepGoing":Z :cond_73 move v0, v7 .line 749 goto :goto_6e .end method .method public findTopChildUnder(II)Landroid/view/View; .registers 8 .param p1, "x" # I .param p2, "y" # I .prologue .line 1428 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; invoke-virtual {v3}, Landroid/view/ViewGroup;->getChildCount()I move-result v1 .line 1429 .local v1, "childCount":I add-int/lit8 v2, v1, -0x1 .local v2, "i":I :goto_8 if-ltz v2, :cond_32 .line 1430 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mParentView:Landroid/view/ViewGroup; iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v4, v2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->getOrderedChildIndex(I)I move-result v4 invoke-virtual {v3, v4}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v0 .line 1431 .local v0, "child":Landroid/view/View; invoke-virtual {v0}, Landroid/view/View;->getLeft()I move-result v3 if-lt p1, v3, :cond_2f invoke-virtual {v0}, Landroid/view/View;->getRight()I move-result v3 if-ge p1, v3, :cond_2f invoke-virtual {v0}, Landroid/view/View;->getTop()I move-result v3 if-lt p2, v3, :cond_2f invoke-virtual {v0}, Landroid/view/View;->getBottom()I move-result v3 if-ge p2, v3, :cond_2f .line 1436 .end local v0 # "child":Landroid/view/View; :goto_2e return-object v0 .line 1429 .restart local v0 # "child":Landroid/view/View; :cond_2f add-int/lit8 v2, v2, -0x1 goto :goto_8 .line 1436 .end local v0 # "child":Landroid/view/View; :cond_32 const/4 v0, 0x0 goto :goto_2e .end method .method public flingCapturedView(IIII)V .registers 14 .param p1, "minLeft" # I .param p2, "minTop" # I .param p3, "maxLeft" # I .param p4, "maxTop" # I .prologue .line 690 iget-boolean v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z if-nez v0, :cond_c .line 691 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Cannot flingCapturedView outside of a call to Callback#onViewReleased" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 695 :cond_c iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mScroller:Landroid/support/v4/widget/ScrollerCompat; iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v1}, Landroid/view/View;->getLeft()I move-result v1 iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {v2}, Landroid/view/View;->getTop()I move-result v2 iget-object v3, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; iget v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I invoke-static {v3, v4}, Landroid/support/v4/view/VelocityTrackerCompat;->getXVelocity(Landroid/view/VelocityTracker;I)F move-result v3 float-to-int v3, v3 iget-object v4, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; iget v5, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I invoke-static {v4, v5}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F move-result v4 float-to-int v4, v4 move v5, p1 move v6, p3 move v7, p2 move v8, p4 invoke-virtual/range {v0 .. v8}, Landroid/support/v4/widget/ScrollerCompat;->fling(IIIIIIII)V .line 700 const/4 v0, 0x2 invoke-virtual {p0, v0}, Landroid/support/v4/widget/ViewDragHelper;->setDragState(I)V .line 701 return-void .end method .method public getActivePointerId()I .registers 2 .prologue .line 483 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I return v0 .end method .method public getCapturedView()Landroid/view/View; .registers 2 .prologue .line 475 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; return-object v0 .end method .method public getEdgeSize()I .registers 2 .prologue .line 448 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mEdgeSize:I return v0 .end method .method public getMinVelocity()F .registers 2 .prologue .line 412 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F return v0 .end method .method public getTouchSlop()I .registers 2 .prologue .line 490 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mTouchSlop:I return v0 .end method .method public getViewDragState()I .registers 2 .prologue .line 421 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I return v0 .end method .method public isCapturedViewUnder(II)Z .registers 4 .param p1, "x" # I .param p2, "y" # I .prologue .line 1397 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; invoke-virtual {p0, v0, p1, p2}, Landroid/support/v4/widget/ViewDragHelper;->isViewUnder(Landroid/view/View;II)Z move-result v0 return v0 .end method .method public isEdgeTouched(I)Z .registers 5 .param p1, "edges" # I .prologue .line 1331 iget-object v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I array-length v0, v2 .line 1332 .local v0, "count":I const/4 v1, 0x0 .local v1, "i":I :goto_4 if-ge v1, v0, :cond_11 .line 1333 invoke-virtual {p0, p1, v1}, Landroid/support/v4/widget/ViewDragHelper;->isEdgeTouched(II)Z move-result v2 if-eqz v2, :cond_e .line 1334 const/4 v2, 0x1 .line 1337 :goto_d return v2 .line 1332 :cond_e add-int/lit8 v1, v1, 0x1 goto :goto_4 .line 1337 :cond_11 const/4 v2, 0x0 goto :goto_d .end method .method public isEdgeTouched(II)Z .registers 4 .param p1, "edges" # I .param p2, "pointerId" # I .prologue .line 1351 invoke-virtual {p0, p2}, Landroid/support/v4/widget/ViewDragHelper;->isPointerDown(I)Z move-result v0 if-eqz v0, :cond_f iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I aget v0, v0, p2 and-int/2addr v0, p1 if-eqz v0, :cond_f const/4 v0, 0x1 :goto_e return v0 :cond_f const/4 v0, 0x0 goto :goto_e .end method .method public isPointerDown(I)Z .registers 5 .param p1, "pointerId" # I .prologue const/4 v0, 0x1 .line 860 iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mPointersDown:I shl-int v2, v0, p1 and-int/2addr v1, v2 if-eqz v1, :cond_9 :goto_8 return v0 :cond_9 const/4 v0, 0x0 goto :goto_8 .end method .method public isViewUnder(Landroid/view/View;II)Z .registers 6 .param p1, "view" # Landroid/view/View; .param p2, "x" # I .param p3, "y" # I .prologue const/4 v0, 0x0 .line 1410 if-nez p1, :cond_4 .line 1413 :cond_3 :goto_3 return v0 :cond_4 invoke-virtual {p1}, Landroid/view/View;->getLeft()I move-result v1 if-lt p2, v1, :cond_3 invoke-virtual {p1}, Landroid/view/View;->getRight()I move-result v1 if-ge p2, v1, :cond_3 invoke-virtual {p1}, Landroid/view/View;->getTop()I move-result v1 if-lt p3, v1, :cond_3 invoke-virtual {p1}, Landroid/view/View;->getBottom()I move-result v1 if-ge p3, v1, :cond_3 const/4 v0, 0x1 goto :goto_3 .end method .method public processTouchEvent(Landroid/view/MotionEvent;)V .registers 23 .param p1, "ev" # Landroid/view/MotionEvent; .prologue .line 1046 invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I move-result v3 .line 1047 .local v3, "action":I invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getActionIndex(Landroid/view/MotionEvent;)I move-result v4 .line 1049 .local v4, "actionIndex":I if-nez v3, :cond_d .line 1052 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V .line 1055 :cond_d move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; move-object/from16 v19, v0 if-nez v19, :cond_1f .line 1056 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v19 move-object/from16 v0, v19 move-object/from16 v1, p0 iput-object v0, v1, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; .line 1058 :cond_1f move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; move-object/from16 v19, v0 move-object/from16 v0, v19 move-object/from16 v1, p1 invoke-virtual {v0, v1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 1060 packed-switch v3, :pswitch_data_2be .line 1194 :cond_2f :goto_2f :pswitch_2f return-void .line 1062 :pswitch_30 invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getX()F move-result v17 .line 1063 .local v17, "x":F invoke-virtual/range {p1 .. p1}, Landroid/view/MotionEvent;->getY()F move-result v18 .line 1064 .local v18, "y":F const/16 v19, 0x0 move-object/from16 v0, p1 move/from16 v1, v19 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v15 .line 1065 .local v15, "pointerId":I move/from16 v0, v17 float-to-int v0, v0 move/from16 v19, v0 move/from16 v0, v18 float-to-int v0, v0 move/from16 v20, v0 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v16 .line 1067 .local v16, "toCapture":Landroid/view/View; move-object/from16 v0, p0 move/from16 v1, v17 move/from16 v2, v18 invoke-direct {v0, v1, v2, v15}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V .line 1072 move-object/from16 v0, p0 move-object/from16 v1, v16 invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z .line 1074 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I move-object/from16 v19, v0 aget v7, v19, v15 .line 1075 .local v7, "edgesTouched":I move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I move/from16 v19, v0 and-int v19, v19, v7 if-eqz v19, :cond_2f .line 1076 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; move-object/from16 v19, v0 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I move/from16 v20, v0 and-int v20, v20, v7 move-object/from16 v0, v19 move/from16 v1, v20 invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V goto :goto_2f .line 1082 .end local v7 # "edgesTouched":I .end local v15 # "pointerId":I .end local v16 # "toCapture":Landroid/view/View; .end local v17 # "x":F .end local v18 # "y":F :pswitch_8e move-object/from16 v0, p1 invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v15 .line 1083 .restart local v15 # "pointerId":I move-object/from16 v0, p1 invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v17 .line 1084 .restart local v17 # "x":F move-object/from16 v0, p1 invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v18 .line 1086 .restart local v18 # "y":F move-object/from16 v0, p0 move/from16 v1, v17 move/from16 v2, v18 invoke-direct {v0, v1, v2, v15}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V .line 1089 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I move/from16 v19, v0 if-nez v19, :cond_f5 .line 1092 move/from16 v0, v17 float-to-int v0, v0 move/from16 v19, v0 move/from16 v0, v18 float-to-int v0, v0 move/from16 v20, v0 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v16 .line 1093 .restart local v16 # "toCapture":Landroid/view/View; move-object/from16 v0, p0 move-object/from16 v1, v16 invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z .line 1095 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I move-object/from16 v19, v0 aget v7, v19, v15 .line 1096 .restart local v7 # "edgesTouched":I move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I move/from16 v19, v0 and-int v19, v19, v7 if-eqz v19, :cond_2f .line 1097 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; move-object/from16 v19, v0 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I move/from16 v20, v0 and-int v20, v20, v7 move-object/from16 v0, v19 move/from16 v1, v20 invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V goto/16 :goto_2f .line 1099 .end local v7 # "edgesTouched":I .end local v16 # "toCapture":Landroid/view/View; :cond_f5 move/from16 v0, v17 float-to-int v0, v0 move/from16 v19, v0 move/from16 v0, v18 float-to-int v0, v0 move/from16 v20, v0 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->isCapturedViewUnder(II)Z move-result v19 if-eqz v19, :cond_2f .line 1104 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; move-object/from16 v19, v0 move-object/from16 v0, p0 move-object/from16 v1, v19 invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z goto/16 :goto_2f .line 1110 .end local v15 # "pointerId":I .end local v17 # "x":F .end local v18 # "y":F :pswitch_11a move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I move/from16 v19, v0 const/16 v20, 0x1 move/from16 v0, v19 move/from16 v1, v20 if-ne v0, v1, :cond_18e .line 1111 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I move/from16 v19, v0 move-object/from16 v0, p1 move/from16 v1, v19 invoke-static {v0, v1}, Landroid/support/v4/view/MotionEventCompat;->findPointerIndex(Landroid/view/MotionEvent;I)I move-result v12 .line 1112 .local v12, "index":I move-object/from16 v0, p1 invoke-static {v0, v12}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v17 .line 1113 .restart local v17 # "x":F move-object/from16 v0, p1 invoke-static {v0, v12}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v18 .line 1114 .restart local v18 # "y":F move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionX:[F move-object/from16 v19, v0 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I move/from16 v20, v0 aget v19, v19, v20 sub-float v19, v17, v19 move/from16 v0, v19 float-to-int v10, v0 .line 1115 .local v10, "idx":I move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mLastMotionY:[F move-object/from16 v19, v0 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I move/from16 v20, v0 aget v19, v19, v20 sub-float v19, v18, v19 move/from16 v0, v19 float-to-int v11, v0 .line 1117 .local v11, "idy":I move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; move-object/from16 v19, v0 invoke-virtual/range {v19 .. v19}, Landroid/view/View;->getLeft()I move-result v19 add-int v19, v19, v10 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; move-object/from16 v20, v0 invoke-virtual/range {v20 .. v20}, Landroid/view/View;->getTop()I move-result v20 add-int v20, v20, v11 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-direct {v0, v1, v2, v10, v11}, Landroid/support/v4/widget/ViewDragHelper;->dragTo(IIII)V .line 1119 invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/ViewDragHelper;->saveLastMotion(Landroid/view/MotionEvent;)V goto/16 :goto_2f .line 1122 .end local v10 # "idx":I .end local v11 # "idy":I .end local v12 # "index":I .end local v17 # "x":F .end local v18 # "y":F :cond_18e invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I move-result v14 .line 1123 .local v14, "pointerCount":I const/4 v8, 0x0 .local v8, "i":I :goto_193 if-ge v8, v14, :cond_1ce .line 1124 move-object/from16 v0, p1 invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v15 .line 1125 .restart local v15 # "pointerId":I move-object/from16 v0, p1 invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v17 .line 1126 .restart local v17 # "x":F move-object/from16 v0, p1 invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v18 .line 1127 .restart local v18 # "y":F move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F move-object/from16 v19, v0 aget v19, v19, v15 sub-float v5, v17, v19 .line 1128 .local v5, "dx":F move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F move-object/from16 v19, v0 aget v19, v19, v15 sub-float v6, v18, v19 .line 1130 .local v6, "dy":F move-object/from16 v0, p0 invoke-direct {v0, v5, v6, v15}, Landroid/support/v4/widget/ViewDragHelper;->reportNewEdgeDrags(FFI)V .line 1131 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I move/from16 v19, v0 const/16 v20, 0x1 move/from16 v0, v19 move/from16 v1, v20 if-ne v0, v1, :cond_1d3 .line 1142 .end local v5 # "dx":F .end local v6 # "dy":F .end local v15 # "pointerId":I .end local v17 # "x":F .end local v18 # "y":F :cond_1ce invoke-direct/range {p0 .. p1}, Landroid/support/v4/widget/ViewDragHelper;->saveLastMotion(Landroid/view/MotionEvent;)V goto/16 :goto_2f .line 1136 .restart local v5 # "dx":F .restart local v6 # "dy":F .restart local v15 # "pointerId":I .restart local v17 # "x":F .restart local v18 # "y":F :cond_1d3 move/from16 v0, v17 float-to-int v0, v0 move/from16 v19, v0 move/from16 v0, v18 float-to-int v0, v0 move/from16 v20, v0 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v16 .line 1137 .restart local v16 # "toCapture":Landroid/view/View; move-object/from16 v0, p0 move-object/from16 v1, v16 invoke-direct {v0, v1, v5, v6}, Landroid/support/v4/widget/ViewDragHelper;->checkTouchSlop(Landroid/view/View;FF)Z move-result v19 if-eqz v19, :cond_1fb move-object/from16 v0, p0 move-object/from16 v1, v16 invoke-virtual {v0, v1, v15}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z move-result v19 if-nez v19, :cond_1ce .line 1123 :cond_1fb add-int/lit8 v8, v8, 0x1 goto :goto_193 .line 1148 .end local v5 # "dx":F .end local v6 # "dy":F .end local v8 # "i":I .end local v14 # "pointerCount":I .end local v15 # "pointerId":I .end local v16 # "toCapture":Landroid/view/View; .end local v17 # "x":F .end local v18 # "y":F :pswitch_1fe move-object/from16 v0, p1 invoke-static {v0, v4}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v15 .line 1149 .restart local v15 # "pointerId":I move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I move/from16 v19, v0 const/16 v20, 0x1 move/from16 v0, v19 move/from16 v1, v20 if-ne v0, v1, :cond_280 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I move/from16 v19, v0 move/from16 v0, v19 if-ne v15, v0, :cond_280 .line 1151 const/4 v13, -0x1 .line 1152 .local v13, "newActivePointer":I invoke-static/range {p1 .. p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I move-result v14 .line 1153 .restart local v14 # "pointerCount":I const/4 v8, 0x0 .restart local v8 # "i":I :goto_222 if-ge v8, v14, :cond_277 .line 1154 move-object/from16 v0, p1 invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v9 .line 1155 .local v9, "id":I move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I move/from16 v19, v0 move/from16 v0, v19 if-ne v9, v0, :cond_237 .line 1153 :cond_234 add-int/lit8 v8, v8, 0x1 goto :goto_222 .line 1160 :cond_237 move-object/from16 v0, p1 invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v17 .line 1161 .restart local v17 # "x":F move-object/from16 v0, p1 invoke-static {v0, v8}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v18 .line 1162 .restart local v18 # "y":F move/from16 v0, v17 float-to-int v0, v0 move/from16 v19, v0 move/from16 v0, v18 float-to-int v0, v0 move/from16 v20, v0 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-virtual {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v19 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; move-object/from16 v20, v0 move-object/from16 v0, v19 move-object/from16 v1, v20 if-ne v0, v1, :cond_234 move-object/from16 v0, p0 iget-object v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; move-object/from16 v19, v0 move-object/from16 v0, p0 move-object/from16 v1, v19 invoke-virtual {v0, v1, v9}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z move-result v19 if-eqz v19, :cond_234 .line 1164 move-object/from16 v0, p0 iget v13, v0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I .line 1169 .end local v9 # "id":I .end local v17 # "x":F .end local v18 # "y":F :cond_277 const/16 v19, -0x1 move/from16 v0, v19 if-ne v13, v0, :cond_280 .line 1171 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->releaseViewForPointerUp()V .line 1174 .end local v8 # "i":I .end local v13 # "newActivePointer":I .end local v14 # "pointerCount":I :cond_280 move-object/from16 v0, p0 invoke-direct {v0, v15}, Landroid/support/v4/widget/ViewDragHelper;->clearMotionHistory(I)V goto/16 :goto_2f .line 1179 .end local v15 # "pointerId":I :pswitch_287 move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I move/from16 v19, v0 const/16 v20, 0x1 move/from16 v0, v19 move/from16 v1, v20 if-ne v0, v1, :cond_298 .line 1180 invoke-direct/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->releaseViewForPointerUp()V .line 1182 :cond_298 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V goto/16 :goto_2f .line 1187 :pswitch_29d move-object/from16 v0, p0 iget v0, v0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I move/from16 v19, v0 const/16 v20, 0x1 move/from16 v0, v19 move/from16 v1, v20 if-ne v0, v1, :cond_2b8 .line 1188 const/16 v19, 0x0 const/16 v20, 0x0 move-object/from16 v0, p0 move/from16 v1, v19 move/from16 v2, v20 invoke-direct {v0, v1, v2}, Landroid/support/v4/widget/ViewDragHelper;->dispatchViewReleased(FF)V .line 1190 :cond_2b8 invoke-virtual/range {p0 .. p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V goto/16 :goto_2f .line 1060 nop :pswitch_data_2be .packed-switch 0x0 :pswitch_30 :pswitch_287 :pswitch_11a :pswitch_29d :pswitch_2f :pswitch_8e :pswitch_1fe .end packed-switch .end method .method setDragState(I)V .registers 3 .param p1, "state" # I .prologue .line 864 iget v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I if-eq v0, p1, :cond_10 .line 865 iput p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I .line 866 iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v0, p1}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onViewDragStateChanged(I)V .line 867 if-nez p1, :cond_10 .line 868 const/4 v0, 0x0 iput-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; .line 871 :cond_10 return-void .end method .method public setEdgeTrackingEnabled(I)V .registers 2 .param p1, "edgeFlags" # I .prologue .line 437 iput p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I .line 438 return-void .end method .method public setMinVelocity(F)V .registers 2 .param p1, "minVel" # F .prologue .line 401 iput p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mMinVelocity:F .line 402 return-void .end method .method public settleCapturedViewAt(II)Z .registers 6 .param p1, "finalLeft" # I .param p2, "finalTop" # I .prologue .line 557 iget-boolean v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mReleaseInProgress:Z if-nez v0, :cond_c .line 558 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Cannot settleCapturedViewAt outside of a call to Callback#onViewReleased" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .line 562 :cond_c iget-object v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I invoke-static {v0, v1}, Landroid/support/v4/view/VelocityTrackerCompat;->getXVelocity(Landroid/view/VelocityTracker;I)F move-result v0 float-to-int v0, v0 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; iget v2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I invoke-static {v1, v2}, Landroid/support/v4/view/VelocityTrackerCompat;->getYVelocity(Landroid/view/VelocityTracker;I)F move-result v1 float-to-int v1, v1 invoke-direct {p0, p1, p2, v0, v1}, Landroid/support/v4/widget/ViewDragHelper;->forceSettleCapturedViewAt(IIII)Z move-result v0 return v0 .end method .method public shouldInterceptTouchEvent(Landroid/view/MotionEvent;)Z .registers 15 .param p1, "ev" # Landroid/view/MotionEvent; .prologue .line 939 invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getActionMasked(Landroid/view/MotionEvent;)I move-result v0 .line 940 .local v0, "action":I invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getActionIndex(Landroid/view/MotionEvent;)I move-result v1 .line 942 .local v1, "actionIndex":I if-nez v0, :cond_d .line 945 invoke-virtual {p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V .line 948 :cond_d iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; if-nez v11, :cond_17 .line 949 invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker; move-result-object v11 iput-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; .line 951 :cond_17 iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mVelocityTracker:Landroid/view/VelocityTracker; invoke-virtual {v11, p1}, Landroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V .line 953 packed-switch v0, :pswitch_data_e6 .line 1036 :cond_1f :goto_1f :pswitch_1f iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I const/4 v12, 0x1 if-ne v11, v12, :cond_e3 const/4 v11, 0x1 :goto_25 return v11 .line 955 :pswitch_26 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v9 .line 956 .local v9, "x":F invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v10 .line 957 .local v10, "y":F const/4 v11, 0x0 invoke-static {p1, v11}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v7 .line 958 .local v7, "pointerId":I invoke-direct {p0, v9, v10, v7}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V .line 960 float-to-int v11, v9 float-to-int v12, v10 invoke-virtual {p0, v11, v12}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v8 .line 963 .local v8, "toCapture":Landroid/view/View; iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; if-ne v8, v11, :cond_48 iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I const/4 v12, 0x2 if-ne v11, v12, :cond_48 .line 964 invoke-virtual {p0, v8, v7}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z .line 967 :cond_48 iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I aget v4, v11, v7 .line 968 .local v4, "edgesTouched":I iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I and-int/2addr v11, v4 if-eqz v11, :cond_1f .line 969 iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I and-int/2addr v12, v4 invoke-virtual {v11, v12, v7}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V goto :goto_1f .line 975 .end local v4 # "edgesTouched":I .end local v7 # "pointerId":I .end local v8 # "toCapture":Landroid/view/View; .end local v9 # "x":F .end local v10 # "y":F :pswitch_5a invoke-static {p1, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v7 .line 976 .restart local v7 # "pointerId":I invoke-static {p1, v1}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v9 .line 977 .restart local v9 # "x":F invoke-static {p1, v1}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v10 .line 979 .restart local v10 # "y":F invoke-direct {p0, v9, v10, v7}, Landroid/support/v4/widget/ViewDragHelper;->saveInitialMotion(FFI)V .line 982 iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I if-nez v11, :cond_7f .line 983 iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialEdgesTouched:[I aget v4, v11, v7 .line 984 .restart local v4 # "edgesTouched":I iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I and-int/2addr v11, v4 if-eqz v11, :cond_1f .line 985 iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; iget v12, p0, Landroid/support/v4/widget/ViewDragHelper;->mTrackingEdges:I and-int/2addr v12, v4 invoke-virtual {v11, v12, v7}, Landroid/support/v4/widget/ViewDragHelper$Callback;->onEdgeTouched(II)V goto :goto_1f .line 987 .end local v4 # "edgesTouched":I :cond_7f iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I const/4 v12, 0x2 if-ne v11, v12, :cond_1f .line 989 float-to-int v11, v9 float-to-int v12, v10 invoke-virtual {p0, v11, v12}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v8 .line 990 .restart local v8 # "toCapture":Landroid/view/View; iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; if-ne v8, v11, :cond_1f .line 991 invoke-virtual {p0, v8, v7}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z goto :goto_1f .line 999 .end local v7 # "pointerId":I .end local v8 # "toCapture":Landroid/view/View; .end local v9 # "x":F .end local v10 # "y":F :pswitch_92 invoke-static {p1}, Landroid/support/v4/view/MotionEventCompat;->getPointerCount(Landroid/view/MotionEvent;)I move-result v6 .line 1000 .local v6, "pointerCount":I const/4 v5, 0x0 .local v5, "i":I :goto_97 if-ge v5, v6, :cond_b9 .line 1001 invoke-static {p1, v5}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v7 .line 1002 .restart local v7 # "pointerId":I invoke-static {p1, v5}, Landroid/support/v4/view/MotionEventCompat;->getX(Landroid/view/MotionEvent;I)F move-result v9 .line 1003 .restart local v9 # "x":F invoke-static {p1, v5}, Landroid/support/v4/view/MotionEventCompat;->getY(Landroid/view/MotionEvent;I)F move-result v10 .line 1004 .restart local v10 # "y":F iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionX:[F aget v11, v11, v7 sub-float v2, v9, v11 .line 1005 .local v2, "dx":F iget-object v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mInitialMotionY:[F aget v11, v11, v7 sub-float v3, v10, v11 .line 1007 .local v3, "dy":F invoke-direct {p0, v2, v3, v7}, Landroid/support/v4/widget/ViewDragHelper;->reportNewEdgeDrags(FFI)V .line 1008 iget v11, p0, Landroid/support/v4/widget/ViewDragHelper;->mDragState:I const/4 v12, 0x1 if-ne v11, v12, :cond_be .line 1019 .end local v2 # "dx":F .end local v3 # "dy":F .end local v7 # "pointerId":I .end local v9 # "x":F .end local v10 # "y":F :cond_b9 invoke-direct {p0, p1}, Landroid/support/v4/widget/ViewDragHelper;->saveLastMotion(Landroid/view/MotionEvent;)V goto/16 :goto_1f .line 1013 .restart local v2 # "dx":F .restart local v3 # "dy":F .restart local v7 # "pointerId":I .restart local v9 # "x":F .restart local v10 # "y":F :cond_be float-to-int v11, v9 float-to-int v12, v10 invoke-virtual {p0, v11, v12}, Landroid/support/v4/widget/ViewDragHelper;->findTopChildUnder(II)Landroid/view/View; move-result-object v8 .line 1014 .restart local v8 # "toCapture":Landroid/view/View; if-eqz v8, :cond_d2 invoke-direct {p0, v8, v2, v3}, Landroid/support/v4/widget/ViewDragHelper;->checkTouchSlop(Landroid/view/View;FF)Z move-result v11 if-eqz v11, :cond_d2 invoke-virtual {p0, v8, v7}, Landroid/support/v4/widget/ViewDragHelper;->tryCaptureViewForDrag(Landroid/view/View;I)Z move-result v11 if-nez v11, :cond_b9 .line 1000 :cond_d2 add-int/lit8 v5, v5, 0x1 goto :goto_97 .line 1024 .end local v2 # "dx":F .end local v3 # "dy":F .end local v5 # "i":I .end local v6 # "pointerCount":I .end local v7 # "pointerId":I .end local v8 # "toCapture":Landroid/view/View; .end local v9 # "x":F .end local v10 # "y":F :pswitch_d5 invoke-static {p1, v1}, Landroid/support/v4/view/MotionEventCompat;->getPointerId(Landroid/view/MotionEvent;I)I move-result v7 .line 1025 .restart local v7 # "pointerId":I invoke-direct {p0, v7}, Landroid/support/v4/widget/ViewDragHelper;->clearMotionHistory(I)V goto/16 :goto_1f .line 1031 .end local v7 # "pointerId":I :pswitch_de invoke-virtual {p0}, Landroid/support/v4/widget/ViewDragHelper;->cancel()V goto/16 :goto_1f .line 1036 :cond_e3 const/4 v11, 0x0 goto/16 :goto_25 .line 953 :pswitch_data_e6 .packed-switch 0x0 :pswitch_26 :pswitch_de :pswitch_92 :pswitch_de :pswitch_1f :pswitch_5a :pswitch_d5 .end packed-switch .end method .method public smoothSlideViewTo(Landroid/view/View;II)Z .registers 6 .param p1, "child" # Landroid/view/View; .param p2, "finalLeft" # I .param p3, "finalTop" # I .prologue const/4 v1, 0x0 .line 539 iput-object p1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; .line 540 const/4 v0, -0x1 iput v0, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I .line 542 invoke-direct {p0, p2, p3, v1, v1}, Landroid/support/v4/widget/ViewDragHelper;->forceSettleCapturedViewAt(IIII)Z move-result v0 return v0 .end method .method tryCaptureViewForDrag(Landroid/view/View;I)Z .registers 5 .param p1, "toCapture" # Landroid/view/View; .param p2, "pointerId" # I .prologue const/4 v0, 0x1 .line 883 iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCapturedView:Landroid/view/View; if-ne p1, v1, :cond_a iget v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I if-ne v1, p2, :cond_a .line 892 :goto_9 return v0 .line 887 :cond_a if-eqz p1, :cond_1a iget-object v1, p0, Landroid/support/v4/widget/ViewDragHelper;->mCallback:Landroid/support/v4/widget/ViewDragHelper$Callback; invoke-virtual {v1, p1, p2}, Landroid/support/v4/widget/ViewDragHelper$Callback;->tryCaptureView(Landroid/view/View;I)Z move-result v1 if-eqz v1, :cond_1a .line 888 iput p2, p0, Landroid/support/v4/widget/ViewDragHelper;->mActivePointerId:I .line 889 invoke-virtual {p0, p1, p2}, Landroid/support/v4/widget/ViewDragHelper;->captureChildView(Landroid/view/View;I)V goto :goto_9 .line 892 :cond_1a const/4 v0, 0x0 goto :goto_9 .end method