.class public Landroidx/recyclerview/widget/m; .super Landroidx/recyclerview/widget/RecyclerView$l; .source "FastScroller.java" # interfaces .implements Landroidx/recyclerview/widget/RecyclerView$p; # annotations .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/recyclerview/widget/m$d;, Landroidx/recyclerview/widget/m$c; } .end annotation # static fields .field public static final i1:I = 0x0 .field public static final j1:I = 0x1 .field public static final k1:I = 0x2 .field public static final l1:I = 0x0 .field public static final m1:I = 0x1 .field public static final n1:I = 0x2 .field public static final o1:I = 0x0 .field public static final p1:I = 0x1 .field public static final q1:I = 0x2 .field public static final r1:I = 0x3 .field public static final s1:I = 0x1f4 .field public static final t1:I = 0x5dc .field public static final u1:I = 0x4b0 .field public static final v1:I = 0x1f4 .field public static final w1:I = 0xff .field public static final x1:[I .field public static final y1:[I # instance fields .field public K0:F .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field public V0:I .field public W0:I .field public X0:Landroidx/recyclerview/widget/RecyclerView; .field public Y0:Z .field public Z0:Z .field public final a:I .field public a1:I .field public final b:I .field public b1:I .field public final c:Landroid/graphics/drawable/StateListDrawable; .field public final c1:[I .field public final d:Landroid/graphics/drawable/Drawable; .field public final d1:[I .field public final e:I .field public final e1:Landroid/animation/ValueAnimator; .field public final f:I .field public f1:I .field public final g:Landroid/graphics/drawable/StateListDrawable; .field public final g1:Ljava/lang/Runnable; .field public final h:Landroid/graphics/drawable/Drawable; .field public final h1:Landroidx/recyclerview/widget/RecyclerView$q; .field public final i:I .field public final j:I .field public k:I .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field public k0:I .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field public l:I .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field public p:F .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field .field public u:I .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .end field # direct methods .method public static constructor ()V .locals 3 const/4 v0, 0x1 new-array v0, v0, [I const v1, 0x10100a7 const/4 v2, 0x0 aput v1, v0, v2 .line 1 sput-object v0, Landroidx/recyclerview/widget/m;->x1:[I new-array v0, v2, [I .line 2 sput-object v0, Landroidx/recyclerview/widget/m;->y1:[I return-void .end method .method public constructor (Landroidx/recyclerview/widget/RecyclerView;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;III)V .locals 3 .line 1 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView$l;->()V const/4 v0, 0x0 .line 2 iput v0, p0, Landroidx/recyclerview/widget/m;->V0:I .line 3 iput v0, p0, Landroidx/recyclerview/widget/m;->W0:I .line 4 iput-boolean v0, p0, Landroidx/recyclerview/widget/m;->Y0:Z .line 5 iput-boolean v0, p0, Landroidx/recyclerview/widget/m;->Z0:Z .line 6 iput v0, p0, Landroidx/recyclerview/widget/m;->a1:I .line 7 iput v0, p0, Landroidx/recyclerview/widget/m;->b1:I const/4 v1, 0x2 new-array v2, v1, [I .line 8 iput-object v2, p0, Landroidx/recyclerview/widget/m;->c1:[I new-array v2, v1, [I .line 9 iput-object v2, p0, Landroidx/recyclerview/widget/m;->d1:[I new-array v1, v1, [F .line 10 fill-array-data v1, :array_0 .line 11 invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator; move-result-object v1 iput-object v1, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; .line 12 iput v0, p0, Landroidx/recyclerview/widget/m;->f1:I .line 13 new-instance v0, Landroidx/recyclerview/widget/m$a; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/m$a;->(Landroidx/recyclerview/widget/m;)V iput-object v0, p0, Landroidx/recyclerview/widget/m;->g1:Ljava/lang/Runnable; .line 14 new-instance v0, Landroidx/recyclerview/widget/m$b; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/m$b;->(Landroidx/recyclerview/widget/m;)V iput-object v0, p0, Landroidx/recyclerview/widget/m;->h1:Landroidx/recyclerview/widget/RecyclerView$q; .line 15 iput-object p2, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; .line 16 iput-object p3, p0, Landroidx/recyclerview/widget/m;->d:Landroid/graphics/drawable/Drawable; .line 17 iput-object p4, p0, Landroidx/recyclerview/widget/m;->g:Landroid/graphics/drawable/StateListDrawable; .line 18 iput-object p5, p0, Landroidx/recyclerview/widget/m;->h:Landroid/graphics/drawable/Drawable; .line 19 invoke-virtual {p2}, Landroid/graphics/drawable/StateListDrawable;->getIntrinsicWidth()I move-result v0 invoke-static {p6, v0}, Ljava/lang/Math;->max(II)I move-result v0 iput v0, p0, Landroidx/recyclerview/widget/m;->e:I .line 20 invoke-virtual {p3}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v0 invoke-static {p6, v0}, Ljava/lang/Math;->max(II)I move-result v0 iput v0, p0, Landroidx/recyclerview/widget/m;->f:I .line 21 invoke-virtual {p4}, Landroid/graphics/drawable/StateListDrawable;->getIntrinsicWidth()I move-result p4 invoke-static {p6, p4}, Ljava/lang/Math;->max(II)I move-result p4 iput p4, p0, Landroidx/recyclerview/widget/m;->i:I .line 22 invoke-virtual {p5}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result p4 invoke-static {p6, p4}, Ljava/lang/Math;->max(II)I move-result p4 iput p4, p0, Landroidx/recyclerview/widget/m;->j:I .line 23 iput p7, p0, Landroidx/recyclerview/widget/m;->a:I .line 24 iput p8, p0, Landroidx/recyclerview/widget/m;->b:I const/16 p4, 0xff .line 25 invoke-virtual {p2, p4}, Landroid/graphics/drawable/StateListDrawable;->setAlpha(I)V .line 26 invoke-virtual {p3, p4}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V .line 27 new-instance p2, Landroidx/recyclerview/widget/m$c; invoke-direct {p2, p0}, Landroidx/recyclerview/widget/m$c;->(Landroidx/recyclerview/widget/m;)V invoke-virtual {v1, p2}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 28 new-instance p2, Landroidx/recyclerview/widget/m$d; invoke-direct {p2, p0}, Landroidx/recyclerview/widget/m$d;->(Landroidx/recyclerview/widget/m;)V invoke-virtual {v1, p2}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V .line 29 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/m;->f(Landroidx/recyclerview/widget/RecyclerView;)V return-void :array_0 .array-data 4 0x0 0x3f800000 # 1.0f .end array-data .end method # virtual methods .method public A(I)V .locals 3 const/4 v0, 0x2 if-ne p1, v0, :cond_0 .line 1 iget v1, p0, Landroidx/recyclerview/widget/m;->a1:I if-eq v1, v0, :cond_0 .line 2 iget-object v1, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; sget-object v2, Landroidx/recyclerview/widget/m;->x1:[I invoke-virtual {v1, v2}, Landroid/graphics/drawable/StateListDrawable;->setState([I)Z .line 3 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->g()V :cond_0 if-nez p1, :cond_1 .line 4 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->x()V goto :goto_0 .line 5 :cond_1 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->C()V .line 6 :goto_0 iget v1, p0, Landroidx/recyclerview/widget/m;->a1:I if-ne v1, v0, :cond_2 if-eq p1, v0, :cond_2 .line 7 iget-object v0, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; sget-object v1, Landroidx/recyclerview/widget/m;->y1:[I invoke-virtual {v0, v1}, Landroid/graphics/drawable/StateListDrawable;->setState([I)Z const/16 v0, 0x4b0 .line 8 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/m;->y(I)V goto :goto_1 :cond_2 const/4 v0, 0x1 if-ne p1, v0, :cond_3 const/16 v0, 0x5dc .line 9 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/m;->y(I)V .line 10 :cond_3 :goto_1 iput p1, p0, Landroidx/recyclerview/widget/m;->a1:I return-void .end method .method public final B()V .locals 2 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V .line 2 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$p;)V .line 3 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/m;->h1:Landroidx/recyclerview/widget/RecyclerView$q; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V return-void .end method .method public C()V .locals 5 .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->f1:I if-eqz v0, :cond_1 const/4 v1, 0x3 if-eq v0, v1, :cond_0 goto :goto_0 .line 2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V :cond_1 const/4 v0, 0x1 .line 3 iput v0, p0, Landroidx/recyclerview/widget/m;->f1:I .line 4 iget-object v1, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; const/4 v2, 0x2 new-array v2, v2, [F const/4 v3, 0x0 invoke-virtual {v1}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/Float; invoke-virtual {v4}, Ljava/lang/Float;->floatValue()F move-result v4 aput v4, v2, v3 const/high16 v3, 0x3f800000 # 1.0f aput v3, v2, v0 invoke-virtual {v1, v2}, Landroid/animation/ValueAnimator;->setFloatValues([F)V .line 5 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; const-wide/16 v1, 0x1f4 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; .line 6 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; const-wide/16 v1, 0x0 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setStartDelay(J)V .line 7 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V :goto_0 return-void .end method .method public D(II)V .locals 8 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollRange()I move-result v0 .line 2 iget v1, p0, Landroidx/recyclerview/widget/m;->W0:I sub-int v2, v0, v1 const/4 v3, 0x0 const/4 v4, 0x1 if-lez v2, :cond_0 .line 3 iget v2, p0, Landroidx/recyclerview/widget/m;->a:I if-lt v1, v2, :cond_0 move v2, v4 goto :goto_0 :cond_0 move v2, v3 :goto_0 iput-boolean v2, p0, Landroidx/recyclerview/widget/m;->Y0:Z .line 4 iget-object v2, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollRange()I move-result v2 .line 5 iget v5, p0, Landroidx/recyclerview/widget/m;->V0:I sub-int v6, v2, v5 if-lez v6, :cond_1 .line 6 iget v6, p0, Landroidx/recyclerview/widget/m;->a:I if-lt v5, v6, :cond_1 move v6, v4 goto :goto_1 :cond_1 move v6, v3 :goto_1 iput-boolean v6, p0, Landroidx/recyclerview/widget/m;->Z0:Z .line 7 iget-boolean v7, p0, Landroidx/recyclerview/widget/m;->Y0:Z if-nez v7, :cond_3 if-nez v6, :cond_3 .line 8 iget p1, p0, Landroidx/recyclerview/widget/m;->a1:I if-eqz p1, :cond_2 .line 9 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/m;->A(I)V :cond_2 return-void :cond_3 const/high16 v3, 0x40000000 # 2.0f if-eqz v7, :cond_4 int-to-float p2, p2 int-to-float v6, v1 div-float v7, v6, v3 add-float/2addr v7, p2 mul-float/2addr v7, v6 int-to-float p2, v0 div-float/2addr v7, p2 float-to-int p2, v7 .line 10 iput p2, p0, Landroidx/recyclerview/widget/m;->l:I mul-int p2, v1, v1 .line 11 div-int/2addr p2, v0 invoke-static {v1, p2}, Ljava/lang/Math;->min(II)I move-result p2 iput p2, p0, Landroidx/recyclerview/widget/m;->k:I .line 12 :cond_4 iget-boolean p2, p0, Landroidx/recyclerview/widget/m;->Z0:Z if-eqz p2, :cond_5 int-to-float p1, p1 int-to-float p2, v5 div-float v0, p2, v3 add-float/2addr v0, p1 mul-float/2addr v0, p2 int-to-float p1, v2 div-float/2addr v0, p1 float-to-int p1, v0 .line 13 iput p1, p0, Landroidx/recyclerview/widget/m;->k0:I mul-int p1, v5, v5 .line 14 div-int/2addr p1, v2 invoke-static {v5, p1}, Ljava/lang/Math;->min(II)I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/m;->u:I .line 15 :cond_5 iget p1, p0, Landroidx/recyclerview/widget/m;->a1:I if-eqz p1, :cond_6 if-ne p1, v4, :cond_7 .line 16 :cond_6 invoke-virtual {p0, v4}, Landroidx/recyclerview/widget/m;->A(I)V :cond_7 return-void .end method .method public final E(F)V .locals 8 .line 1 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->n()[I move-result-object v3 const/4 v7, 0x0 .line 2 aget v0, v3, v7 int-to-float v0, v0 const/4 v1, 0x1 aget v1, v3, v1 int-to-float v1, v1 invoke-static {v1, p1}, Ljava/lang/Math;->min(FF)F move-result p1 invoke-static {v0, p1}, Ljava/lang/Math;->max(FF)F move-result p1 .line 3 iget v0, p0, Landroidx/recyclerview/widget/m;->l:I int-to-float v0, v0 sub-float/2addr v0, p1 invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 const/high16 v1, 0x40000000 # 2.0f cmpg-float v0, v0, v1 if-gez v0, :cond_0 return-void .line 4 :cond_0 iget v1, p0, Landroidx/recyclerview/widget/m;->p:F iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; .line 5 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollRange()I move-result v4 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; .line 6 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollOffset()I move-result v5 iget v6, p0, Landroidx/recyclerview/widget/m;->W0:I move-object v0, p0 move v2, p1 .line 7 invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/m;->z(FF[IIII)I move-result v0 if-eqz v0, :cond_1 .line 8 iget-object v1, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v1, v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V .line 9 :cond_1 iput p1, p0, Landroidx/recyclerview/widget/m;->p:F return-void .end method .method public a(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V .locals 4 .param p1 # Landroidx/recyclerview/widget/RecyclerView; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/view/MotionEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget p1, p0, Landroidx/recyclerview/widget/m;->a1:I if-nez p1, :cond_0 return-void .line 2 :cond_0 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result p1 const/4 v0, 0x1 const/4 v1, 0x2 if-nez p1, :cond_4 .line 3 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result p1 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result v2 invoke-virtual {p0, p1, v2}, Landroidx/recyclerview/widget/m;->v(FF)Z move-result p1 .line 4 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result v2 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result v3 invoke-virtual {p0, v2, v3}, Landroidx/recyclerview/widget/m;->u(FF)Z move-result v2 if-nez p1, :cond_1 if-eqz v2, :cond_7 :cond_1 if-eqz v2, :cond_2 .line 5 iput v0, p0, Landroidx/recyclerview/widget/m;->b1:I .line 6 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result p1 float-to-int p1, p1 int-to-float p1, p1 iput p1, p0, Landroidx/recyclerview/widget/m;->K0:F goto :goto_0 :cond_2 if-eqz p1, :cond_3 .line 7 iput v1, p0, Landroidx/recyclerview/widget/m;->b1:I .line 8 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result p1 float-to-int p1, p1 int-to-float p1, p1 iput p1, p0, Landroidx/recyclerview/widget/m;->p:F .line 9 :cond_3 :goto_0 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/m;->A(I)V goto :goto_1 .line 10 :cond_4 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result p1 if-ne p1, v0, :cond_5 iget p1, p0, Landroidx/recyclerview/widget/m;->a1:I if-ne p1, v1, :cond_5 const/4 p1, 0x0 .line 11 iput p1, p0, Landroidx/recyclerview/widget/m;->p:F .line 12 iput p1, p0, Landroidx/recyclerview/widget/m;->K0:F .line 13 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/m;->A(I)V const/4 p1, 0x0 .line 14 iput p1, p0, Landroidx/recyclerview/widget/m;->b1:I goto :goto_1 .line 15 :cond_5 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result p1 if-ne p1, v1, :cond_7 iget p1, p0, Landroidx/recyclerview/widget/m;->a1:I if-ne p1, v1, :cond_7 .line 16 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->C()V .line 17 iget p1, p0, Landroidx/recyclerview/widget/m;->b1:I if-ne p1, v0, :cond_6 .line 18 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result p1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/m;->r(F)V .line 19 :cond_6 iget p1, p0, Landroidx/recyclerview/widget/m;->b1:I if-ne p1, v1, :cond_7 .line 20 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result p1 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/m;->E(F)V :cond_7 :goto_1 return-void .end method .method public c(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z .locals 5 .param p1 # Landroidx/recyclerview/widget/RecyclerView; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/view/MotionEvent; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget p1, p0, Landroidx/recyclerview/widget/m;->a1:I const/4 v0, 0x0 const/4 v1, 0x2 const/4 v2, 0x1 if-ne p1, v2, :cond_3 .line 2 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result p1 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result v3 invoke-virtual {p0, p1, v3}, Landroidx/recyclerview/widget/m;->v(FF)Z move-result p1 .line 3 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result v3 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result v4 invoke-virtual {p0, v3, v4}, Landroidx/recyclerview/widget/m;->u(FF)Z move-result v3 .line 4 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result v4 if-nez v4, :cond_4 if-nez p1, :cond_0 if-eqz v3, :cond_4 :cond_0 if-eqz v3, :cond_1 .line 5 iput v2, p0, Landroidx/recyclerview/widget/m;->b1:I .line 6 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result p1 float-to-int p1, p1 int-to-float p1, p1 iput p1, p0, Landroidx/recyclerview/widget/m;->K0:F goto :goto_0 :cond_1 if-eqz p1, :cond_2 .line 7 iput v1, p0, Landroidx/recyclerview/widget/m;->b1:I .line 8 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result p1 float-to-int p1, p1 int-to-float p1, p1 iput p1, p0, Landroidx/recyclerview/widget/m;->p:F .line 9 :cond_2 :goto_0 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/m;->A(I)V goto :goto_1 :cond_3 if-ne p1, v1, :cond_4 :goto_1 move v0, v2 :cond_4 return v0 .end method .method public e(Z)V .locals 0 return-void .end method .method public f(Landroidx/recyclerview/widget/RecyclerView;)V .locals 1 .param p1 # Landroidx/recyclerview/widget/RecyclerView; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; if-ne v0, p1, :cond_0 return-void :cond_0 if-eqz v0, :cond_1 .line 2 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->h()V .line 3 :cond_1 iput-object p1, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; if-eqz p1, :cond_2 .line 4 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->B()V :cond_2 return-void .end method .method public final g()V .locals 2 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/m;->g1:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->removeCallbacks(Ljava/lang/Runnable;)Z return-void .end method .method public final h()V .locals 2 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$l;)V .line 2 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$p;)V .line 3 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/m;->h1:Landroidx/recyclerview/widget/RecyclerView$q; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$q;)V .line 4 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->g()V return-void .end method .method public final i(Landroid/graphics/Canvas;)V .locals 6 .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->W0:I .line 2 iget v1, p0, Landroidx/recyclerview/widget/m;->i:I sub-int/2addr v0, v1 .line 3 iget v2, p0, Landroidx/recyclerview/widget/m;->k0:I iget v3, p0, Landroidx/recyclerview/widget/m;->u:I div-int/lit8 v4, v3, 0x2 sub-int/2addr v2, v4 .line 4 iget-object v4, p0, Landroidx/recyclerview/widget/m;->g:Landroid/graphics/drawable/StateListDrawable; const/4 v5, 0x0 invoke-virtual {v4, v5, v5, v3, v1}, Landroid/graphics/drawable/StateListDrawable;->setBounds(IIII)V .line 5 iget-object v1, p0, Landroidx/recyclerview/widget/m;->h:Landroid/graphics/drawable/Drawable; iget v3, p0, Landroidx/recyclerview/widget/m;->V0:I iget v4, p0, Landroidx/recyclerview/widget/m;->j:I .line 6 invoke-virtual {v1, v5, v5, v3, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V int-to-float v1, v0 const/4 v3, 0x0 .line 7 invoke-virtual {p1, v3, v1}, Landroid/graphics/Canvas;->translate(FF)V .line 8 iget-object v1, p0, Landroidx/recyclerview/widget/m;->h:Landroid/graphics/drawable/Drawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V int-to-float v1, v2 .line 9 invoke-virtual {p1, v1, v3}, Landroid/graphics/Canvas;->translate(FF)V .line 10 iget-object v1, p0, Landroidx/recyclerview/widget/m;->g:Landroid/graphics/drawable/StateListDrawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/StateListDrawable;->draw(Landroid/graphics/Canvas;)V neg-int v1, v2 int-to-float v1, v1 neg-int v0, v0 int-to-float v0, v0 .line 11 invoke-virtual {p1, v1, v0}, Landroid/graphics/Canvas;->translate(FF)V return-void .end method .method public final j(Landroid/graphics/Canvas;)V .locals 6 .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->V0:I .line 2 iget v1, p0, Landroidx/recyclerview/widget/m;->e:I sub-int/2addr v0, v1 .line 3 iget v2, p0, Landroidx/recyclerview/widget/m;->l:I iget v3, p0, Landroidx/recyclerview/widget/m;->k:I div-int/lit8 v4, v3, 0x2 sub-int/2addr v2, v4 .line 4 iget-object v4, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; const/4 v5, 0x0 invoke-virtual {v4, v5, v5, v1, v3}, Landroid/graphics/drawable/StateListDrawable;->setBounds(IIII)V .line 5 iget-object v1, p0, Landroidx/recyclerview/widget/m;->d:Landroid/graphics/drawable/Drawable; iget v3, p0, Landroidx/recyclerview/widget/m;->f:I iget v4, p0, Landroidx/recyclerview/widget/m;->W0:I .line 6 invoke-virtual {v1, v5, v5, v3, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 7 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->t()Z move-result v1 if-eqz v1, :cond_0 .line 8 iget-object v0, p0, Landroidx/recyclerview/widget/m;->d:Landroid/graphics/drawable/Drawable; invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 9 iget v0, p0, Landroidx/recyclerview/widget/m;->e:I int-to-float v0, v0 int-to-float v1, v2 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V const/high16 v0, -0x40800000 # -1.0f const/high16 v1, 0x3f800000 # 1.0f .line 10 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->scale(FF)V .line 11 iget-object v3, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; invoke-virtual {v3, p1}, Landroid/graphics/drawable/StateListDrawable;->draw(Landroid/graphics/Canvas;)V .line 12 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->scale(FF)V .line 13 iget v0, p0, Landroidx/recyclerview/widget/m;->e:I neg-int v0, v0 int-to-float v0, v0 neg-int v1, v2 int-to-float v1, v1 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V goto :goto_0 :cond_0 int-to-float v1, v0 const/4 v3, 0x0 .line 14 invoke-virtual {p1, v1, v3}, Landroid/graphics/Canvas;->translate(FF)V .line 15 iget-object v1, p0, Landroidx/recyclerview/widget/m;->d:Landroid/graphics/drawable/Drawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V int-to-float v1, v2 .line 16 invoke-virtual {p1, v3, v1}, Landroid/graphics/Canvas;->translate(FF)V .line 17 iget-object v1, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/StateListDrawable;->draw(Landroid/graphics/Canvas;)V neg-int v0, v0 int-to-float v0, v0 neg-int v1, v2 int-to-float v1, v1 .line 18 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V :goto_0 return-void .end method .method public final k()[I .locals 3 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->d1:[I iget v1, p0, Landroidx/recyclerview/widget/m;->b:I const/4 v2, 0x0 aput v1, v0, v2 .line 2 iget v2, p0, Landroidx/recyclerview/widget/m;->V0:I sub-int/2addr v2, v1 const/4 v1, 0x1 aput v2, v0, v1 return-object v0 .end method .method public l()Landroid/graphics/drawable/Drawable; .locals 1 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->g:Landroid/graphics/drawable/StateListDrawable; return-object v0 .end method .method public m()Landroid/graphics/drawable/Drawable; .locals 1 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->h:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public final n()[I .locals 3 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->c1:[I iget v1, p0, Landroidx/recyclerview/widget/m;->b:I const/4 v2, 0x0 aput v1, v0, v2 .line 2 iget v2, p0, Landroidx/recyclerview/widget/m;->W0:I sub-int/2addr v2, v1 const/4 v1, 0x1 aput v2, v0, v1 return-object v0 .end method .method public o()Landroid/graphics/drawable/Drawable; .locals 1 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->c:Landroid/graphics/drawable/StateListDrawable; return-object v0 .end method .method public onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$x;)V .locals 0 .line 1 iget p2, p0, Landroidx/recyclerview/widget/m;->V0:I iget-object p3, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p3}, Landroid/view/ViewGroup;->getWidth()I move-result p3 if-ne p2, p3, :cond_3 iget p2, p0, Landroidx/recyclerview/widget/m;->W0:I iget-object p3, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; .line 2 invoke-virtual {p3}, Landroid/view/ViewGroup;->getHeight()I move-result p3 if-eq p2, p3, :cond_0 goto :goto_0 .line 3 :cond_0 iget p2, p0, Landroidx/recyclerview/widget/m;->f1:I if-eqz p2, :cond_2 .line 4 iget-boolean p2, p0, Landroidx/recyclerview/widget/m;->Y0:Z if-eqz p2, :cond_1 .line 5 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/m;->j(Landroid/graphics/Canvas;)V .line 6 :cond_1 iget-boolean p2, p0, Landroidx/recyclerview/widget/m;->Z0:Z if-eqz p2, :cond_2 .line 7 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/m;->i(Landroid/graphics/Canvas;)V :cond_2 return-void .line 8 :cond_3 :goto_0 iget-object p1, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p1}, Landroid/view/ViewGroup;->getWidth()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/m;->V0:I .line 9 iget-object p1, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p1}, Landroid/view/ViewGroup;->getHeight()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/m;->W0:I const/4 p1, 0x0 .line 10 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/m;->A(I)V return-void .end method .method public p()Landroid/graphics/drawable/Drawable; .locals 1 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->d:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public q(I)V .locals 5 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->f1:I const/4 v1, 0x2 const/4 v2, 0x1 if-eq v0, v2, :cond_0 if-eq v0, v1, :cond_1 goto :goto_0 .line 2 :cond_0 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V :cond_1 const/4 v0, 0x3 .line 3 iput v0, p0, Landroidx/recyclerview/widget/m;->f1:I .line 4 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; new-array v1, v1, [F const/4 v3, 0x0 invoke-virtual {v0}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/Float; invoke-virtual {v4}, Ljava/lang/Float;->floatValue()F move-result v4 aput v4, v1, v3 const/4 v3, 0x0 aput v3, v1, v2 invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setFloatValues([F)V .line 5 iget-object v0, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; int-to-long v1, p1 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; .line 6 iget-object p1, p0, Landroidx/recyclerview/widget/m;->e1:Landroid/animation/ValueAnimator; invoke-virtual {p1}, Landroid/animation/ValueAnimator;->start()V :goto_0 return-void .end method .method public final r(F)V .locals 8 .line 1 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->k()[I move-result-object v3 const/4 v7, 0x0 .line 2 aget v0, v3, v7 int-to-float v0, v0 const/4 v1, 0x1 aget v1, v3, v1 int-to-float v1, v1 invoke-static {v1, p1}, Ljava/lang/Math;->min(FF)F move-result p1 invoke-static {v0, p1}, Ljava/lang/Math;->max(FF)F move-result p1 .line 3 iget v0, p0, Landroidx/recyclerview/widget/m;->k0:I int-to-float v0, v0 sub-float/2addr v0, p1 invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 const/high16 v1, 0x40000000 # 2.0f cmpg-float v0, v0, v1 if-gez v0, :cond_0 return-void .line 4 :cond_0 iget v1, p0, Landroidx/recyclerview/widget/m;->K0:F iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; .line 5 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollRange()I move-result v4 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; .line 6 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollOffset()I move-result v5 iget v6, p0, Landroidx/recyclerview/widget/m;->V0:I move-object v0, p0 move v2, p1 .line 7 invoke-virtual/range {v0 .. v6}, Landroidx/recyclerview/widget/m;->z(FF[IIII)I move-result v0 if-eqz v0, :cond_1 .line 8 iget-object v1, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v1, v0, v7}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V .line 9 :cond_1 iput p1, p0, Landroidx/recyclerview/widget/m;->K0:F return-void .end method .method public s()Z .locals 2 .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->a1:I const/4 v1, 0x2 if-ne v0, v1, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public final t()Z .locals 2 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-static {v0}, Landroidx/core/view/ViewCompat;->Z(Landroid/view/View;)I move-result v0 const/4 v1, 0x1 if-ne v0, v1, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 return v1 .end method .method public u(FF)Z .locals 2 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->W0:I iget v1, p0, Landroidx/recyclerview/widget/m;->i:I sub-int/2addr v0, v1 int-to-float v0, v0 cmpl-float p2, p2, v0 if-ltz p2, :cond_0 iget p2, p0, Landroidx/recyclerview/widget/m;->k0:I iget v0, p0, Landroidx/recyclerview/widget/m;->u:I div-int/lit8 v1, v0, 0x2 sub-int v1, p2, v1 int-to-float v1, v1 cmpl-float v1, p1, v1 if-ltz v1, :cond_0 div-int/lit8 v0, v0, 0x2 add-int/2addr v0, p2 int-to-float p2, v0 cmpg-float p1, p1, p2 if-gtz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public v(FF)Z .locals 2 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->t()Z move-result v0 if-eqz v0, :cond_0 iget v0, p0, Landroidx/recyclerview/widget/m;->e:I int-to-float v0, v0 cmpg-float p1, p1, v0 if-gtz p1, :cond_1 goto :goto_0 :cond_0 iget v0, p0, Landroidx/recyclerview/widget/m;->V0:I iget v1, p0, Landroidx/recyclerview/widget/m;->e:I sub-int/2addr v0, v1 int-to-float v0, v0 cmpl-float p1, p1, v0 if-ltz p1, :cond_1 :goto_0 iget p1, p0, Landroidx/recyclerview/widget/m;->l:I iget v0, p0, Landroidx/recyclerview/widget/m;->k:I div-int/lit8 v1, v0, 0x2 sub-int v1, p1, v1 int-to-float v1, v1 cmpl-float v1, p2, v1 if-ltz v1, :cond_1 div-int/lit8 v0, v0, 0x2 add-int/2addr v0, p1 int-to-float p1, v0 cmpg-float p1, p2, p1 if-gtz p1, :cond_1 const/4 p1, 0x1 goto :goto_1 :cond_1 const/4 p1, 0x0 :goto_1 return p1 .end method .method public w()Z .locals 2 .annotation build Landroidx/annotation/VisibleForTesting; .end annotation .line 1 iget v0, p0, Landroidx/recyclerview/widget/m;->a1:I const/4 v1, 0x1 if-ne v0, v1, :cond_0 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 return v1 .end method .method public x()V .locals 1 .line 1 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0}, Landroid/view/ViewGroup;->invalidate()V return-void .end method .method public final y(I)V .locals 4 .line 1 invoke-virtual {p0}, Landroidx/recyclerview/widget/m;->g()V .line 2 iget-object v0, p0, Landroidx/recyclerview/widget/m;->X0:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/m;->g1:Ljava/lang/Runnable; int-to-long v2, p1 invoke-virtual {v0, v1, v2, v3}, Landroid/view/ViewGroup;->postDelayed(Ljava/lang/Runnable;J)Z return-void .end method .method public final z(FF[IIII)I .locals 2 const/4 v0, 0x1 .line 1 aget v0, p3, v0 const/4 v1, 0x0 aget p3, p3, v1 sub-int/2addr v0, p3 if-nez v0, :cond_0 return v1 :cond_0 sub-float/2addr p2, p1 int-to-float p1, v0 div-float/2addr p2, p1 sub-int/2addr p4, p6 int-to-float p1, p4 mul-float/2addr p2, p1 float-to-int p1, p2 add-int/2addr p5, p1 if-ge p5, p4, :cond_1 if-ltz p5, :cond_1 return p1 :cond_1 return v1 .end method