u.smali
.class public Landroidx/recyclerview/widget/u;
.super Landroidx/recyclerview/widget/RecyclerView$x;
.source "SourceFile"
# instance fields
.field public final h:Landroid/view/animation/LinearInterpolator;
.field public final i:Landroid/view/animation/DecelerateInterpolator;
.field public j:Landroid/graphics/PointF;
.field public final k:Landroid/util/DisplayMetrics;
.field public l:Z
.field public m:F
.field public n:I
.field public o:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.line 1
invoke-direct {p0}, Landroidx/recyclerview/widget/RecyclerView$x;-><init>()V
.line 2
new-instance v0, Landroid/view/animation/LinearInterpolator;
invoke-direct {v0}, Landroid/view/animation/LinearInterpolator;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/u;->h:Landroid/view/animation/LinearInterpolator;
.line 3
new-instance v0, Landroid/view/animation/DecelerateInterpolator;
invoke-direct {v0}, Landroid/view/animation/DecelerateInterpolator;-><init>()V
iput-object v0, p0, Landroidx/recyclerview/widget/u;->i:Landroid/view/animation/DecelerateInterpolator;
const/4 v0, 0x0
.line 4
iput-boolean v0, p0, Landroidx/recyclerview/widget/u;->l:Z
.line 5
iput v0, p0, Landroidx/recyclerview/widget/u;->n:I
iput v0, p0, Landroidx/recyclerview/widget/u;->o:I
.line 6
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
iput-object p1, p0, Landroidx/recyclerview/widget/u;->k:Landroid/util/DisplayMetrics;
return-void
.end method
# virtual methods
.method public final b(IILandroidx/recyclerview/widget/RecyclerView$x$a;)V
.registers 6
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$x;->b:Landroidx/recyclerview/widget/RecyclerView;
iget-object v0, v0, Landroidx/recyclerview/widget/RecyclerView;->mLayout:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getChildCount()I
move-result v0
if-nez v0, :cond_e
.line 2
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$x;->f()V
return-void
.line 3
:cond_e
iget v0, p0, Landroidx/recyclerview/widget/u;->n:I
sub-int p1, v0, p1
mul-int v0, v0, p1
const/4 v1, 0x0
if-gtz v0, :cond_18
const/4 p1, 0x0
:cond_18
iput p1, p0, Landroidx/recyclerview/widget/u;->n:I
.line 4
iget v0, p0, Landroidx/recyclerview/widget/u;->o:I
sub-int p2, v0, p2
mul-int v0, v0, p2
if-gtz v0, :cond_23
goto :goto_24
:cond_23
move v1, p2
:goto_24
iput v1, p0, Landroidx/recyclerview/widget/u;->o:I
if-nez p1, :cond_2d
if-nez v1, :cond_2d
.line 5
invoke-virtual {p0, p3}, Landroidx/recyclerview/widget/u;->m(Landroidx/recyclerview/widget/RecyclerView$x$a;)V
:cond_2d
return-void
.end method
.method public final c()V
.registers 1
return-void
.end method
.method public final d()V
.registers 2
const/4 v0, 0x0
.line 1
iput v0, p0, Landroidx/recyclerview/widget/u;->o:I
iput v0, p0, Landroidx/recyclerview/widget/u;->n:I
const/4 v0, 0x0
.line 2
iput-object v0, p0, Landroidx/recyclerview/widget/u;->j:Landroid/graphics/PointF;
return-void
.end method
.method public e(Landroid/view/View;Landroidx/recyclerview/widget/RecyclerView$y;Landroidx/recyclerview/widget/RecyclerView$x$a;)V
.registers 11
.line 1
iget-object p2, p0, Landroidx/recyclerview/widget/u;->j:Landroid/graphics/PointF;
const/4 v0, 0x0
if-eqz p2, :cond_15
iget p2, p2, Landroid/graphics/PointF;->x:F
const/4 v1, 0x0
cmpl-float p2, p2, v1
if-nez p2, :cond_d
goto :goto_15
:cond_d
if-lez p2, :cond_12
const/4 p2, 0x1
const/4 v6, 0x1
goto :goto_16
:cond_12
const/4 p2, -0x1
const/4 v6, -0x1
goto :goto_16
:cond_15
:goto_15
const/4 v6, 0x0
.line 2
:goto_16
iget-object p2, p0, Landroidx/recyclerview/widget/RecyclerView$x;->c:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz p2, :cond_4a
.line 3
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollHorizontally()Z
move-result v1
if-nez v1, :cond_21
goto :goto_4a
.line 4
:cond_21
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 5
invoke-virtual {p2, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedLeft(Landroid/view/View;)I
move-result v1
iget v2, v0, Landroid/view/ViewGroup$MarginLayoutParams;->leftMargin:I
sub-int v2, v1, v2
.line 6
invoke-virtual {p2, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedRight(Landroid/view/View;)I
move-result v1
iget v0, v0, Landroid/view/ViewGroup$MarginLayoutParams;->rightMargin:I
add-int v3, v1, v0
.line 7
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingLeft()I
move-result v4
.line 8
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getWidth()I
move-result v0
invoke-virtual {p2}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingRight()I
move-result p2
sub-int v5, v0, p2
move-object v1, p0
.line 9
invoke-virtual/range {v1 .. v6}, Landroidx/recyclerview/widget/u;->g(IIIII)I
move-result v0
.line 10
:cond_4a
:goto_4a
invoke-virtual {p0}, Landroidx/recyclerview/widget/u;->l()I
move-result p2
invoke-virtual {p0, p1, p2}, Landroidx/recyclerview/widget/u;->h(Landroid/view/View;I)I
move-result p1
mul-int p2, v0, v0
mul-int v1, p1, p1
add-int/2addr v1, p2
int-to-double v1, v1
.line 11
invoke-static {v1, v2}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v1
double-to-int p2, v1
.line 12
invoke-virtual {p0, p2}, Landroidx/recyclerview/widget/u;->j(I)I
move-result p2
if-lez p2, :cond_6a
neg-int v0, v0
neg-int p1, p1
.line 13
iget-object v1, p0, Landroidx/recyclerview/widget/u;->i:Landroid/view/animation/DecelerateInterpolator;
invoke-virtual {p3, v0, p1, p2, v1}, Landroidx/recyclerview/widget/RecyclerView$x$a;->b(IIILandroid/view/animation/Interpolator;)V
:cond_6a
return-void
.end method
.method public g(IIIII)I
.registers 7
const/4 v0, -0x1
if-eq p5, v0, :cond_1c
if-eqz p5, :cond_12
const/4 p1, 0x1
if-ne p5, p1, :cond_a
sub-int/2addr p4, p2
return p4
:cond_a
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "snap preference should be one of the constants defined in SmoothScroller, starting with SNAP_"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_12
sub-int/2addr p3, p1
if-lez p3, :cond_16
return p3
:cond_16
sub-int/2addr p4, p2
if-gez p4, :cond_1a
return p4
:cond_1a
const/4 p1, 0x0
return p1
:cond_1c
sub-int/2addr p3, p1
return p3
.end method
.method public final h(Landroid/view/View;I)I
.registers 13
.line 1
iget-object v0, p0, Landroidx/recyclerview/widget/RecyclerView$x;->c:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
if-eqz v0, :cond_36
.line 2
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->canScrollVertically()Z
move-result v1
if-nez v1, :cond_b
goto :goto_36
.line 3
:cond_b
invoke-virtual {p1}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v1
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$LayoutParams;
.line 4
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedTop(Landroid/view/View;)I
move-result v2
iget v3, v1, Landroid/view/ViewGroup$MarginLayoutParams;->topMargin:I
sub-int v5, v2, v3
.line 5
invoke-virtual {v0, p1}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getDecoratedBottom(Landroid/view/View;)I
move-result p1
iget v1, v1, Landroid/view/ViewGroup$MarginLayoutParams;->bottomMargin:I
add-int v6, p1, v1
.line 6
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingTop()I
move-result v7
.line 7
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getHeight()I
move-result p1
invoke-virtual {v0}, Landroidx/recyclerview/widget/RecyclerView$LayoutManager;->getPaddingBottom()I
move-result v0
sub-int v8, p1, v0
move-object v4, p0
move v9, p2
.line 8
invoke-virtual/range {v4 .. v9}, Landroidx/recyclerview/widget/u;->g(IIIII)I
move-result p1
return p1
:cond_36
:goto_36
const/4 p1, 0x0
return p1
.end method
.method public i(Landroid/util/DisplayMetrics;)F
.registers 3
iget p1, p1, Landroid/util/DisplayMetrics;->densityDpi:I
int-to-float p1, p1
const/high16 v0, 0x41c80000 # 25.0f
div-float/2addr v0, p1
return v0
.end method
.method public j(I)I
.registers 6
invoke-virtual {p0, p1}, Landroidx/recyclerview/widget/u;->k(I)I
move-result p1
int-to-double v0, p1
const-wide v2, 0x3fd57a786c22680aL # 0.3356
div-double/2addr v0, v2
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int p1, v0
return p1
.end method
.method public k(I)I
.registers 4
.line 1
invoke-static {p1}, Ljava/lang/Math;->abs(I)I
move-result p1
int-to-float p1, p1
.line 2
iget-boolean v0, p0, Landroidx/recyclerview/widget/u;->l:Z
if-nez v0, :cond_14
.line 3
iget-object v0, p0, Landroidx/recyclerview/widget/u;->k:Landroid/util/DisplayMetrics;
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/u;->i(Landroid/util/DisplayMetrics;)F
move-result v0
iput v0, p0, Landroidx/recyclerview/widget/u;->m:F
const/4 v0, 0x1
.line 4
iput-boolean v0, p0, Landroidx/recyclerview/widget/u;->l:Z
.line 5
:cond_14
iget v0, p0, Landroidx/recyclerview/widget/u;->m:F
mul-float p1, p1, v0
float-to-double v0, p1
.line 6
invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D
move-result-wide v0
double-to-int p1, v0
return p1
.end method
.method public l()I
.registers 4
iget-object v0, p0, Landroidx/recyclerview/widget/u;->j:Landroid/graphics/PointF;
if-eqz v0, :cond_14
iget v0, v0, Landroid/graphics/PointF;->y:F
const/4 v1, 0x0
cmpl-float v2, v0, v1
if-nez v2, :cond_c
goto :goto_14
:cond_c
cmpl-float v0, v0, v1
if-lez v0, :cond_12
const/4 v0, 0x1
goto :goto_15
:cond_12
const/4 v0, -0x1
goto :goto_15
:cond_14
:goto_14
const/4 v0, 0x0
:goto_15
return v0
.end method
.method public m(Landroidx/recyclerview/widget/RecyclerView$x$a;)V
.registers 6
.line 1
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView$x;->a:I
.line 2
iget-object v1, p0, Landroidx/recyclerview/widget/RecyclerView$x;->c:Landroidx/recyclerview/widget/RecyclerView$LayoutManager;
.line 3
instance-of v2, v1, Landroidx/recyclerview/widget/RecyclerView$x$b;
if-eqz v2, :cond_f
.line 4
check-cast v1, Landroidx/recyclerview/widget/RecyclerView$x$b;
.line 5
invoke-interface {v1, v0}, Landroidx/recyclerview/widget/RecyclerView$x$b;->computeScrollVectorForPosition(I)Landroid/graphics/PointF;
move-result-object v0
goto :goto_10
:cond_f
const/4 v0, 0x0
:goto_10
if-eqz v0, :cond_65
.line 6
iget v1, v0, Landroid/graphics/PointF;->x:F
const/4 v2, 0x0
cmpl-float v3, v1, v2
if-nez v3, :cond_20
iget v3, v0, Landroid/graphics/PointF;->y:F
cmpl-float v2, v3, v2
if-nez v2, :cond_20
goto :goto_65
:cond_20
mul-float v1, v1, v1
.line 7
iget v2, v0, Landroid/graphics/PointF;->y:F
mul-float v2, v2, v2
add-float/2addr v2, v1
float-to-double v1, v2
invoke-static {v1, v2}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v1
double-to-float v1, v1
.line 8
iget v2, v0, Landroid/graphics/PointF;->x:F
div-float/2addr v2, v1
iput v2, v0, Landroid/graphics/PointF;->x:F
.line 9
iget v3, v0, Landroid/graphics/PointF;->y:F
div-float/2addr v3, v1
iput v3, v0, Landroid/graphics/PointF;->y:F
.line 10
iput-object v0, p0, Landroidx/recyclerview/widget/u;->j:Landroid/graphics/PointF;
const v0, 0x461c4000 # 10000.0f
mul-float v2, v2, v0
float-to-int v1, v2
.line 11
iput v1, p0, Landroidx/recyclerview/widget/u;->n:I
mul-float v3, v3, v0
float-to-int v0, v3
.line 12
iput v0, p0, Landroidx/recyclerview/widget/u;->o:I
const/16 v0, 0x2710
.line 13
invoke-virtual {p0, v0}, Landroidx/recyclerview/widget/u;->k(I)I
move-result v0
.line 14
iget v1, p0, Landroidx/recyclerview/widget/u;->n:I
int-to-float v1, v1
const v2, 0x3f99999a # 1.2f
mul-float v1, v1, v2
float-to-int v1, v1
iget v3, p0, Landroidx/recyclerview/widget/u;->o:I
int-to-float v3, v3
mul-float v3, v3, v2
float-to-int v3, v3
int-to-float v0, v0
mul-float v0, v0, v2
float-to-int v0, v0
iget-object v2, p0, Landroidx/recyclerview/widget/u;->h:Landroid/view/animation/LinearInterpolator;
invoke-virtual {p1, v1, v3, v0, v2}, Landroidx/recyclerview/widget/RecyclerView$x$a;->b(IIILandroid/view/animation/Interpolator;)V
return-void
.line 15
:cond_65
:goto_65
iget v0, p0, Landroidx/recyclerview/widget/RecyclerView$x;->a:I
.line 16
iput v0, p1, Landroidx/recyclerview/widget/RecyclerView$x$a;->d:I
.line 17
invoke-virtual {p0}, Landroidx/recyclerview/widget/RecyclerView$x;->f()V
return-void
.end method