.class public Landroidx/core/view/DragStartHelper; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/core/view/DragStartHelper$OnDragStartListener; } .end annotation # instance fields .field private mDragging:Z .field private mLastTouchX:I .field private mLastTouchY:I .field private final mListener:Landroidx/core/view/DragStartHelper$OnDragStartListener; .field private final mLongClickListener:Landroid/view/View$OnLongClickListener; .field private final mTouchListener:Landroid/view/View$OnTouchListener; .field private final mView:Landroid/view/View; # direct methods .method public constructor (Landroid/view/View;Landroidx/core/view/DragStartHelper$OnDragStartListener;)V .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroidx/core/view/DragStartHelper$OnDragStartListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 99 invoke-direct {p0}, Ljava/lang/Object;->()V .line 189 new-instance v0, Landroidx/core/view/DragStartHelper$$ExternalSyntheticLambda0; invoke-direct {v0, p0}, Landroidx/core/view/DragStartHelper$$ExternalSyntheticLambda0;->(Landroidx/core/view/DragStartHelper;)V iput-object v0, p0, Landroidx/core/view/DragStartHelper;->mLongClickListener:Landroid/view/View$OnLongClickListener; .line 192 new-instance v0, Landroidx/core/view/DragStartHelper$$ExternalSyntheticLambda1; invoke-direct {v0, p0}, Landroidx/core/view/DragStartHelper$$ExternalSyntheticLambda1;->(Landroidx/core/view/DragStartHelper;)V iput-object v0, p0, Landroidx/core/view/DragStartHelper;->mTouchListener:Landroid/view/View$OnTouchListener; iput-object p1, p0, Landroidx/core/view/DragStartHelper;->mView:Landroid/view/View; iput-object p2, p0, Landroidx/core/view/DragStartHelper;->mListener:Landroidx/core/view/DragStartHelper$OnDragStartListener; return-void .end method # virtual methods .method public attach()V .locals 2 iget-object v0, p0, Landroidx/core/view/DragStartHelper;->mView:Landroid/view/View; iget-object v1, p0, Landroidx/core/view/DragStartHelper;->mLongClickListener:Landroid/view/View$OnLongClickListener; .line 110 invoke-virtual {v0, v1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V iget-object v0, p0, Landroidx/core/view/DragStartHelper;->mView:Landroid/view/View; iget-object v1, p0, Landroidx/core/view/DragStartHelper;->mTouchListener:Landroid/view/View$OnTouchListener; .line 111 invoke-virtual {v0, v1}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V return-void .end method .method public detach()V .locals 2 iget-object v0, p0, Landroidx/core/view/DragStartHelper;->mView:Landroid/view/View; const/4 v1, 0x0 .line 120 invoke-virtual {v0, v1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V iget-object v0, p0, Landroidx/core/view/DragStartHelper;->mView:Landroid/view/View; .line 121 invoke-virtual {v0, v1}, Landroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V return-void .end method .method public getTouchPosition(Landroid/graphics/Point;)V .locals 2 .param p1 # Landroid/graphics/Point; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget v0, p0, Landroidx/core/view/DragStartHelper;->mLastTouchX:I iget v1, p0, Landroidx/core/view/DragStartHelper;->mLastTouchY:I .line 186 invoke-virtual {p1, v0, v1}, Landroid/graphics/Point;->set(II)V return-void .end method .method public onLongClick(Landroid/view/View;)Z .locals 1 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param iget-boolean v0, p0, Landroidx/core/view/DragStartHelper;->mDragging:Z if-eqz v0, :cond_0 const/4 p1, 0x1 return p1 :cond_0 iget-object v0, p0, Landroidx/core/view/DragStartHelper;->mListener:Landroidx/core/view/DragStartHelper$OnDragStartListener; .line 177 invoke-interface {v0, p1, p0}, Landroidx/core/view/DragStartHelper$OnDragStartListener;->onDragStart(Landroid/view/View;Landroidx/core/view/DragStartHelper;)Z move-result p1 iput-boolean p1, p0, Landroidx/core/view/DragStartHelper;->mDragging:Z return p1 .end method .method public onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z .locals 6 .param p1 # Landroid/view/View; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/view/MotionEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 132 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result v0 float-to-int v0, v0 .line 133 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result v1 float-to-int v1, v1 .line 134 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result v2 const/4 v3, 0x0 if-eqz v2, :cond_5 const/4 v4, 0x1 if-eq v2, v4, :cond_4 const/4 v5, 0x2 if-eq v2, v5, :cond_0 const/4 p1, 0x3 if-eq v2, p1, :cond_4 goto :goto_0 :cond_0 const/16 v2, 0x2002 .line 141 invoke-static {p2, v2}, Landroidx/core/view/MotionEventCompat;->isFromSource(Landroid/view/MotionEvent;I)Z move-result v2 if-eqz v2, :cond_6 .line 142 invoke-virtual {p2}, Landroid/view/MotionEvent;->getButtonState()I move-result p2 and-int/2addr p2, v4 if-nez p2, :cond_1 goto :goto_0 :cond_1 iget-boolean p2, p0, Landroidx/core/view/DragStartHelper;->mDragging:Z if-eqz p2, :cond_2 goto :goto_0 :cond_2 iget p2, p0, Landroidx/core/view/DragStartHelper;->mLastTouchX:I if-ne p2, v0, :cond_3 iget p2, p0, Landroidx/core/view/DragStartHelper;->mLastTouchY:I if-ne p2, v1, :cond_3 goto :goto_0 :cond_3 iput v0, p0, Landroidx/core/view/DragStartHelper;->mLastTouchX:I iput v1, p0, Landroidx/core/view/DragStartHelper;->mLastTouchY:I iget-object p2, p0, Landroidx/core/view/DragStartHelper;->mListener:Landroidx/core/view/DragStartHelper$OnDragStartListener; .line 156 invoke-interface {p2, p1, p0}, Landroidx/core/view/DragStartHelper$OnDragStartListener;->onDragStart(Landroid/view/View;Landroidx/core/view/DragStartHelper;)Z move-result p1 iput-boolean p1, p0, Landroidx/core/view/DragStartHelper;->mDragging:Z return p1 :cond_4 iput-boolean v3, p0, Landroidx/core/view/DragStartHelper;->mDragging:Z goto :goto_0 :cond_5 iput v0, p0, Landroidx/core/view/DragStartHelper;->mLastTouchX:I iput v1, p0, Landroidx/core/view/DragStartHelper;->mLastTouchY:I :cond_6 :goto_0 return v3 .end method