ItemTouchHelper.smali
.class public Landroidx/recyclerview/widget/ItemTouchHelper;
.super Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;
.source "ItemTouchHelper.java"
# interfaces
.implements Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;,
Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;,
Landroidx/recyclerview/widget/ItemTouchHelper$SimpleCallback;,
Landroidx/recyclerview/widget/ItemTouchHelper$Callback;,
Landroidx/recyclerview/widget/ItemTouchHelper$ViewDropHandler;
}
.end annotation
# static fields
.field static final ACTION_MODE_DRAG_MASK:I
.field private static final ACTION_MODE_IDLE_MASK:I
.field static final ACTION_MODE_SWIPE_MASK:I
.field public static final ACTION_STATE_DRAG:I
.field public static final ACTION_STATE_IDLE:I
.field public static final ACTION_STATE_SWIPE:I
.field private static final ACTIVE_POINTER_ID_NONE:I
.field public static final ANIMATION_TYPE_DRAG:I
.field public static final ANIMATION_TYPE_SWIPE_CANCEL:I
.field public static final ANIMATION_TYPE_SWIPE_SUCCESS:I
.field private static final DEBUG:Z = false
.field static final DIRECTION_FLAG_COUNT:I
.field public static final DOWN:I
.field public static final END:I
.field public static final LEFT:I
.field private static final PIXELS_PER_SECOND:I
.field public static final RIGHT:I
.field public static final START:I
.field private static final TAG:Ljava/lang/String; = "ItemTouchHelper"
.field public static final UP:I
# instance fields
.field private mActionState:I
.field mActivePointerId:I
.field mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
.field private mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.field private mDistances:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private mDragScrollStartTimeInMs:J
.field mDx:F
.field mDy:F
.field mGestureDetector:Landroidx/core/view/GestureDetectorCompat;
.field mInitialTouchX:F
.field mInitialTouchY:F
.field private mItemTouchHelperGestureListener:Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;
.field private mMaxSwipeVelocity:F
.field private final mOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.field mOverdrawChild:Landroid/view/View;
.field mOverdrawChildPosition:I
.field final mPendingCleanup:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroid/view/View;",
">;"
}
.end annotation
.end field
.field mRecoverAnimations:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;",
">;"
}
.end annotation
.end field
.field mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.field final mScrollRunnable:Ljava/lang/Runnable;
.field mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.field mSelectedFlags:I
.field private mSelectedStartX:F
.field private mSelectedStartY:F
.field private mSlop:I
.field private mSwapTargets:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
">;"
}
.end annotation
.end field
.field private mSwipeEscapeVelocity:F
.field private final mTmpPosition:[F
.field private mTmpRect:Landroid/graphics/Rect;
.field mVelocityTracker:Landroid/view/VelocityTracker;
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, 0xff156f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTION_MODE_DRAG_MASK:I
const v0, 0x1590
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTION_MODE_IDLE_MASK:I
const v0, 0xea6f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTION_MODE_SWIPE_MASK:I
const v0, 0x156d
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTION_STATE_DRAG:I
const v0, 0x156f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTION_STATE_IDLE:I
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTION_STATE_SWIPE:I
const v0, -0x1570
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ACTIVE_POINTER_ID_NONE:I
const v0, 0x1567
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ANIMATION_TYPE_DRAG:I
const v0, 0x156b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ANIMATION_TYPE_SWIPE_CANCEL:I
const v0, 0x156d
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->ANIMATION_TYPE_SWIPE_SUCCESS:I
const v0, 0x1567
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->DIRECTION_FLAG_COUNT:I
const v0, 0x156d
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->DOWN:I
const v0, 0x154f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->END:I
const v0, 0x156b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->LEFT:I
const v0, 0x1687
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->PIXELS_PER_SECOND:I
const v0, 0x1567
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->RIGHT:I
const v0, 0x157f
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->START:I
const v0, 0x156e
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Landroidx/recyclerview/widget/ItemTouchHelper;->UP:I
return-void
.end method
.method public constructor <init>(Landroidx/recyclerview/widget/ItemTouchHelper$Callback;)V
.registers 5
.param p1, "callback" # Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
.line 447
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;-><init>()V
.line 168
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mPendingCleanup:Ljava/util/List;
.line 173
const/4 v0, 0x2
new-array v0, v0, [F
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
.line 178
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 218
const/4 v1, -0x1
iput v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
.line 230
const/4 v2, 0x0
iput v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
.line 247
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
iput-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
.line 257
new-instance v2, Landroidx/recyclerview/widget/ItemTouchHelper$1;
invoke-direct {v2, p0}, Landroidx/recyclerview/widget/ItemTouchHelper$1;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper;)V
iput-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mScrollRunnable:Ljava/lang/Runnable;
.line 285
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.line 292
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChild:Landroid/view/View;
.line 300
iput v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChildPosition:I
.line 314
new-instance v0, Landroidx/recyclerview/widget/ItemTouchHelper$2;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/ItemTouchHelper$2;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper;)V
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
.line 448
iput-object p1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
.line 449
return-void
.end method
.method private addChildDrawingOrderCallback()V
.registers 3
.line 1293
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x15
if-lt v0, v1, :cond_7
.line 1294
return-void
.line 1296
:cond_7
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-nez v0, :cond_12
.line 1297
new-instance v0, Landroidx/recyclerview/widget/ItemTouchHelper$5;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/ItemTouchHelper$5;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper;)V
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
.line 1315
:cond_12
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
.line 1316
return-void
.end method
.method private checkVerticalSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)I
.registers 11
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "flags" # I
.line 1267
and-int/lit8 v0, p2, 0x3
if-eqz v0, :cond_79
.line 1268
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
const/4 v1, 0x2
const/4 v2, 0x1
const/4 v3, 0x0
cmpl-float v0, v0, v3
if-lez v0, :cond_f
const/4 v0, 0x2
goto :goto_10
:cond_f
const/4 v0, 0x1
.line 1269
.local v0, "dirFlag":I
:goto_10
iget-object v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v4, :cond_5b
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
const/4 v6, -0x1
if-le v5, v6, :cond_5b
.line 1270
const/16 v5, 0x3e8
iget-object v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget v7, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mMaxSwipeVelocity:F
.line 1271
invoke-virtual {v6, v7}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getSwipeVelocityThreshold(F)F
move-result v6
.line 1270
invoke-virtual {v4, v5, v6}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
.line 1272
iget-object v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
invoke-virtual {v4, v5}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v4
.line 1273
.local v4, "xVelocity":F
iget-object v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
invoke-virtual {v5, v6}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v5
.line 1274
.local v5, "yVelocity":F
cmpl-float v3, v5, v3
if-lez v3, :cond_3b
goto :goto_3c
:cond_3b
const/4 v1, 0x1
.line 1275
.local v1, "velDirFlag":I
:goto_3c
invoke-static {v5}, Ljava/lang/Math;->abs(F)F
move-result v2
.line 1276
.local v2, "absYVelocity":F
and-int v3, v1, p2
if-eqz v3, :cond_5b
if-ne v1, v0, :cond_5b
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwipeEscapeVelocity:F
.line 1277
invoke-virtual {v3, v6}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getSwipeEscapeVelocity(F)F
move-result v3
cmpl-float v3, v2, v3
if-ltz v3, :cond_5b
.line 1278
invoke-static {v4}, Ljava/lang/Math;->abs(F)F
move-result v3
cmpl-float v3, v2, v3
if-lez v3, :cond_5b
.line 1279
return v1
.line 1283
.end local v1 # "velDirFlag":I
.end local v2 # "absYVelocity":F
.end local v4 # "xVelocity":F
.end local v5 # "yVelocity":F
:cond_5b
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v1
int-to-float v1, v1
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
.line 1284
invoke-virtual {v2, p1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getSwipeThreshold(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)F
move-result v2
mul-float v1, v1, v2
.line 1285
.local v1, "threshold":F
and-int v2, p2, v0
if-eqz v2, :cond_79
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
invoke-static {v2}, Ljava/lang/Math;->abs(F)F
move-result v2
cmpl-float v2, v2, v1
if-lez v2, :cond_79
.line 1286
return v0
.line 1289
.end local v0 # "dirFlag":I
.end local v1 # "threshold":F
:cond_79
const/4 v0, 0x0
return v0
.end method
.method private destroyCallbacks()V
.registers 7
.line 493
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.line 494
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.line 495
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->removeOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.line 497
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
.line 498
.local v0, "recoverAnimSize":I
add-int/lit8 v1, v0, -0x1
.local v1, "i":I
:goto_19
if-ltz v1, :cond_30
.line 499
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
const/4 v3, 0x0
invoke-interface {v2, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.line 500
.local v2, "recoverAnimation":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v5, v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v3, v4, v5}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->clearView(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 498
.end local v2 # "recoverAnimation":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
add-int/lit8 v1, v1, -0x1
goto :goto_19
.line 502
.end local v1 # "i":I
:cond_30
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
.line 503
const/4 v1, 0x0
iput-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChild:Landroid/view/View;
.line 504
const/4 v1, -0x1
iput v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChildPosition:I
.line 505
invoke-direct {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->releaseVelocityTracker()V
.line 506
invoke-direct {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->stopGestureDetection()V
.line 507
return-void
.end method
.method private findSwapTargets(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Ljava/util/List;
.registers 22
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
")",
"Ljava/util/List<",
"Landroidx/recyclerview/widget/RecyclerView$ViewHolder;",
">;"
}
.end annotation
.line 799
move-object/from16 v0, p0
move-object/from16 v1, p1
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwapTargets:Ljava/util/List;
if-nez v2, :cond_17
.line 800
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
iput-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwapTargets:Ljava/util/List;
.line 801
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
iput-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDistances:Ljava/util/List;
goto :goto_1f
.line 803
:cond_17
invoke-interface {v2}, Ljava/util/List;->clear()V
.line 804
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDistances:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->clear()V
.line 806
:goto_1f
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
invoke-virtual {v2}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getBoundingBoxMargin()I
move-result v2
.line 807
.local v2, "margin":I
iget v3, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartX:F
iget v4, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
add-float/2addr v3, v4
invoke-static {v3}, Ljava/lang/Math;->round(F)I
move-result v3
sub-int/2addr v3, v2
.line 808
.local v3, "left":I
iget v4, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartY:F
iget v5, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
add-float/2addr v4, v5
invoke-static {v4}, Ljava/lang/Math;->round(F)I
move-result v4
sub-int/2addr v4, v2
.line 809
.local v4, "top":I
iget-object v5, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v5}, Landroid/view/View;->getWidth()I
move-result v5
add-int/2addr v5, v3
mul-int/lit8 v6, v2, 0x2
add-int/2addr v5, v6
.line 810
.local v5, "right":I
iget-object v6, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v6}, Landroid/view/View;->getHeight()I
move-result v6
add-int/2addr v6, v4
mul-int/lit8 v7, v2, 0x2
add-int/2addr v6, v7
.line 811
.local v6, "bottom":I
add-int v7, v3, v5
div-int/lit8 v7, v7, 0x2
.line 812
.local v7, "centerX":I
add-int v8, v4, v6
div-int/lit8 v8, v8, 0x2
.line 813
.local v8, "centerY":I
iget-object v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v9}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-result-object v9
.line 814
.local v9, "lm":Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v9}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getChildCount()I
move-result v10
.line 815
.local v10, "childCount":I
const/4 v11, 0x0
.local v11, "i":I
:goto_60
if-ge v11, v10, :cond_11e
.line 816
invoke-virtual {v9, v11}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getChildAt(I)Landroid/view/View;
move-result-object v12
.line 817
.local v12, "other":Landroid/view/View;
iget-object v13, v1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
if-ne v12, v13, :cond_70
.line 818
move/from16 v19, v2
move/from16 v16, v3
goto/16 :goto_114
.line 820
:cond_70
invoke-virtual {v12}, Landroid/view/View;->getBottom()I
move-result v13
if-lt v13, v4, :cond_110
invoke-virtual {v12}, Landroid/view/View;->getTop()I
move-result v13
if-gt v13, v6, :cond_110
.line 821
invoke-virtual {v12}, Landroid/view/View;->getRight()I
move-result v13
if-lt v13, v3, :cond_10b
invoke-virtual {v12}, Landroid/view/View;->getLeft()I
move-result v13
if-le v13, v5, :cond_8e
.line 822
move/from16 v19, v2
move/from16 v16, v3
goto/16 :goto_114
.line 824
:cond_8e
iget-object v13, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v13, v12}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v13
.line 825
.local v13, "otherVh":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v14, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v15, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
invoke-virtual {v14, v15, v1, v13}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->canDropOver(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v1
if-eqz v1, :cond_106
.line 827
invoke-virtual {v12}, Landroid/view/View;->getLeft()I
move-result v1
invoke-virtual {v12}, Landroid/view/View;->getRight()I
move-result v14
add-int/2addr v1, v14
div-int/lit8 v1, v1, 0x2
sub-int v1, v7, v1
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
.line 828
.local v1, "dx":I
invoke-virtual {v12}, Landroid/view/View;->getTop()I
move-result v14
invoke-virtual {v12}, Landroid/view/View;->getBottom()I
move-result v15
add-int/2addr v14, v15
div-int/lit8 v14, v14, 0x2
sub-int v14, v8, v14
invoke-static {v14}, Ljava/lang/Math;->abs(I)I
move-result v14
.line 829
.local v14, "dy":I
mul-int v15, v1, v1
mul-int v16, v14, v14
add-int v15, v15, v16
.line 831
.local v15, "dist":I
const/16 v16, 0x0
.line 832
.local v16, "pos":I
move/from16 v17, v1
.end local v1 # "dx":I
.local v17, "dx":I
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwapTargets:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
.line 833
.local v1, "cnt":I
const/16 v18, 0x0
move/from16 v19, v2
move/from16 v2, v16
move/from16 v16, v3
move/from16 v3, v18
.local v2, "pos":I
.local v3, "j":I
.local v16, "left":I
.local v19, "margin":I
:goto_dc
if-ge v3, v1, :cond_f5
.line 834
move/from16 v18, v1
.end local v1 # "cnt":I
.local v18, "cnt":I
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDistances:Ljava/util/List;
invoke-interface {v1, v3}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/lang/Integer;
invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I
move-result v1
if-le v15, v1, :cond_f7
.line 835
add-int/lit8 v2, v2, 0x1
.line 833
add-int/lit8 v3, v3, 0x1
move/from16 v1, v18
goto :goto_dc
.end local v18 # "cnt":I
.restart local v1 # "cnt":I
:cond_f5
move/from16 v18, v1
.line 840
.end local v1 # "cnt":I
.end local v3 # "j":I
.restart local v18 # "cnt":I
:cond_f7
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwapTargets:Ljava/util/List;
invoke-interface {v1, v2, v13}, Ljava/util/List;->add(ILjava/lang/Object;)V
.line 841
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDistances:Ljava/util/List;
invoke-static {v15}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-interface {v1, v2, v3}, Ljava/util/List;->add(ILjava/lang/Object;)V
goto :goto_114
.line 825
.end local v14 # "dy":I
.end local v15 # "dist":I
.end local v16 # "left":I
.end local v17 # "dx":I
.end local v18 # "cnt":I
.end local v19 # "margin":I
.local v2, "margin":I
.local v3, "left":I
:cond_106
move/from16 v19, v2
move/from16 v16, v3
.end local v2 # "margin":I
.end local v3 # "left":I
.restart local v16 # "left":I
.restart local v19 # "margin":I
goto :goto_114
.line 821
.end local v13 # "otherVh":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v16 # "left":I
.end local v19 # "margin":I
.restart local v2 # "margin":I
.restart local v3 # "left":I
:cond_10b
move/from16 v19, v2
move/from16 v16, v3
.end local v2 # "margin":I
.end local v3 # "left":I
.restart local v16 # "left":I
.restart local v19 # "margin":I
goto :goto_114
.line 820
.end local v16 # "left":I
.end local v19 # "margin":I
.restart local v2 # "margin":I
.restart local v3 # "left":I
:cond_110
move/from16 v19, v2
move/from16 v16, v3
.line 815
.end local v2 # "margin":I
.end local v3 # "left":I
.end local v12 # "other":Landroid/view/View;
.restart local v16 # "left":I
.restart local v19 # "margin":I
:goto_114
add-int/lit8 v11, v11, 0x1
move-object/from16 v1, p1
move/from16 v3, v16
move/from16 v2, v19
goto/16 :goto_60
.line 844
.end local v11 # "i":I
.end local v16 # "left":I
.end local v19 # "margin":I
.restart local v2 # "margin":I
.restart local v3 # "left":I
:cond_11e
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwapTargets:Ljava/util/List;
return-object v1
.end method
.method private findSwipedView(Landroid/view/MotionEvent;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.registers 11
.param p1, "motionEvent" # Landroid/view/MotionEvent;
.line 949
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-result-object v0
.line 950
.local v0, "lm":Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
const/4 v2, 0x0
const/4 v3, -0x1
if-ne v1, v3, :cond_d
.line 951
return-object v2
.line 953
:cond_d
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->findPointerIndex(I)I
move-result v1
.line 954
.local v1, "pointerIndex":I
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getX(I)F
move-result v3
iget v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mInitialTouchX:F
sub-float/2addr v3, v4
.line 955
.local v3, "dx":F
invoke-virtual {p1, v1}, Landroid/view/MotionEvent;->getY(I)F
move-result v4
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mInitialTouchY:F
sub-float/2addr v4, v5
.line 956
.local v4, "dy":F
invoke-static {v3}, Ljava/lang/Math;->abs(F)F
move-result v5
.line 957
.local v5, "absDx":F
invoke-static {v4}, Ljava/lang/Math;->abs(F)F
move-result v6
.line 959
.local v6, "absDy":F
iget v7, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSlop:I
int-to-float v8, v7
cmpg-float v8, v5, v8
if-gez v8, :cond_34
int-to-float v7, v7
cmpg-float v7, v6, v7
if-gez v7, :cond_34
.line 960
return-object v2
.line 962
:cond_34
cmpl-float v7, v5, v6
if-lez v7, :cond_3f
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v7
if-eqz v7, :cond_3f
.line 963
return-object v2
.line 964
:cond_3f
cmpl-float v7, v6, v5
if-lez v7, :cond_4a
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v7
if-eqz v7, :cond_4a
.line 965
return-object v2
.line 967
:cond_4a
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/ItemTouchHelper;->findChildView(Landroid/view/MotionEvent;)Landroid/view/View;
move-result-object v7
.line 968
.local v7, "child":Landroid/view/View;
if-nez v7, :cond_51
.line 969
return-object v2
.line 971
:cond_51
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2, v7}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v2
return-object v2
.end method
.method private getSelectedDxDy([F)V
.registers 5
.param p1, "outPosition" # [F
.line 526
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedFlags:I
and-int/lit8 v0, v0, 0xc
const/4 v1, 0x0
if-eqz v0, :cond_19
.line 527
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartX:F
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
add-float/2addr v0, v2
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getLeft()I
move-result v2
int-to-float v2, v2
sub-float/2addr v0, v2
aput v0, p1, v1
goto :goto_23
.line 529
:cond_19
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getTranslationX()F
move-result v0
aput v0, p1, v1
.line 531
:goto_23
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedFlags:I
and-int/lit8 v0, v0, 0x3
const/4 v1, 0x1
if-eqz v0, :cond_3c
.line 532
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartY:F
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
add-float/2addr v0, v2
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getTop()I
move-result v2
int-to-float v2, v2
sub-float/2addr v0, v2
aput v0, p1, v1
goto :goto_46
.line 534
:cond_3c
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getTranslationY()F
move-result v0
aput v0, p1, v1
.line 536
:goto_46
return-void
.end method
.method private static hitTest(Landroid/view/View;FFFF)Z
.registers 6
.param p0, "child" # Landroid/view/View;
.param p1, "x" # F
.param p2, "y" # F
.param p3, "left" # F
.param p4, "top" # F
.line 452
cmpl-float v0, p1, p3
if-ltz v0, :cond_1e
.line 453
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
add-float/2addr v0, p3
cmpg-float v0, p1, v0
if-gtz v0, :cond_1e
cmpl-float v0, p2, p4
if-ltz v0, :cond_1e
.line 455
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
int-to-float v0, v0
add-float/2addr v0, p4
cmpg-float v0, p2, v0
if-gtz v0, :cond_1e
const/4 v0, 0x1
goto :goto_1f
:cond_1e
const/4 v0, 0x0
.line 452
:goto_1f
return v0
.end method
.method private releaseVelocityTracker()V
.registers 2
.line 942
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_a
.line 943
invoke-virtual {v0}, Landroid/view/VelocityTracker;->recycle()V
.line 944
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 946
:cond_a
return-void
.end method
.method private setupCallbacks()V
.registers 4
.line 484
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
move-result-object v0
.line 485
.local v0, "vc":Landroid/view/ViewConfiguration;
invoke-virtual {v0}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I
move-result v1
iput v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSlop:I
.line 486
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V
.line 487
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOnItemTouchListener:Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;
invoke-virtual {v1, v2}, Landroidx/recyclerview/widget/RecyclerView;->addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V
.line 488
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1, p0}, Landroidx/recyclerview/widget/RecyclerView;->addOnChildAttachStateChangeListener(Landroidx/recyclerview/widget/RecyclerView$OnChildAttachStateChangeListener;)V
.line 489
invoke-direct {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->startGestureDetection()V
.line 490
return-void
.end method
.method private startGestureDetection()V
.registers 4
.line 510
new-instance v0, Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;
invoke-direct {v0, p0}, Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper;)V
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mItemTouchHelperGestureListener:Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;
.line 511
new-instance v0, Landroidx/core/view/GestureDetectorCompat;
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getContext()Landroid/content/Context;
move-result-object v1
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mItemTouchHelperGestureListener:Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;
invoke-direct {v0, v1, v2}, Landroidx/core/view/GestureDetectorCompat;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mGestureDetector:Landroidx/core/view/GestureDetectorCompat;
.line 513
return-void
.end method
.method private stopGestureDetection()V
.registers 3
.line 516
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mItemTouchHelperGestureListener:Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;
const/4 v1, 0x0
if-eqz v0, :cond_a
.line 517
invoke-virtual {v0}, Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;->doNotReactToLongPress()V
.line 518
iput-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mItemTouchHelperGestureListener:Landroidx/recyclerview/widget/ItemTouchHelper$ItemTouchHelperGestureListener;
.line 520
:cond_a
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mGestureDetector:Landroidx/core/view/GestureDetectorCompat;
if-eqz v0, :cond_10
.line 521
iput-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mGestureDetector:Landroidx/core/view/GestureDetectorCompat;
.line 523
:cond_10
return-void
.end method
.method private swipeIfNecessary(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
.registers 9
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 1190
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
const/4 v1, 0x0
const/4 v2, 0x2
if-ne v0, v2, :cond_7
.line 1191
return v1
.line 1193
:cond_7
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, v2, p1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getMovementFlags(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v0
.line 1194
.local v0, "originalMovementFlags":I
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 1196
invoke-static {v3}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I
move-result v3
.line 1194
invoke-virtual {v2, v0, v3}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->convertToAbsoluteDirection(II)I
move-result v2
.line 1197
.local v2, "absoluteMovementFlags":I
const v3, 0xff00
and-int v4, v2, v3
shr-int/lit8 v4, v4, 0x8
.line 1199
.local v4, "flags":I
if-nez v4, :cond_25
.line 1200
return v1
.line 1202
:cond_25
and-int/2addr v3, v0
shr-int/lit8 v3, v3, 0x8
.line 1205
.local v3, "originalFlags":I
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
invoke-static {v5}, Ljava/lang/Math;->abs(F)F
move-result v5
iget v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
invoke-static {v6}, Ljava/lang/Math;->abs(F)F
move-result v6
cmpl-float v5, v5, v6
if-lez v5, :cond_57
.line 1206
invoke-virtual {p0, p1, v4}, Landroidx/recyclerview/widget/ItemTouchHelper;->checkHorizontalSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)I
move-result v5
move v6, v5
.local v6, "swipeDir":I
if-lez v5, :cond_4f
.line 1208
and-int v1, v3, v6
if-nez v1, :cond_4e
.line 1210
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 1211
invoke-static {v1}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I
move-result v1
.line 1210
invoke-static {v6, v1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->convertToRelativeDirection(II)I
move-result v1
return v1
.line 1213
:cond_4e
return v6
.line 1215
:cond_4f
invoke-direct {p0, p1, v4}, Landroidx/recyclerview/widget/ItemTouchHelper;->checkVerticalSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)I
move-result v5
move v6, v5
if-lez v5, :cond_76
.line 1216
return v6
.line 1219
.end local v6 # "swipeDir":I
:cond_57
invoke-direct {p0, p1, v4}, Landroidx/recyclerview/widget/ItemTouchHelper;->checkVerticalSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)I
move-result v5
move v6, v5
.restart local v6 # "swipeDir":I
if-lez v5, :cond_5f
.line 1220
return v6
.line 1222
:cond_5f
invoke-virtual {p0, p1, v4}, Landroidx/recyclerview/widget/ItemTouchHelper;->checkHorizontalSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)I
move-result v5
move v6, v5
if-lez v5, :cond_76
.line 1224
and-int v1, v3, v6
if-nez v1, :cond_75
.line 1226
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 1227
invoke-static {v1}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I
move-result v1
.line 1226
invoke-static {v6, v1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->convertToRelativeDirection(II)I
move-result v1
return v1
.line 1229
:cond_75
return v6
.line 1232
:cond_76
return v1
.end method
# virtual methods
.method public attachToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V
.registers 4
.param p1, "recyclerView" # Landroidx/recyclerview/widget/RecyclerView;
.line 468
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-ne v0, p1, :cond_5
.line 469
return-void
.line 471
:cond_5
if-eqz v0, :cond_a
.line 472
invoke-direct {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->destroyCallbacks()V
.line 474
:cond_a
iput-object p1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 475
if-eqz p1, :cond_27
.line 476
invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 477
.local v0, "resources":Landroid/content/res/Resources;
const/high16 v1, 0x42f00000 # 120.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
int-to-float v1, v1
iput v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwipeEscapeVelocity:F
.line 478
const/high16 v1, 0x44480000 # 800.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
int-to-float v1, v1
iput v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mMaxSwipeVelocity:F
.line 479
invoke-direct {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->setupCallbacks()V
.line 481
.end local v0 # "resources":Landroid/content/res/Resources;
:cond_27
return-void
.end method
.method public checkHorizontalSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)I
.registers 11
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "flags" # I
.line 1240
and-int/lit8 v0, p2, 0xc
if-eqz v0, :cond_7b
.line 1241
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
const/16 v1, 0x8
const/4 v2, 0x4
const/4 v3, 0x0
cmpl-float v0, v0, v3
if-lez v0, :cond_11
const/16 v0, 0x8
goto :goto_12
:cond_11
const/4 v0, 0x4
.line 1242
.local v0, "dirFlag":I
:goto_12
iget-object v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v4, :cond_5d
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
const/4 v6, -0x1
if-le v5, v6, :cond_5d
.line 1243
const/16 v5, 0x3e8
iget-object v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget v7, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mMaxSwipeVelocity:F
.line 1244
invoke-virtual {v6, v7}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getSwipeVelocityThreshold(F)F
move-result v6
.line 1243
invoke-virtual {v4, v5, v6}, Landroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
.line 1245
iget-object v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
invoke-virtual {v4, v5}, Landroid/view/VelocityTracker;->getXVelocity(I)F
move-result v4
.line 1246
.local v4, "xVelocity":F
iget-object v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
iget v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
invoke-virtual {v5, v6}, Landroid/view/VelocityTracker;->getYVelocity(I)F
move-result v5
.line 1247
.local v5, "yVelocity":F
cmpl-float v3, v4, v3
if-lez v3, :cond_3d
goto :goto_3e
:cond_3d
const/4 v1, 0x4
.line 1248
.local v1, "velDirFlag":I
:goto_3e
invoke-static {v4}, Ljava/lang/Math;->abs(F)F
move-result v2
.line 1249
.local v2, "absXVelocity":F
and-int v3, v1, p2
if-eqz v3, :cond_5d
if-ne v0, v1, :cond_5d
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwipeEscapeVelocity:F
.line 1250
invoke-virtual {v3, v6}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getSwipeEscapeVelocity(F)F
move-result v3
cmpl-float v3, v2, v3
if-ltz v3, :cond_5d
.line 1251
invoke-static {v5}, Ljava/lang/Math;->abs(F)F
move-result v3
cmpl-float v3, v2, v3
if-lez v3, :cond_5d
.line 1252
return v1
.line 1256
.end local v1 # "velDirFlag":I
.end local v2 # "absXVelocity":F
.end local v4 # "xVelocity":F
.end local v5 # "yVelocity":F
:cond_5d
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v1
int-to-float v1, v1
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
.line 1257
invoke-virtual {v2, p1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getSwipeThreshold(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)F
move-result v2
mul-float v1, v1, v2
.line 1259
.local v1, "threshold":F
and-int v2, p2, v0
if-eqz v2, :cond_7b
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
invoke-static {v2}, Ljava/lang/Math;->abs(F)F
move-result v2
cmpl-float v2, v2, v1
if-lez v2, :cond_7b
.line 1260
return v0
.line 1263
.end local v0 # "dirFlag":I
.end local v1 # "threshold":F
:cond_7b
const/4 v0, 0x0
return v0
.end method
.method checkSelectForSwipe(ILandroid/view/MotionEvent;I)V
.registers 16
.param p1, "action" # I
.param p2, "motionEvent" # Landroid/view/MotionEvent;
.param p3, "pointerIndex" # I
.line 979
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-nez v0, :cond_94
const/4 v0, 0x2
if-ne p1, v0, :cond_94
iget v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
if-eq v1, v0, :cond_94
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
.line 980
invoke-virtual {v0}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->isItemViewSwipeEnabled()Z
move-result v0
if-nez v0, :cond_15
goto/16 :goto_94
.line 983
:cond_15
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getScrollState()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_1f
.line 984
return-void
.line 986
:cond_1f
invoke-direct {p0, p2}, Landroidx/recyclerview/widget/ItemTouchHelper;->findSwipedView(Landroid/view/MotionEvent;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 987
.local v0, "vh":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-nez v0, :cond_26
.line 988
return-void
.line 990
:cond_26
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2, v3, v0}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getAbsoluteMovementFlags(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v2
.line 992
.local v2, "movementFlags":I
const v3, 0xff00
and-int/2addr v3, v2
shr-int/lit8 v3, v3, 0x8
.line 995
.local v3, "swipeFlags":I
if-nez v3, :cond_37
.line 996
return-void
.line 1001
:cond_37
invoke-virtual {p2, p3}, Landroid/view/MotionEvent;->getX(I)F
move-result v4
.line 1002
.local v4, "x":F
invoke-virtual {p2, p3}, Landroid/view/MotionEvent;->getY(I)F
move-result v5
.line 1005
.local v5, "y":F
iget v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mInitialTouchX:F
sub-float v6, v4, v6
.line 1006
.local v6, "dx":F
iget v7, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mInitialTouchY:F
sub-float v7, v5, v7
.line 1009
.local v7, "dy":F
invoke-static {v6}, Ljava/lang/Math;->abs(F)F
move-result v8
.line 1010
.local v8, "absDx":F
invoke-static {v7}, Ljava/lang/Math;->abs(F)F
move-result v9
.line 1012
.local v9, "absDy":F
iget v10, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSlop:I
int-to-float v11, v10
cmpg-float v11, v8, v11
if-gez v11, :cond_5c
int-to-float v10, v10
cmpg-float v10, v9, v10
if-gez v10, :cond_5c
.line 1013
return-void
.line 1015
:cond_5c
const/4 v10, 0x0
cmpl-float v11, v8, v9
if-lez v11, :cond_73
.line 1016
cmpg-float v11, v6, v10
if-gez v11, :cond_6a
and-int/lit8 v11, v3, 0x4
if-nez v11, :cond_6a
.line 1017
return-void
.line 1019
:cond_6a
cmpl-float v11, v6, v10
if-lez v11, :cond_85
and-int/lit8 v11, v3, 0x8
if-nez v11, :cond_85
.line 1020
return-void
.line 1023
:cond_73
cmpg-float v11, v7, v10
if-gez v11, :cond_7c
and-int/lit8 v11, v3, 0x1
if-nez v11, :cond_7c
.line 1024
return-void
.line 1026
:cond_7c
cmpl-float v11, v7, v10
if-lez v11, :cond_85
and-int/lit8 v11, v3, 0x2
if-nez v11, :cond_85
.line 1027
return-void
.line 1030
:cond_85
iput v10, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
iput v10, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
.line 1031
const/4 v10, 0x0
invoke-virtual {p2, v10}, Landroid/view/MotionEvent;->getPointerId(I)I
move-result v10
iput v10, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActivePointerId:I
.line 1032
invoke-virtual {p0, v0, v1}, Landroidx/recyclerview/widget/ItemTouchHelper;->select(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.line 1033
return-void
.line 981
.end local v0 # "vh":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v2 # "movementFlags":I
.end local v3 # "swipeFlags":I
.end local v4 # "x":F
.end local v5 # "y":F
.end local v6 # "dx":F
.end local v7 # "dy":F
.end local v8 # "absDx":F
.end local v9 # "absDy":F
:cond_94
:goto_94
return-void
.end method
.method endRecoverAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Z)V
.registers 7
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "override" # Z
.line 913
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
.line 914
.local v0, "recoverAnimSize":I
add-int/lit8 v1, v0, -0x1
.local v1, "i":I
:goto_8
if-ltz v1, :cond_2b
.line 915
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.line 916
.local v2, "anim":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
iget-object v3, v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-ne v3, p1, :cond_28
.line 917
iget-boolean v3, v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mOverridden:Z
or-int/2addr v3, p2
iput-boolean v3, v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mOverridden:Z
.line 918
iget-boolean v3, v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mEnded:Z
if-nez v3, :cond_22
.line 919
invoke-virtual {v2}, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->cancel()V
.line 921
:cond_22
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v3, v1}, Ljava/util/List;->remove(I)Ljava/lang/Object;
.line 922
return-void
.line 914
.end local v2 # "anim":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
:cond_28
add-int/lit8 v1, v1, -0x1
goto :goto_8
.line 925
.end local v1 # "i":I
:cond_2b
return-void
.end method
.method findAnimation(Landroid/view/MotionEvent;)Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.registers 7
.param p1, "event" # Landroid/view/MotionEvent;
.line 1154
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->isEmpty()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_a
.line 1155
return-object v1
.line 1157
:cond_a
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/ItemTouchHelper;->findChildView(Landroid/view/MotionEvent;)Landroid/view/View;
move-result-object v0
.line 1158
.local v0, "target":Landroid/view/View;
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
add-int/lit8 v2, v2, -0x1
.local v2, "i":I
:goto_16
if-ltz v2, :cond_2a
.line 1159
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.line 1160
.local v3, "anim":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
iget-object v4, v3, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v4, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
if-ne v4, v0, :cond_27
.line 1161
return-object v3
.line 1158
.end local v3 # "anim":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
:cond_27
add-int/lit8 v2, v2, -0x1
goto :goto_16
.line 1164
.end local v2 # "i":I
:cond_2a
return-object v1
.end method
.method findChildView(Landroid/view/MotionEvent;)Landroid/view/View;
.registers 9
.param p1, "event" # Landroid/view/MotionEvent;
.line 1038
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
.line 1039
.local v0, "x":F
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v1
.line 1040
.local v1, "y":F
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_1f
.line 1041
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 1042
.local v2, "selectedView":Landroid/view/View;
iget v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartX:F
iget v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
add-float/2addr v3, v4
iget v4, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartY:F
iget v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
add-float/2addr v4, v5
invoke-static {v2, v0, v1, v3, v4}, Landroidx/recyclerview/widget/ItemTouchHelper;->hitTest(Landroid/view/View;FFFF)Z
move-result v3
if-eqz v3, :cond_1f
.line 1043
return-object v2
.line 1046
.end local v2 # "selectedView":Landroid/view/View;
:cond_1f
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->size()I
move-result v2
add-int/lit8 v2, v2, -0x1
.local v2, "i":I
:goto_27
if-ltz v2, :cond_43
.line 1047
iget-object v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v3, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.line 1048
.local v3, "anim":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
iget-object v4, v3, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mViewHolder:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v4, v4, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 1049
.local v4, "view":Landroid/view/View;
iget v5, v3, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mX:F
iget v6, v3, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mY:F
invoke-static {v4, v0, v1, v5, v6}, Landroidx/recyclerview/widget/ItemTouchHelper;->hitTest(Landroid/view/View;FFFF)Z
move-result v5
if-eqz v5, :cond_40
.line 1050
return-object v4
.line 1046
.end local v3 # "anim":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.end local v4 # "view":Landroid/view/View;
:cond_40
add-int/lit8 v2, v2, -0x1
goto :goto_27
.line 1053
.end local v2 # "i":I
:cond_43
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2, v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->findChildViewUnder(FF)Landroid/view/View;
move-result-object v2
return-object v2
.end method
.method public getItemOffsets(Landroid/graphics/Rect;Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 5
.param p1, "outRect" # Landroid/graphics/Rect;
.param p2, "view" # Landroid/view/View;
.param p3, "parent" # Landroidx/recyclerview/widget/RecyclerView;
.param p4, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 930
invoke-virtual {p1}, Landroid/graphics/Rect;->setEmpty()V
.line 931
return-void
.end method
.method hasRunningRecoverAnim()Z
.registers 4
.line 722
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v0
.line 723
.local v0, "size":I
const/4 v1, 0x0
.local v1, "i":I
:goto_7
if-ge v1, v0, :cond_1a
.line 724
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
iget-boolean v2, v2, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->mEnded:Z
if-nez v2, :cond_17
.line 725
const/4 v2, 0x1
return v2
.line 723
:cond_17
add-int/lit8 v1, v1, 0x1
goto :goto_7
.line 728
.end local v1 # "i":I
:cond_1a
const/4 v1, 0x0
return v1
.end method
.method public isIdle()Z
.registers 2
.line 1236
iget v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
if-nez v0, :cond_6
const/4 v0, 0x1
goto :goto_7
:cond_6
const/4 v0, 0x0
:goto_7
return v0
.end method
.method moveIfNecessary(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 19
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 852
move-object/from16 v0, p0
move-object/from16 v9, p1
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->isLayoutRequested()Z
move-result v1
if-eqz v1, :cond_d
.line 853
return-void
.line 855
:cond_d
iget v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
const/4 v2, 0x2
if-eq v1, v2, :cond_13
.line 856
return-void
.line 859
:cond_13
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
invoke-virtual {v1, v9}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getMoveThreshold(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)F
move-result v10
.line 860
.local v10, "threshold":F
iget v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartX:F
iget v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
add-float/2addr v1, v2
float-to-int v11, v1
.line 861
.local v11, "x":I
iget v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartY:F
iget v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
add-float/2addr v1, v2
float-to-int v12, v1
.line 862
.local v12, "y":I
iget-object v1, v9, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v1}, Landroid/view/View;->getTop()I
move-result v1
sub-int v1, v12, v1
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
iget-object v2, v9, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v2}, Landroid/view/View;->getHeight()I
move-result v2
int-to-float v2, v2
mul-float v2, v2, v10
cmpg-float v1, v1, v2
if-gez v1, :cond_5a
iget-object v1, v9, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 863
invoke-virtual {v1}, Landroid/view/View;->getLeft()I
move-result v1
sub-int v1, v11, v1
invoke-static {v1}, Ljava/lang/Math;->abs(I)I
move-result v1
int-to-float v1, v1
iget-object v2, v9, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 864
invoke-virtual {v2}, Landroid/view/View;->getWidth()I
move-result v2
int-to-float v2, v2
mul-float v2, v2, v10
cmpg-float v1, v1, v2
if-gez v1, :cond_5a
.line 865
return-void
.line 867
:cond_5a
invoke-direct/range {p0 .. p1}, Landroidx/recyclerview/widget/ItemTouchHelper;->findSwapTargets(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Ljava/util/List;
move-result-object v13
.line 868
.local v13, "swapTargets":Ljava/util/List;, "Ljava/util/List<Landroidx/recyclerview/widget/RecyclerView$ViewHolder;>;"
invoke-interface {v13}, Ljava/util/List;->size()I
move-result v1
if-nez v1, :cond_65
.line 869
return-void
.line 872
:cond_65
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
invoke-virtual {v1, v9, v13, v11, v12}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->chooseDropTarget(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;II)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v14
.line 873
.local v14, "target":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-nez v14, :cond_78
.line 874
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSwapTargets:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
.line 875
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDistances:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->clear()V
.line 876
return-void
.line 878
:cond_78
invoke-virtual {v14}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result v15
.line 879
.local v15, "toPosition":I
invoke-virtual/range {p1 .. p1}, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->getAdapterPosition()I
move-result v16
.line 880
.local v16, "fromPosition":I
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1, v2, v9, v14}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->onMove(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v1
if-eqz v1, :cond_99
.line 882
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
move-object/from16 v3, p1
move/from16 v4, v16
move-object v5, v14
move v6, v15
move v7, v11
move v8, v12
invoke-virtual/range {v1 .. v8}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->onMoved(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;ILandroidx/recyclerview/widget/RecyclerView$ViewHolder;III)V
.line 885
:cond_99
return-void
.end method
.method obtainVelocityTracker()V
.registers 2
.line 935
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
if-eqz v0, :cond_7
.line 936
invoke-virtual {v0}, Landroid/view/VelocityTracker;->recycle()V
.line 938
:cond_7
invoke-static {}, Landroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
move-result-object v0
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mVelocityTracker:Landroid/view/VelocityTracker;
.line 939
return-void
.end method
.method public onChildViewAttachedToWindow(Landroid/view/View;)V
.registers 2
.param p1, "view" # Landroid/view/View;
.line 889
return-void
.end method
.method public onChildViewDetachedFromWindow(Landroid/view/View;)V
.registers 5
.param p1, "view" # Landroid/view/View;
.line 893
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/ItemTouchHelper;->removeChildDrawingOrderCallbackIfNecessary(Landroid/view/View;)V
.line 894
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView;->getChildViewHolder(Landroid/view/View;)Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move-result-object v0
.line 895
.local v0, "holder":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-nez v0, :cond_c
.line 896
return-void
.line 898
:cond_c
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
const/4 v2, 0x0
if-eqz v1, :cond_18
if-ne v0, v1, :cond_18
.line 899
const/4 v1, 0x0
invoke-virtual {p0, v1, v2}, Landroidx/recyclerview/widget/ItemTouchHelper;->select(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
goto :goto_2c
.line 901
:cond_18
invoke-virtual {p0, v0, v2}, Landroidx/recyclerview/widget/ItemTouchHelper;->endRecoverAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Z)V
.line 902
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mPendingCleanup:Ljava/util/List;
iget-object v2, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-interface {v1, v2}, Ljava/util/List;->remove(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2c
.line 903
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1, v2, v0}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->clearView(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 906
:cond_2c
:goto_2c
return-void
.end method
.method public onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 14
.param p1, "c" # Landroid/graphics/Canvas;
.param p2, "parent" # Landroidx/recyclerview/widget/RecyclerView;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 553
const/4 v0, -0x1
iput v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChildPosition:I
.line 554
const/4 v0, 0x0
.local v0, "dx":F
const/4 v1, 0x0
.line 555
.local v1, "dy":F
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_16
.line 556
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
invoke-direct {p0, v2}, Landroidx/recyclerview/widget/ItemTouchHelper;->getSelectedDxDy([F)V
.line 557
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
const/4 v3, 0x0
aget v0, v2, v3
.line 558
const/4 v3, 0x1
aget v1, v2, v3
.line 560
:cond_16
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
iget v7, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
move-object v3, p1
move-object v4, p2
move v8, v0
move v9, v1
invoke-virtual/range {v2 .. v9}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->onDraw(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;IFF)V
.line 562
return-void
.end method
.method public onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V
.registers 14
.param p1, "c" # Landroid/graphics/Canvas;
.param p2, "parent" # Landroidx/recyclerview/widget/RecyclerView;
.param p3, "state" # Landroidx/recyclerview/widget/RecyclerView$State;
.line 540
const/4 v0, 0x0
.local v0, "dx":F
const/4 v1, 0x0
.line 541
.local v1, "dy":F
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_13
.line 542
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
invoke-direct {p0, v2}, Landroidx/recyclerview/widget/ItemTouchHelper;->getSelectedDxDy([F)V
.line 543
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
const/4 v3, 0x0
aget v0, v2, v3
.line 544
const/4 v3, 0x1
aget v1, v2, v3
.line 546
:cond_13
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v5, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v6, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
iget v7, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
move-object v3, p1
move-object v4, p2
move v8, v0
move v9, v1
invoke-virtual/range {v2 .. v9}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Ljava/util/List;IFF)V
.line 548
return-void
.end method
.method postDispatchSwipe(Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;I)V
.registers 5
.param p1, "anim" # Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
.param p2, "swipeDir" # I
.line 699
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
new-instance v1, Landroidx/recyclerview/widget/ItemTouchHelper$4;
invoke-direct {v1, p0, p1, p2}, Landroidx/recyclerview/widget/ItemTouchHelper$4;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper;Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;I)V
invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->post(Ljava/lang/Runnable;)Z
.line 718
return-void
.end method
.method removeChildDrawingOrderCallbackIfNecessary(Landroid/view/View;)V
.registers 4
.param p1, "view" # Landroid/view/View;
.line 1320
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChild:Landroid/view/View;
if-ne p1, v0, :cond_10
.line 1321
const/4 v0, 0x0
iput-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChild:Landroid/view/View;
.line 1323
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mChildDrawingOrderCallback:Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;
if-eqz v1, :cond_10
.line 1324
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1, v0}, Landroidx/recyclerview/widget/RecyclerView;->setChildDrawingOrderCallback(Landroidx/recyclerview/widget/RecyclerView$ChildDrawingOrderCallback;)V
.line 1327
:cond_10
return-void
.end method
.method scrollIfNecessary()Z
.registers 24
.line 736
move-object/from16 v0, p0
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
const/4 v2, 0x0
const-wide/high16 v3, -0x8000000000000000L
if-nez v1, :cond_c
.line 737
iput-wide v3, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDragScrollStartTimeInMs:J
.line 738
return v2
.line 740
:cond_c
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v5
.line 741
.local v5, "now":J
iget-wide v7, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDragScrollStartTimeInMs:J
cmp-long v1, v7, v3
if-nez v1, :cond_19
const-wide/16 v7, 0x0
goto :goto_1b
:cond_19
sub-long v7, v5, v7
:goto_1b
move-wide v14, v7
.line 743
.local v14, "scrollDuration":J
iget-object v1, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-result-object v1
.line 744
.local v1, "lm":Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
iget-object v7, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
if-nez v7, :cond_2d
.line 745
new-instance v7, Landroid/graphics/Rect;
invoke-direct {v7}, Landroid/graphics/Rect;-><init>()V
iput-object v7, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
.line 747
:cond_2d
const/4 v7, 0x0
.line 748
.local v7, "scrollX":I
const/4 v8, 0x0
.line 749
.local v8, "scrollY":I
iget-object v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v9, v9, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
iget-object v10, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
invoke-virtual {v1, v9, v10}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->calculateItemDecorationsForChild(Landroid/view/View;Landroid/graphics/Rect;)V
.line 750
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v9
const/4 v10, 0x0
if-eqz v9, :cond_81
.line 751
iget v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartX:F
iget v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
add-float/2addr v9, v11
float-to-int v9, v9
.line 752
.local v9, "curX":I
iget-object v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
iget v11, v11, Landroid/graphics/Rect;->left:I
sub-int v11, v9, v11
iget-object v12, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v12}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingLeft()I
move-result v12
sub-int/2addr v11, v12
.line 753
.local v11, "leftDiff":I
iget v12, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
cmpg-float v12, v12, v10
if-gez v12, :cond_5c
if-gez v11, :cond_5c
.line 754
move v7, v11
goto :goto_81
.line 755
:cond_5c
iget v12, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
cmpl-float v12, v12, v10
if-lez v12, :cond_81
.line 756
iget-object v12, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v12, v12, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 757
invoke-virtual {v12}, Landroid/view/View;->getWidth()I
move-result v12
add-int/2addr v12, v9
iget-object v13, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
iget v13, v13, Landroid/graphics/Rect;->right:I
add-int/2addr v12, v13
iget-object v13, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 758
invoke-virtual {v13}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v13
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingRight()I
move-result v2
sub-int/2addr v13, v2
sub-int/2addr v12, v13
.line 759
.local v12, "rightDiff":I
if-lez v12, :cond_81
.line 760
move v7, v12
.line 764
.end local v9 # "curX":I
.end local v11 # "leftDiff":I
.end local v12 # "rightDiff":I
:cond_81
:goto_81
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v2
if-eqz v2, :cond_c9
.line 765
iget v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartY:F
iget v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
add-float/2addr v2, v9
float-to-int v2, v2
.line 766
.local v2, "curY":I
iget-object v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
iget v9, v9, Landroid/graphics/Rect;->top:I
sub-int v9, v2, v9
iget-object v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v11}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingTop()I
move-result v11
sub-int/2addr v9, v11
.line 767
.local v9, "topDiff":I
iget v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
cmpg-float v11, v11, v10
if-gez v11, :cond_a4
if-gez v9, :cond_a4
.line 768
move v8, v9
goto :goto_c9
.line 769
:cond_a4
iget v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
cmpl-float v10, v11, v10
if-lez v10, :cond_c9
.line 770
iget-object v10, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v10, v10, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v10}, Landroid/view/View;->getHeight()I
move-result v10
add-int/2addr v10, v2
iget-object v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpRect:Landroid/graphics/Rect;
iget v11, v11, Landroid/graphics/Rect;->bottom:I
add-int/2addr v10, v11
iget-object v11, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 771
invoke-virtual {v11}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v11
iget-object v12, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v12}, Landroidx/recyclerview/widget/RecyclerView;->getPaddingBottom()I
move-result v12
sub-int/2addr v11, v12
sub-int/2addr v10, v11
.line 772
.local v10, "bottomDiff":I
if-lez v10, :cond_c9
.line 773
move v8, v10
.line 777
.end local v2 # "curY":I
.end local v9 # "topDiff":I
.end local v10 # "bottomDiff":I
:cond_c9
:goto_c9
if-eqz v7, :cond_e2
.line 778
iget-object v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v10, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v2, v2, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 779
invoke-virtual {v2}, Landroid/view/View;->getWidth()I
move-result v11
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 780
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v13
.line 778
move v12, v7
invoke-virtual/range {v9 .. v15}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->interpolateOutOfBoundsScroll(Landroidx/recyclerview/widget/RecyclerView;IIIJ)I
move-result v7
.line 782
:cond_e2
if-eqz v8, :cond_102
.line 783
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
iget-object v10, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v10, v10, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
.line 784
invoke-virtual {v10}, Landroid/view/View;->getHeight()I
move-result v18
iget-object v10, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 785
invoke-virtual {v10}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v20
.line 783
move-object/from16 v16, v2
move-object/from16 v17, v9
move/from16 v19, v8
move-wide/from16 v21, v14
invoke-virtual/range {v16 .. v22}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->interpolateOutOfBoundsScroll(Landroidx/recyclerview/widget/RecyclerView;IIIJ)I
move-result v8
.line 787
:cond_102
if-nez v7, :cond_10b
if-eqz v8, :cond_107
goto :goto_10b
.line 794
:cond_107
iput-wide v3, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDragScrollStartTimeInMs:J
.line 795
const/4 v2, 0x0
return v2
.line 788
:cond_10b
:goto_10b
iget-wide v9, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDragScrollStartTimeInMs:J
cmp-long v2, v9, v3
if-nez v2, :cond_113
.line 789
iput-wide v5, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDragScrollStartTimeInMs:J
.line 791
:cond_113
iget-object v2, v0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2, v7, v8}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V
.line 792
const/4 v2, 0x1
return v2
.end method
.method select(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.registers 30
.param p1, "selected" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.param p2, "actionState" # I
.line 573
move-object/from16 v11, p0
move-object/from16 v12, p1
move/from16 v13, p2
iget-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-ne v12, v0, :cond_f
iget v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
if-ne v13, v0, :cond_f
.line 574
return-void
.line 576
:cond_f
const-wide/high16 v0, -0x8000000000000000L
iput-wide v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mDragScrollStartTimeInMs:J
.line 577
iget v14, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
.line 579
.local v14, "prevActionState":I
const/4 v15, 0x1
invoke-virtual {v11, v12, v15}, Landroidx/recyclerview/widget/ItemTouchHelper;->endRecoverAnimation(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;Z)V
.line 580
iput v13, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
.line 581
const/4 v10, 0x2
if-ne v13, v10, :cond_30
.line 582
if-eqz v12, :cond_28
.line 589
iget-object v0, v12, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
iput-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mOverdrawChild:Landroid/view/View;
.line 590
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->addChildDrawingOrderCallback()V
goto :goto_30
.line 583
:cond_28
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Must pass a ViewHolder when dragging"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 592
:cond_30
:goto_30
mul-int/lit8 v0, v13, 0x8
const/16 v9, 0x8
add-int/2addr v0, v9
shl-int v0, v15, v0
add-int/lit8 v16, v0, -0x1
.line 594
.local v16, "actionStateMask":I
const/16 v17, 0x0
.line 596
.local v17, "preventLayout":Z
iget-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
const/4 v8, 0x0
if-eqz v0, :cond_108
.line 597
iget-object v7, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 598
.local v7, "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v0, v7, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_ef
.line 599
if-ne v14, v10, :cond_4e
const/4 v0, 0x0
goto :goto_52
.line 600
:cond_4e
invoke-direct {v11, v7}, Landroidx/recyclerview/widget/ItemTouchHelper;->swipeIfNecessary(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v0
:goto_52
move v6, v0
.line 601
.local v6, "swipeDir":I
invoke-direct/range {p0 .. p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->releaseVelocityTracker()V
.line 605
if-eq v6, v15, :cond_83
if-eq v6, v10, :cond_83
const/4 v0, 0x4
if-eq v6, v0, :cond_6e
if-eq v6, v9, :cond_6e
const/16 v0, 0x10
if-eq v6, v0, :cond_6e
const/16 v0, 0x20
if-eq v6, v0, :cond_6e
.line 619
const/4 v0, 0x0
.line 620
.local v0, "targetTranslateX":F
const/4 v1, 0x0
move/from16 v18, v0
move/from16 v19, v1
.local v1, "targetTranslateY":F
goto :goto_97
.line 610
.end local v0 # "targetTranslateX":F
.end local v1 # "targetTranslateY":F
:cond_6e
const/4 v1, 0x0
.line 611
.restart local v1 # "targetTranslateY":F
iget v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
invoke-static {v0}, Ljava/lang/Math;->signum(F)F
move-result v0
iget-object v2, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I
move-result v2
int-to-float v2, v2
mul-float v0, v0, v2
.line 612
.restart local v0 # "targetTranslateX":F
move/from16 v18, v0
move/from16 v19, v1
goto :goto_97
.line 615
.end local v0 # "targetTranslateX":F
.end local v1 # "targetTranslateY":F
:cond_83
const/4 v0, 0x0
.line 616
.restart local v0 # "targetTranslateX":F
iget v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
invoke-static {v1}, Ljava/lang/Math;->signum(F)F
move-result v1
iget-object v2, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I
move-result v2
int-to-float v2, v2
mul-float v1, v1, v2
.line 617
.restart local v1 # "targetTranslateY":F
move/from16 v18, v0
move/from16 v19, v1
.line 622
.end local v0 # "targetTranslateX":F
.end local v1 # "targetTranslateY":F
.local v18, "targetTranslateX":F
.local v19, "targetTranslateY":F
:goto_97
if-ne v14, v10, :cond_9d
.line 623
const/16 v0, 0x8
move v5, v0
.local v0, "animationType":I
goto :goto_a4
.line 624
.end local v0 # "animationType":I
:cond_9d
if-lez v6, :cond_a2
.line 625
const/4 v0, 0x2
move v5, v0
.restart local v0 # "animationType":I
goto :goto_a4
.line 627
.end local v0 # "animationType":I
:cond_a2
const/4 v0, 0x4
move v5, v0
.line 629
.local v5, "animationType":I
:goto_a4
iget-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
invoke-direct {v11, v0}, Landroidx/recyclerview/widget/ItemTouchHelper;->getSelectedDxDy([F)V
.line 630
iget-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mTmpPosition:[F
aget v20, v0, v8
.line 631
.local v20, "currentTranslateX":F
aget v21, v0, v15
.line 632
.local v21, "currentTranslateY":F
new-instance v22, Landroidx/recyclerview/widget/ItemTouchHelper$3;
move-object/from16 v0, v22
move-object/from16 v1, p0
move-object v2, v7
move v3, v5
move v4, v14
move v15, v5
.end local v5 # "animationType":I
.local v15, "animationType":I
move/from16 v5, v20
move/from16 v23, v6
.end local v6 # "swipeDir":I
.local v23, "swipeDir":I
move/from16 v6, v21
move-object/from16 v24, v7
.end local v7 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.local v24, "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
move/from16 v7, v18
move/from16 v25, v14
const/4 v14, 0x0
.end local v14 # "prevActionState":I
.local v25, "prevActionState":I
move/from16 v8, v19
const/16 v26, 0x8
move/from16 v9, v23
const/4 v14, 0x2
move-object/from16 v10, v24
invoke-direct/range {v0 .. v10}, Landroidx/recyclerview/widget/ItemTouchHelper$3;-><init>(Landroidx/recyclerview/widget/ItemTouchHelper;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;IIFFFFILandroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 661
.local v0, "rv":Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;
iget-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
sub-float v3, v18, v20
sub-float v4, v19, v21
invoke-virtual {v1, v2, v15, v3, v4}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getAnimationDuration(Landroidx/recyclerview/widget/RecyclerView;IFF)J
move-result-wide v1
.line 663
.local v1, "duration":J
invoke-virtual {v0, v1, v2}, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->setDuration(J)V
.line 664
iget-object v3, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecoverAnimations:Ljava/util/List;
invoke-interface {v3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 665
invoke-virtual {v0}, Landroidx/recyclerview/widget/ItemTouchHelper$RecoverAnimation;->start()V
.line 666
const/4 v0, 0x1
.line 667
.end local v1 # "duration":J
.end local v15 # "animationType":I
.end local v17 # "preventLayout":Z
.end local v18 # "targetTranslateX":F
.end local v19 # "targetTranslateY":F
.end local v20 # "currentTranslateX":F
.end local v21 # "currentTranslateY":F
.end local v23 # "swipeDir":I
.local v0, "preventLayout":Z
move/from16 v17, v0
move-object/from16 v0, v24
goto :goto_104
.line 668
.end local v0 # "preventLayout":Z
.end local v24 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v25 # "prevActionState":I
.restart local v7 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.restart local v14 # "prevActionState":I
.restart local v17 # "preventLayout":Z
:cond_ef
move-object/from16 v24, v7
move/from16 v25, v14
const/4 v14, 0x2
const/16 v26, 0x8
.end local v7 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v14 # "prevActionState":I
.restart local v24 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.restart local v25 # "prevActionState":I
move-object/from16 v0, v24
.end local v24 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.local v0, "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget-object v1, v0, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v11, v1}, Landroidx/recyclerview/widget/ItemTouchHelper;->removeChildDrawingOrderCallbackIfNecessary(Landroid/view/View;)V
.line 669
iget-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1, v2, v0}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->clearView(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.line 671
:goto_104
const/4 v1, 0x0
iput-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
goto :goto_10d
.line 596
.end local v0 # "prevSelected":Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.end local v25 # "prevActionState":I
.restart local v14 # "prevActionState":I
:cond_108
move/from16 v25, v14
const/4 v14, 0x2
const/16 v26, 0x8
.line 673
.end local v14 # "prevActionState":I
.restart local v25 # "prevActionState":I
:goto_10d
if-eqz v12, :cond_13f
.line 674
iget-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
.line 675
invoke-virtual {v0, v1, v12}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->getAbsoluteMovementFlags(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)I
move-result v0
and-int v0, v0, v16
iget v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
mul-int/lit8 v1, v1, 0x8
shr-int/2addr v0, v1
iput v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedFlags:I
.line 677
iget-object v0, v12, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getLeft()I
move-result v0
int-to-float v0, v0
iput v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartX:F
.line 678
iget-object v0, v12, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getTop()I
move-result v0
int-to-float v0, v0
iput v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelectedStartY:F
.line 679
iput-object v12, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 681
if-ne v13, v14, :cond_13d
.line 682
iget-object v0, v12, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/view/View;->performHapticFeedback(I)Z
goto :goto_140
.line 681
:cond_13d
const/4 v1, 0x0
goto :goto_140
.line 673
:cond_13f
const/4 v1, 0x0
.line 685
:goto_140
iget-object v0, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->getParent()Landroid/view/ViewParent;
move-result-object v0
.line 686
.local v0, "rvParent":Landroid/view/ViewParent;
if-eqz v0, :cond_152
.line 687
iget-object v2, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
if-eqz v2, :cond_14e
const/4 v15, 0x1
goto :goto_14f
:cond_14e
const/4 v15, 0x0
:goto_14f
invoke-interface {v0, v15}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 689
:cond_152
if-nez v17, :cond_15d
.line 690
iget-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->getLayoutManager()Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
move-result-object v1
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->requestSimpleAnimationsInNextLayout()V
.line 692
:cond_15d
iget-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v2, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mSelected:Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
iget v3, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mActionState:I
invoke-virtual {v1, v2, v3}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->onSelectedChanged(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.line 693
iget-object v1, v11, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v1}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V
.line 694
return-void
.end method
.method public startDrag(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 5
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 1091
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->hasDragFlag(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v0
const-string v1, "ItemTouchHelper"
if-nez v0, :cond_12
.line 1092
const-string v0, "Start drag has been called but dragging is not enabled"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1093
return-void
.line 1095
:cond_12
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-eq v0, v2, :cond_22
.line 1096
const-string v0, "Start drag has been called with a view holder which is not a child of the RecyclerView which is controlled by this ItemTouchHelper."
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1098
return-void
.line 1100
:cond_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->obtainVelocityTracker()V
.line 1101
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
iput v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
.line 1102
const/4 v0, 0x2
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/ItemTouchHelper;->select(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.line 1103
return-void
.end method
.method public startSwipe(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)V
.registers 5
.param p1, "viewHolder" # Landroidx/recyclerview/widget/RecyclerView$ViewHolder;
.line 1138
iget-object v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mCallback:Landroidx/recyclerview/widget/ItemTouchHelper$Callback;
iget-object v1, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
invoke-virtual {v0, v1, p1}, Landroidx/recyclerview/widget/ItemTouchHelper$Callback;->hasSwipeFlag(Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$ViewHolder;)Z
move-result v0
const-string v1, "ItemTouchHelper"
if-nez v0, :cond_12
.line 1139
const-string v0, "Start swipe has been called but swiping is not enabled"
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1140
return-void
.line 1142
:cond_12
iget-object v0, p1, Landroidx/recyclerview/widget/RecyclerView$ViewHolder;->itemView:Landroid/view/View;
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
iget-object v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView;
if-eq v0, v2, :cond_22
.line 1143
const-string v0, "Start swipe has been called with a view holder which is not a child of the RecyclerView controlled by this ItemTouchHelper."
invoke-static {v1, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 1145
return-void
.line 1147
:cond_22
invoke-virtual {p0}, Landroidx/recyclerview/widget/ItemTouchHelper;->obtainVelocityTracker()V
.line 1148
const/4 v0, 0x0
iput v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
iput v0, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
.line 1149
const/4 v0, 0x1
invoke-virtual {p0, p1, v0}, Landroidx/recyclerview/widget/ItemTouchHelper;->select(Landroidx/recyclerview/widget/RecyclerView$ViewHolder;I)V
.line 1150
return-void
.end method
.method updateDxDy(Landroid/view/MotionEvent;II)V
.registers 9
.param p1, "ev" # Landroid/view/MotionEvent;
.param p2, "directionFlags" # I
.param p3, "pointerIndex" # I
.line 1169
invoke-virtual {p1, p3}, Landroid/view/MotionEvent;->getX(I)F
move-result v0
.line 1170
.local v0, "x":F
invoke-virtual {p1, p3}, Landroid/view/MotionEvent;->getY(I)F
move-result v1
.line 1173
.local v1, "y":F
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mInitialTouchX:F
sub-float v2, v0, v2
iput v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
.line 1174
iget v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mInitialTouchY:F
sub-float v3, v1, v3
iput v3, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
.line 1175
and-int/lit8 v3, p2, 0x4
const/4 v4, 0x0
if-nez v3, :cond_1f
.line 1176
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
.line 1178
:cond_1f
and-int/lit8 v2, p2, 0x8
if-nez v2, :cond_2b
.line 1179
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
invoke-static {v4, v2}, Ljava/lang/Math;->min(FF)F
move-result v2
iput v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDx:F
.line 1181
:cond_2b
and-int/lit8 v2, p2, 0x1
if-nez v2, :cond_37
.line 1182
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
.line 1184
:cond_37
and-int/lit8 v2, p2, 0x2
if-nez v2, :cond_43
.line 1185
iget v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
invoke-static {v4, v2}, Ljava/lang/Math;->min(FF)F
move-result v2
iput v2, p0, Landroidx/recyclerview/widget/ItemTouchHelper;->mDy:F
.line 1187
:cond_43
return-void
.end method