RecyclerView$SmoothScroller$Action.smali
.class public Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;
.super Ljava/lang/Object;
.source "RecyclerView.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroid/support/v7/widget/RecyclerView$SmoothScroller;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Action"
.end annotation
# static fields
.field public static final UNDEFINED_DURATION:I = -0x80000000
# instance fields
.field private mChanged:Z
.field private mConsecutiveUpdates:I
.field private mDuration:I
.field private mDx:I
.field private mDy:I
.field private mInterpolator:Landroid/view/animation/Interpolator;
.field private mJumpToPosition:I
# direct methods
.method public constructor <init>(II)V
.registers 5
.prologue
.line 11354
const/high16 v0, -0x80000000
const/4 v1, 0x0
invoke-direct {p0, p1, p2, v0, v1}, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;-><init>(IIILandroid/view/animation/Interpolator;)V
.line 11355
return-void
.end method
.method public constructor <init>(III)V
.registers 5
.prologue
.line 11363
const/4 v0, 0x0
invoke-direct {p0, p1, p2, p3, v0}, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;-><init>(IIILandroid/view/animation/Interpolator;)V
.line 11364
return-void
.end method
.method public constructor <init>(IIILandroid/view/animation/Interpolator;)V
.registers 7
.prologue
const/4 v1, 0x0
.line 11373
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 11339
const/4 v0, -0x1
iput v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mJumpToPosition:I
.line 11343
iput-boolean v1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11347
iput v1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mConsecutiveUpdates:I
.line 11374
iput p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
.line 11375
iput p2, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
.line 11376
iput p3, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
.line 11377
iput-object p4, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
.line 11378
return-void
.end method
.method private validate()V
.registers 3
.prologue
const/4 v1, 0x1
.line 11437
iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
if-eqz v0, :cond_11
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
if-ge v0, v1, :cond_11
.line 11438
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "If you provide an interpolator, you must set a positive duration"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 11440
:cond_11
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
if-ge v0, v1, :cond_1d
.line 11441
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Scroll duration must be a positive number"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 11443
:cond_1d
return-void
.end method
# virtual methods
.method public getDuration()I
.registers 2
.prologue
.line 11464
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
return v0
.end method
.method public getDx()I
.registers 2
.prologue
.line 11446
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
return v0
.end method
.method public getDy()I
.registers 2
.prologue
.line 11455
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
return v0
.end method
.method public getInterpolator()Landroid/view/animation/Interpolator;
.registers 2
.prologue
.line 11473
iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
return-object v0
.end method
.method hasJumpTarget()Z
.registers 2
.prologue
.line 11400
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mJumpToPosition:I
if-ltz v0, :cond_6
const/4 v0, 0x1
:goto_5
return v0
:cond_6
const/4 v0, 0x0
goto :goto_5
.end method
.method public jumpTo(I)V
.registers 2
.prologue
.line 11396
iput p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mJumpToPosition:I
.line 11397
return-void
.end method
.method runIfNecessary(Landroid/support/v7/widget/RecyclerView;)V
.registers 8
.prologue
const/4 v5, 0x0
.line 11404
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mJumpToPosition:I
if-ltz v0, :cond_10
.line 11405
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mJumpToPosition:I
.line 11406
const/4 v1, -0x1
iput v1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mJumpToPosition:I
.line 11407
invoke-virtual {p1, v0}, Landroid/support/v7/widget/RecyclerView;->jumpToPositionForSmoothScroller(I)V
.line 11408
iput-boolean v5, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11434
:goto_f
return-void
.line 11411
:cond_10
iget-boolean v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
if-eqz v0, :cond_5a
.line 11412
invoke-direct {p0}, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->validate()V
.line 11413
iget-object v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
if-nez v0, :cond_4c
.line 11414
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
const/high16 v1, -0x80000000
if-ne v0, v1, :cond_40
.line 11415
iget-object v0, p1, Landroid/support/v7/widget/RecyclerView;->mViewFlinger:Landroid/support/v7/widget/RecyclerView$ViewFlinger;
iget v1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
iget v2, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
invoke-virtual {v0, v1, v2}, Landroid/support/v7/widget/RecyclerView$ViewFlinger;->smoothScrollBy(II)V
.line 11423
:goto_2a
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mConsecutiveUpdates:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mConsecutiveUpdates:I
.line 11424
iget v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mConsecutiveUpdates:I
const/16 v1, 0xa
if-le v0, v1, :cond_3d
.line 11427
const-string v0, "RecyclerView"
const-string v1, "Smooth Scroll action is being updated too frequently. Make sure you are not changing it unless necessary"
invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
.line 11430
:cond_3d
iput-boolean v5, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
goto :goto_f
.line 11417
:cond_40
iget-object v0, p1, Landroid/support/v7/widget/RecyclerView;->mViewFlinger:Landroid/support/v7/widget/RecyclerView$ViewFlinger;
iget v1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
iget v2, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
iget v3, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
invoke-virtual {v0, v1, v2, v3}, Landroid/support/v7/widget/RecyclerView$ViewFlinger;->smoothScrollBy(III)V
goto :goto_2a
.line 11420
:cond_4c
iget-object v0, p1, Landroid/support/v7/widget/RecyclerView;->mViewFlinger:Landroid/support/v7/widget/RecyclerView$ViewFlinger;
iget v1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
iget v2, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
iget v3, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
iget-object v4, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
invoke-virtual {v0, v1, v2, v3, v4}, Landroid/support/v7/widget/RecyclerView$ViewFlinger;->smoothScrollBy(IIILandroid/view/animation/Interpolator;)V
goto :goto_2a
.line 11432
:cond_5a
iput v5, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mConsecutiveUpdates:I
goto :goto_f
.end method
.method public setDuration(I)V
.registers 3
.prologue
.line 11468
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11469
iput p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
.line 11470
return-void
.end method
.method public setDx(I)V
.registers 3
.prologue
.line 11450
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11451
iput p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
.line 11452
return-void
.end method
.method public setDy(I)V
.registers 3
.prologue
.line 11459
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11460
iput p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
.line 11461
return-void
.end method
.method public setInterpolator(Landroid/view/animation/Interpolator;)V
.registers 3
.prologue
.line 11483
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11484
iput-object p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
.line 11485
return-void
.end method
.method public update(IIILandroid/view/animation/Interpolator;)V
.registers 6
.prologue
.line 11496
iput p1, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDx:I
.line 11497
iput p2, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDy:I
.line 11498
iput p3, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mDuration:I
.line 11499
iput-object p4, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mInterpolator:Landroid/view/animation/Interpolator;
.line 11500
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/v7/widget/RecyclerView$SmoothScroller$Action;->mChanged:Z
.line 11501
return-void
.end method