.class Landroidx/recyclerview/widget/FastScroller; .super Landroidx/recyclerview/widget/RecyclerView$ItemDecoration; .source "FastScroller.java" # interfaces .implements Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/recyclerview/widget/FastScroller$AnimatorUpdater;, Landroidx/recyclerview/widget/FastScroller$AnimatorListener; } .end annotation # static fields .field private static final ANIMATION_STATE_FADING_IN:I = 0x1 .field private static final ANIMATION_STATE_FADING_OUT:I = 0x3 .field private static final ANIMATION_STATE_IN:I = 0x2 .field private static final ANIMATION_STATE_OUT:I = 0x0 .field private static final DRAG_NONE:I = 0x0 .field private static final DRAG_X:I = 0x1 .field private static final DRAG_Y:I = 0x2 .field private static final EMPTY_STATE_SET:[I .field private static final HIDE_DELAY_AFTER_DRAGGING_MS:I = 0x4b0 .field private static final HIDE_DELAY_AFTER_VISIBLE_MS:I = 0x5dc .field private static final HIDE_DURATION_MS:I = 0x1f4 .field private static final PRESSED_STATE_SET:[I .field private static final SCROLLBAR_FULL_OPAQUE:I = 0xff .field private static final SHOW_DURATION_MS:I = 0x1f4 .field private static final STATE_DRAGGING:I = 0x2 .field private static final STATE_HIDDEN:I = 0x0 .field private static final STATE_VISIBLE:I = 0x1 # instance fields .field mAnimationState:I .field private mDragState:I .field private final mHideRunnable:Ljava/lang/Runnable; .field mHorizontalDragX:F .field private final mHorizontalRange:[I .field mHorizontalThumbCenterX:I .field private final mHorizontalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; .field private final mHorizontalThumbHeight:I .field mHorizontalThumbWidth:I .field private final mHorizontalTrackDrawable:Landroid/graphics/drawable/Drawable; .field private final mHorizontalTrackHeight:I .field private final mMargin:I .field private mNeedHorizontalScrollbar:Z .field private mNeedVerticalScrollbar:Z .field private final mOnScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .field private mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .field private mRecyclerViewHeight:I .field private mRecyclerViewWidth:I .field private final mScrollbarMinimumRange:I .field final mShowHideAnimator:Landroid/animation/ValueAnimator; .field private mState:I .field mVerticalDragY:F .field private final mVerticalRange:[I .field mVerticalThumbCenterY:I .field final mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; .field mVerticalThumbHeight:I .field private final mVerticalThumbWidth:I .field final mVerticalTrackDrawable:Landroid/graphics/drawable/Drawable; .field private final mVerticalTrackWidth:I # direct methods .method static constructor ()V .registers 1 const v0, 0x10100a7 .line 74 filled-new-array {v0}, [I move-result-object v0 sput-object v0, Landroidx/recyclerview/widget/FastScroller;->PRESSED_STATE_SET:[I const/4 v0, 0x0 .line 75 new-array v0, v0, [I sput-object v0, Landroidx/recyclerview/widget/FastScroller;->EMPTY_STATE_SET:[I return-void .end method .method constructor (Landroidx/recyclerview/widget/RecyclerView;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/StateListDrawable;Landroid/graphics/drawable/Drawable;III)V .registers 12 .line 141 invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;->()V const/4 v0, 0x0 .line 104 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I .line 105 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I .line 112 iput-boolean v0, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedVerticalScrollbar:Z .line 113 iput-boolean v0, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedHorizontalScrollbar:Z .line 114 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I .line 115 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I const/4 v1, 0x2 .line 117 new-array v2, v1, [I iput-object v2, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalRange:[I .line 118 new-array v2, v1, [I iput-object v2, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalRange:[I .line 119 new-array v1, v1, [F fill-array-data v1, :array_84 .line 120 invoke-static {v1}, Landroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator; move-result-object v1 iput-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; .line 121 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mAnimationState:I .line 123 new-instance v0, Landroidx/recyclerview/widget/FastScroller$1; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/FastScroller$1;->(Landroidx/recyclerview/widget/FastScroller;)V iput-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mHideRunnable:Ljava/lang/Runnable; .line 129 new-instance v0, Landroidx/recyclerview/widget/FastScroller$2; invoke-direct {v0, p0}, Landroidx/recyclerview/widget/FastScroller$2;->(Landroidx/recyclerview/widget/FastScroller;)V iput-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mOnScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; .line 142 iput-object p2, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; .line 143 iput-object p3, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalTrackDrawable:Landroid/graphics/drawable/Drawable; .line 144 iput-object p4, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; .line 145 iput-object p5, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalTrackDrawable:Landroid/graphics/drawable/Drawable; .line 146 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/FastScroller;->mVerticalThumbWidth:I .line 147 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/FastScroller;->mVerticalTrackWidth:I .line 149 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/FastScroller;->mHorizontalThumbHeight:I .line 151 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/FastScroller;->mHorizontalTrackHeight:I .line 152 iput p7, p0, Landroidx/recyclerview/widget/FastScroller;->mScrollbarMinimumRange:I .line 153 iput p8, p0, Landroidx/recyclerview/widget/FastScroller;->mMargin:I const/16 p4, 0xff .line 154 invoke-virtual {p2, p4}, Landroid/graphics/drawable/StateListDrawable;->setAlpha(I)V .line 155 invoke-virtual {p3, p4}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V .line 157 new-instance p2, Landroidx/recyclerview/widget/FastScroller$AnimatorListener; invoke-direct {p2, p0}, Landroidx/recyclerview/widget/FastScroller$AnimatorListener;->(Landroidx/recyclerview/widget/FastScroller;)V invoke-virtual {v1, p2}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 158 new-instance p2, Landroidx/recyclerview/widget/FastScroller$AnimatorUpdater; invoke-direct {p2, p0}, Landroidx/recyclerview/widget/FastScroller$AnimatorUpdater;->(Landroidx/recyclerview/widget/FastScroller;)V invoke-virtual {v1, p2}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V .line 160 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/FastScroller;->attachToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V return-void :array_84 .array-data 4 0x0 0x3f800000 # 1.0f .end array-data .end method .method private cancelHide()V .registers 3 .line 267 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHideRunnable:Ljava/lang/Runnable; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->removeCallbacks(Ljava/lang/Runnable;)Z return-void .end method .method private destroyCallbacks()V .registers 3 .line 183 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->removeItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V .line 184 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->removeOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .line 185 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mOnScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->removeOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V .line 186 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->cancelHide()V return-void .end method .method private drawHorizontalScrollbar(Landroid/graphics/Canvas;)V .registers 8 .line 325 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I .line 327 iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbHeight:I sub-int/2addr v0, v1 .line 328 iget v2, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbCenterX:I iget v3, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbWidth:I div-int/lit8 v4, v3, 0x2 sub-int/2addr v2, v4 .line 329 iget-object v4, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; const/4 v5, 0x0 invoke-virtual {v4, v5, v5, v3, v1}, Landroid/graphics/drawable/StateListDrawable;->setBounds(IIII)V .line 330 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalTrackDrawable:Landroid/graphics/drawable/Drawable; iget v3, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I iget v4, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalTrackHeight:I .line 331 invoke-virtual {v1, v5, v5, v3, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V int-to-float v1, v0 const/4 v3, 0x0 .line 333 invoke-virtual {p1, v3, v1}, Landroid/graphics/Canvas;->translate(FF)V .line 334 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V int-to-float v1, v2 .line 335 invoke-virtual {p1, v1, v3}, Landroid/graphics/Canvas;->translate(FF)V .line 336 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbDrawable: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 337 invoke-virtual {p1, v1, v0}, Landroid/graphics/Canvas;->translate(FF)V return-void .end method .method private drawVerticalScrollbar(Landroid/graphics/Canvas;)V .registers 8 .line 300 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I .line 302 iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbWidth:I sub-int/2addr v0, v1 .line 303 iget v2, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbCenterY:I iget v3, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbHeight:I div-int/lit8 v4, v3, 0x2 sub-int/2addr v2, v4 .line 304 iget-object v4, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; const/4 v5, 0x0 invoke-virtual {v4, v5, v5, v1, v3}, Landroid/graphics/drawable/StateListDrawable;->setBounds(IIII)V .line 305 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalTrackDrawable:Landroid/graphics/drawable/Drawable; iget v3, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalTrackWidth:I iget v4, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I .line 306 invoke-virtual {v1, v5, v5, v3, v4}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 308 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->isLayoutRTL()Z move-result v1 if-eqz v1, :cond_46 .line 309 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v0, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V .line 310 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbWidth: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 311 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->scale(FF)V .line 312 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; invoke-virtual {v0, p1}, Landroid/graphics/drawable/StateListDrawable;->draw(Landroid/graphics/Canvas;)V .line 313 invoke-virtual {p1, v1, v1}, Landroid/graphics/Canvas;->scale(FF)V .line 314 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbWidth: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_60 :cond_46 int-to-float v1, v0 const/4 v3, 0x0 .line 316 invoke-virtual {p1, v1, v3}, Landroid/graphics/Canvas;->translate(FF)V .line 317 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalTrackDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {v1, p1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V int-to-float v1, v2 .line 318 invoke-virtual {p1, v3, v1}, Landroid/graphics/Canvas;->translate(FF)V .line 319 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable: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 320 invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V :goto_60 return-void .end method .method private getHorizontalRange()[I .registers 4 .line 551 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalRange:[I iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mMargin:I const/4 v2, 0x0 aput v1, v0, v2 .line 552 iget v2, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I sub-int/2addr v2, v1 const/4 v1, 0x1 aput v2, v0, v1 return-object v0 .end method .method private getVerticalRange()[I .registers 4 .line 542 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalRange:[I iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mMargin:I const/4 v2, 0x0 aput v1, v0, v2 .line 543 iget v2, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I sub-int/2addr v2, v1 const/4 v1, 0x1 aput v2, v0, v1 return-object v0 .end method .method private horizontalScrollTo(F)V .registers 10 .line 470 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->getHorizontalRange()[I move-result-object v3 const/4 v7, 0x0 .line 471 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 472 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbCenterX: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_23 return-void .line 476 :cond_23 iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalDragX:F iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 477 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollRange()I move-result v4 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 478 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollOffset()I move-result v5 iget v6, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I move-object v0, p0 move v2, p1 .line 476 invoke-direct/range {v0 .. v6}, Landroidx/recyclerview/widget/FastScroller;->scrollTo(FF[IIII)I move-result v0 if-eqz v0, :cond_40 .line 480 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v1, v0, v7}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V .line 483 :cond_40 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalDragX:F return-void .end method .method private isLayoutRTL()Z .registers 3 .line 216 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-static {v0}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I move-result v0 const/4 v1, 0x1 if-ne v0, v1, :cond_a goto :goto_b :cond_a const/4 v1, 0x0 :goto_b return v1 .end method .method private resetHideDelay(I)V .registers 6 .line 271 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->cancelHide()V .line 272 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHideRunnable:Ljava/lang/Runnable; int-to-long v2, p1 invoke-virtual {v0, v1, v2, v3}, Landroidx/recyclerview/widget/RecyclerView;->postDelayed(Ljava/lang/Runnable;J)Z return-void .end method .method private scrollTo(FF[IIII)I .registers 9 const/4 v0, 0x1 .line 488 aget v0, p3, v0 const/4 v1, 0x0 aget p3, p3, v1 sub-int/2addr v0, p3 if-nez v0, :cond_a return v1 :cond_a 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_17 if-ltz p5, :cond_17 return p1 :cond_17 return v1 .end method .method private setupCallbacks()V .registers 3 .line 177 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->addItemDecoration(Landroidx/recyclerview/widget/RecyclerView$ItemDecoration;)V .line 178 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0, p0}, Landroidx/recyclerview/widget/RecyclerView;->addOnItemTouchListener(Landroidx/recyclerview/widget/RecyclerView$OnItemTouchListener;)V .line 179 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mOnScrollListener:Landroidx/recyclerview/widget/RecyclerView$OnScrollListener; invoke-virtual {v0, v1}, Landroidx/recyclerview/widget/RecyclerView;->addOnScrollListener(Landroidx/recyclerview/widget/RecyclerView$OnScrollListener;)V return-void .end method .method private verticalScrollTo(F)V .registers 10 .line 455 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->getVerticalRange()[I move-result-object v3 const/4 v7, 0x0 .line 456 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 457 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbCenterY: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_23 return-void .line 460 :cond_23 iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalDragY:F iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 461 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollRange()I move-result v4 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 462 invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollOffset()I move-result v5 iget v6, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I move-object v0, p0 move v2, p1 .line 460 invoke-direct/range {v0 .. v6}, Landroidx/recyclerview/widget/FastScroller;->scrollTo(FF[IIII)I move-result v0 if-eqz v0, :cond_40 .line 464 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v1, v7, v0}, Landroidx/recyclerview/widget/RecyclerView;->scrollBy(II)V .line 466 :cond_40 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalDragY:F return-void .end method # virtual methods .method public attachToRecyclerView(Landroidx/recyclerview/widget/RecyclerView;)V .registers 3 .line 164 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; if-ne v0, p1, :cond_5 return-void :cond_5 if-eqz v0, :cond_a .line 168 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->destroyCallbacks()V .line 170 :cond_a iput-object p1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; if-eqz p1, :cond_11 .line 172 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->setupCallbacks()V :cond_11 return-void .end method .method getHorizontalThumbDrawable()Landroid/graphics/drawable/Drawable; .registers 2 .line 525 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; return-object v0 .end method .method getHorizontalTrackDrawable()Landroid/graphics/drawable/Drawable; .registers 2 .line 520 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalTrackDrawable:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method getVerticalThumbDrawable()Landroid/graphics/drawable/Drawable; .registers 2 .line 535 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; return-object v0 .end method .method getVerticalTrackDrawable()Landroid/graphics/drawable/Drawable; .registers 2 .line 530 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalTrackDrawable:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public hide()V .registers 2 const/4 v0, 0x0 .line 248 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/FastScroller;->hide(I)V return-void .end method .method hide(I)V .registers 7 .line 253 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mAnimationState:I const/4 v1, 0x2 const/4 v2, 0x1 if-eq v0, v2, :cond_9 if-eq v0, v1, :cond_e goto :goto_33 .line 255 :cond_9 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V :cond_e const/4 v0, 0x3 .line 258 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mAnimationState:I .line 259 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object; move-result-object v3 check-cast v3, Ljava/lang/Float; invoke-virtual {v3}, Ljava/lang/Float;->floatValue()F move-result v3 new-array v1, v1, [F const/4 v4, 0x0 aput v3, v1, v4 const/4 v3, 0x0 aput v3, v1, v2 invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setFloatValues([F)V .line 260 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; int-to-long v1, p1 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; .line 261 iget-object p1, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; invoke-virtual {p1}, Landroid/animation/ValueAnimator;->start()V :goto_33 return-void .end method .method public isDragging()Z .registers 3 .line 220 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I const/4 v1, 0x2 if-ne v0, v1, :cond_7 const/4 v0, 0x1 goto :goto_8 :cond_7 const/4 v0, 0x0 :goto_8 return v0 .end method .method isHidden()Z .registers 2 .line 228 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mState: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 isPointInsideHorizontalThumb(FF)Z .registers 5 .line 513 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbHeight:I sub-int/2addr v0, v1 int-to-float v0, v0 cmpl-float p2, p2, v0 if-ltz p2, :cond_21 iget p2, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbCenterX:I iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbWidth: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_21 div-int/lit8 v0, v0, 0x2 add-int/2addr p2, v0 int-to-float p2, p2 cmpg-float p1, p1, p2 if-gtz p1, :cond_21 const/4 p1, 0x1 goto :goto_22 :cond_21 const/4 p1, 0x0 :goto_22 return p1 .end method .method isPointInsideVerticalThumb(FF)Z .registers 5 .line 505 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->isLayoutRTL()Z move-result v0 if-eqz v0, :cond_10 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbWidth:I div-int/lit8 v0, v0, 0x2 int-to-float v0, v0 cmpg-float p1, p1, v0 if-gtz p1, :cond_31 goto :goto_1a :cond_10 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbWidth:I sub-int/2addr v0, v1 int-to-float v0, v0 cmpl-float p1, p1, v0 if-ltz p1, :cond_31 :goto_1a iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbCenterY:I iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbHeight: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_31 div-int/lit8 v0, v0, 0x2 add-int/2addr p1, v0 int-to-float p1, p1 cmpg-float p1, p2, p1 if-gtz p1, :cond_31 const/4 p1, 0x1 goto :goto_32 :cond_31 const/4 p1, 0x0 :goto_32 return p1 .end method .method isVisible()Z .registers 3 .line 224 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I const/4 v1, 0x1 if-ne v0, v1, :cond_6 goto :goto_7 :cond_6 const/4 v1, 0x0 :goto_7 return v1 .end method .method public onDrawOver(Landroid/graphics/Canvas;Landroidx/recyclerview/widget/RecyclerView;Landroidx/recyclerview/widget/RecyclerView$State;)V .registers 4 .line 277 iget p2, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I iget-object p3, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p3}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result p3 if-ne p2, p3, :cond_28 iget p2, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I iget-object p3, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; .line 278 invoke-virtual {p3}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result p3 if-eq p2, p3, :cond_15 goto :goto_28 .line 289 :cond_15 iget p2, p0, Landroidx/recyclerview/widget/FastScroller;->mAnimationState:I if-eqz p2, :cond_27 .line 290 iget-boolean p2, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedVerticalScrollbar:Z if-eqz p2, :cond_20 .line 291 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/FastScroller;->drawVerticalScrollbar(Landroid/graphics/Canvas;)V .line 293 :cond_20 iget-boolean p2, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedHorizontalScrollbar:Z if-eqz p2, :cond_27 .line 294 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/FastScroller;->drawHorizontalScrollbar(Landroid/graphics/Canvas;)V :cond_27 return-void .line 279 :cond_28 :goto_28 iget-object p1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getWidth()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I .line 280 iget-object p1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {p1}, Landroidx/recyclerview/widget/RecyclerView;->getHeight()I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I const/4 p1, 0x0 .line 285 invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/FastScroller;->setState(I)V return-void .end method .method public onInterceptTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)Z .registers 8 .line 390 iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I const/4 v0, 0x0 const/4 v1, 0x2 const/4 v2, 0x1 if-ne p1, v2, :cond_46 .line 391 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/FastScroller;->isPointInsideVerticalThumb(FF)Z move-result p1 .line 392 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/FastScroller;->isPointInsideHorizontalThumb(FF)Z move-result v3 .line 393 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result v4 if-nez v4, :cond_49 if-nez p1, :cond_29 if-eqz v3, :cond_49 :cond_29 if-eqz v3, :cond_36 .line 396 iput v2, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I .line 397 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/FastScroller;->mHorizontalDragX:F goto :goto_42 :cond_36 if-eqz p1, :cond_42 .line 399 iput v1, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I .line 400 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/FastScroller;->mVerticalDragY:F .line 403 :cond_42 :goto_42 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/FastScroller;->setState(I)V goto :goto_48 :cond_46 if-ne p1, v1, :cond_49 :goto_48 move v0, v2 :cond_49 return v0 .end method .method public onRequestDisallowInterceptTouchEvent(Z)V .registers 2 return-void .end method .method public onTouchEvent(Landroidx/recyclerview/widget/RecyclerView;Landroid/view/MotionEvent;)V .registers 7 .line 418 iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-nez p1, :cond_5 return-void .line 422 :cond_5 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result p1 const/4 v0, 0x1 const/4 v1, 0x2 if-nez p1, :cond_46 .line 423 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/FastScroller;->isPointInsideVerticalThumb(FF)Z move-result p1 .line 424 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/FastScroller;->isPointInsideHorizontalThumb(FF)Z move-result v2 if-nez p1, :cond_29 if-eqz v2, :cond_7f :cond_29 if-eqz v2, :cond_36 .line 427 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I .line 428 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/FastScroller;->mHorizontalDragX:F goto :goto_42 :cond_36 if-eqz p1, :cond_42 .line 430 iput v1, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I .line 431 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/FastScroller;->mVerticalDragY:F .line 433 :cond_42 :goto_42 invoke-virtual {p0, v1}, Landroidx/recyclerview/widget/FastScroller;->setState(I)V goto :goto_7f .line 435 :cond_46 invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result p1 if-ne p1, v0, :cond_5c iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-ne p1, v1, :cond_5c const/4 p1, 0x0 .line 436 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalDragY:F .line 437 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalDragX:F .line 438 invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/FastScroller;->setState(I)V const/4 p1, 0x0 .line 439 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I goto :goto_7f .line 440 :cond_5c invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I move-result p1 if-ne p1, v1, :cond_7f iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-ne p1, v1, :cond_7f .line 441 invoke-virtual {p0}, Landroidx/recyclerview/widget/FastScroller;->show()V .line 442 iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I if-ne p1, v0, :cond_74 .line 443 invoke-virtual {p2}, Landroid/view/MotionEvent;->getX()F move-result p1 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/FastScroller;->horizontalScrollTo(F)V .line 445 :cond_74 iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mDragState:I if-ne p1, v1, :cond_7f .line 446 invoke-virtual {p2}, Landroid/view/MotionEvent;->getY()F move-result p1 invoke-direct {p0, p1}, Landroidx/recyclerview/widget/FastScroller;->verticalScrollTo(F)V :cond_7f :goto_7f return-void .end method .method requestRedraw()V .registers 2 .line 191 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->invalidate()V return-void .end method .method setState(I)V .registers 5 const/4 v0, 0x2 if-ne p1, v0, :cond_11 .line 195 iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-eq v1, v0, :cond_11 .line 196 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; sget-object v2, Landroidx/recyclerview/widget/FastScroller;->PRESSED_STATE_SET:[I invoke-virtual {v1, v2}, Landroid/graphics/drawable/StateListDrawable;->setState([I)Z .line 197 invoke-direct {p0}, Landroidx/recyclerview/widget/FastScroller;->cancelHide()V :cond_11 if-nez p1, :cond_17 .line 201 invoke-virtual {p0}, Landroidx/recyclerview/widget/FastScroller;->requestRedraw()V goto :goto_1a .line 203 :cond_17 invoke-virtual {p0}, Landroidx/recyclerview/widget/FastScroller;->show()V .line 206 :goto_1a iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-ne v1, v0, :cond_2d if-eq p1, v0, :cond_2d .line 207 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbDrawable:Landroid/graphics/drawable/StateListDrawable; sget-object v1, Landroidx/recyclerview/widget/FastScroller;->EMPTY_STATE_SET:[I invoke-virtual {v0, v1}, Landroid/graphics/drawable/StateListDrawable;->setState([I)Z const/16 v0, 0x4b0 .line 208 invoke-direct {p0, v0}, Landroidx/recyclerview/widget/FastScroller;->resetHideDelay(I)V goto :goto_35 :cond_2d const/4 v0, 0x1 if-ne p1, v0, :cond_35 const/16 v0, 0x5dc .line 210 invoke-direct {p0, v0}, Landroidx/recyclerview/widget/FastScroller;->resetHideDelay(I)V .line 212 :cond_35 :goto_35 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I return-void .end method .method public show()V .registers 6 .line 233 iget v0, p0, Landroidx/recyclerview/widget/FastScroller;->mAnimationState:I if-eqz v0, :cond_d const/4 v1, 0x3 if-eq v0, v1, :cond_8 goto :goto_3c .line 235 :cond_8 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->cancel()V :cond_d const/4 v0, 0x1 .line 238 iput v0, p0, Landroidx/recyclerview/widget/FastScroller;->mAnimationState:I .line 239 iget-object v1, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; invoke-virtual {v1}, Landroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/Float; invoke-virtual {v2}, Ljava/lang/Float;->floatValue()F move-result v2 const/4 v3, 0x2 new-array v3, v3, [F const/4 v4, 0x0 aput v2, v3, v4 const/high16 v2, 0x3f800000 # 1.0f aput v2, v3, v0 invoke-virtual {v1, v3}, Landroid/animation/ValueAnimator;->setFloatValues([F)V .line 240 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; const-wide/16 v1, 0x1f4 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; .line 241 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; const-wide/16 v1, 0x0 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setStartDelay(J)V .line 242 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mShowHideAnimator:Landroid/animation/ValueAnimator; invoke-virtual {v0}, Landroid/animation/ValueAnimator;->start()V :goto_3c return-void .end method .method updateScrollPosition(II)V .registers 11 .line 348 iget-object v0, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView;->computeVerticalScrollRange()I move-result v0 .line 349 iget v1, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewHeight:I sub-int v2, v0, v1 const/4 v3, 0x0 const/4 v4, 0x1 if-lez v2, :cond_14 .line 350 iget v2, p0, Landroidx/recyclerview/widget/FastScroller;->mScrollbarMinimumRange:I if-lt v1, v2, :cond_14 move v2, v4 goto :goto_15 :cond_14 move v2, v3 :goto_15 iput-boolean v2, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedVerticalScrollbar:Z .line 353 iget-object v2, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerView:Landroidx/recyclerview/widget/RecyclerView; invoke-virtual {v2}, Landroidx/recyclerview/widget/RecyclerView;->computeHorizontalScrollRange()I move-result v2 .line 354 iget v5, p0, Landroidx/recyclerview/widget/FastScroller;->mRecyclerViewWidth:I sub-int v6, v2, v5 if-lez v6, :cond_29 .line 355 iget v6, p0, Landroidx/recyclerview/widget/FastScroller;->mScrollbarMinimumRange:I if-lt v5, v6, :cond_29 move v6, v4 goto :goto_2a :cond_29 move v6, v3 :goto_2a iput-boolean v6, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedHorizontalScrollbar:Z .line 358 iget-boolean v7, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedVerticalScrollbar:Z if-nez v7, :cond_3a if-nez v6, :cond_3a .line 359 iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-eqz p1, :cond_39 .line 360 invoke-virtual {p0, v3}, Landroidx/recyclerview/widget/FastScroller;->setState(I)V :cond_39 return-void :cond_3a const/high16 v3, 0x40000000 # 2.0f if-eqz v7, :cond_52 int-to-float p2, p2 int-to-float v6, v1 div-float v7, v6, v3 add-float/2addr p2, v7 mul-float/2addr v6, p2 int-to-float p2, v0 div-float/2addr v6, p2 float-to-int p2, v6 .line 367 iput p2, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbCenterY:I mul-int p2, v1, v1 .line 369 div-int/2addr p2, v0 invoke-static {v1, p2}, Ljava/lang/Math;->min(II)I move-result p2 iput p2, p0, Landroidx/recyclerview/widget/FastScroller;->mVerticalThumbHeight:I .line 373 :cond_52 iget-boolean p2, p0, Landroidx/recyclerview/widget/FastScroller;->mNeedHorizontalScrollbar:Z if-eqz p2, :cond_6a int-to-float p1, p1 int-to-float p2, v5 div-float v0, p2, v3 add-float/2addr p1, v0 mul-float/2addr p2, p1 int-to-float p1, v2 div-float/2addr p2, p1 float-to-int p1, p2 .line 375 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbCenterX:I mul-int p1, v5, v5 .line 377 div-int/2addr p1, v2 invoke-static {v5, p1}, Ljava/lang/Math;->min(II)I move-result p1 iput p1, p0, Landroidx/recyclerview/widget/FastScroller;->mHorizontalThumbWidth:I .line 381 :cond_6a iget p1, p0, Landroidx/recyclerview/widget/FastScroller;->mState:I if-eqz p1, :cond_70 if-ne p1, v4, :cond_73 .line 382 :cond_70 invoke-virtual {p0, v4}, Landroidx/recyclerview/widget/FastScroller;->setState(I)V :cond_73 return-void .end method