PhotoViewAttacher$FlingRunnable.smali
.class Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;
.super Ljava/lang/Object;
.source "PhotoViewAttacher.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/preview/photoview/PhotoViewAttacher;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2
name = "FlingRunnable"
.end annotation
# instance fields
.field private mCurrentX:I
.field private mCurrentY:I
.field private final mScroller:Landroid/widget/OverScroller;
.field final synthetic this$0:Lcom/preview/photoview/PhotoViewAttacher;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Lcom/preview/photoview/PhotoViewAttacher;Landroid/content/Context;)V
.registers 3
.param p2, "context" # Landroid/content/Context;
.line 852
iput-object p1, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 853
new-instance p1, Landroid/widget/OverScroller;
invoke-direct {p1, p2}, Landroid/widget/OverScroller;-><init>(Landroid/content/Context;)V
iput-object p1, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
.line 854
return-void
.end method
# virtual methods
.method public cancelFling()V
.registers 3
.line 857
iget-object v0, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroid/widget/OverScroller;->forceFinished(Z)V
.line 858
return-void
.end method
.method public fling(IIII)V
.registers 27
.param p1, "viewWidth" # I
.param p2, "viewHeight" # I
.param p3, "velocityX" # I
.param p4, "velocityY" # I
.line 862
move-object/from16 v0, p0
move/from16 v1, p1
move/from16 v2, p2
iget-object v3, v0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
invoke-virtual {v3}, Lcom/preview/photoview/PhotoViewAttacher;->getDisplayRect()Landroid/graphics/RectF;
move-result-object v3
.line 863
.local v3, "rect":Landroid/graphics/RectF;
if-nez v3, :cond_f
.line 864
return-void
.line 867
:cond_f
iget v4, v3, Landroid/graphics/RectF;->left:F
neg-float v4, v4
invoke-static {v4}, Ljava/lang/Math;->round(F)I
move-result v4
.line 870
.local v4, "startX":I
int-to-float v5, v1
invoke-virtual {v3}, Landroid/graphics/RectF;->width()F
move-result v6
cmpg-float v5, v5, v6
if-gez v5, :cond_2e
.line 871
const/4 v5, 0x0
.line 872
.local v5, "minX":I
invoke-virtual {v3}, Landroid/graphics/RectF;->width()F
move-result v6
int-to-float v7, v1
sub-float/2addr v6, v7
invoke-static {v6}, Ljava/lang/Math;->round(F)I
move-result v6
move/from16 v16, v5
move v15, v6
.local v6, "maxX":I
goto :goto_33
.line 874
.end local v5 # "minX":I
.end local v6 # "maxX":I
:cond_2e
move v6, v4
.restart local v6 # "maxX":I
move v5, v4
move/from16 v16, v5
move v15, v6
.line 877
.end local v6 # "maxX":I
.local v15, "maxX":I
.local v16, "minX":I
:goto_33
iget v5, v3, Landroid/graphics/RectF;->top:F
neg-float v5, v5
invoke-static {v5}, Ljava/lang/Math;->round(F)I
move-result v14
.line 878
.local v14, "startY":I
int-to-float v5, v2
invoke-virtual {v3}, Landroid/graphics/RectF;->height()F
move-result v6
cmpg-float v5, v5, v6
if-gez v5, :cond_52
.line 879
const/4 v5, 0x0
.line 880
.local v5, "minY":I
invoke-virtual {v3}, Landroid/graphics/RectF;->height()F
move-result v6
int-to-float v7, v2
sub-float/2addr v6, v7
invoke-static {v6}, Ljava/lang/Math;->round(F)I
move-result v6
move/from16 v17, v5
move v13, v6
.local v6, "maxY":I
goto :goto_57
.line 882
.end local v5 # "minY":I
.end local v6 # "maxY":I
:cond_52
move v6, v14
.restart local v6 # "maxY":I
move v5, v14
move/from16 v17, v5
move v13, v6
.line 885
.end local v6 # "maxY":I
.local v13, "maxY":I
.local v17, "minY":I
:goto_57
iput v4, v0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mCurrentX:I
.line 886
iput v14, v0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mCurrentY:I
.line 889
if-ne v4, v15, :cond_67
if-eq v14, v13, :cond_60
goto :goto_67
:cond_60
move/from16 v20, v13
move/from16 v21, v14
move/from16 v18, v15
goto :goto_85
.line 890
:cond_67
:goto_67
iget-object v5, v0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
const/16 v18, 0x0
const/16 v19, 0x0
move v6, v4
move v7, v14
move/from16 v8, p3
move/from16 v9, p4
move/from16 v10, v16
move v11, v15
move/from16 v12, v17
move/from16 v20, v13
.end local v13 # "maxY":I
.local v20, "maxY":I
move/from16 v21, v14
.end local v14 # "startY":I
.local v21, "startY":I
move/from16 v14, v18
move/from16 v18, v15
.end local v15 # "maxX":I
.local v18, "maxX":I
move/from16 v15, v19
invoke-virtual/range {v5 .. v15}, Landroid/widget/OverScroller;->fling(IIIIIIIIII)V
.line 893
:goto_85
return-void
.end method
.method public run()V
.registers 6
.line 897
iget-object v0, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v0}, Landroid/widget/OverScroller;->isFinished()Z
move-result v0
if-eqz v0, :cond_9
.line 898
return-void
.line 901
:cond_9
iget-object v0, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v0}, Landroid/widget/OverScroller;->computeScrollOffset()Z
move-result v0
if-eqz v0, :cond_40
.line 903
iget-object v0, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v0}, Landroid/widget/OverScroller;->getCurrX()I
move-result v0
.line 904
.local v0, "newX":I
iget-object v1, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mScroller:Landroid/widget/OverScroller;
invoke-virtual {v1}, Landroid/widget/OverScroller;->getCurrY()I
move-result v1
.line 906
.local v1, "newY":I
iget-object v2, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# getter for: Lcom/preview/photoview/PhotoViewAttacher;->mSuppMatrix:Landroid/graphics/Matrix;
invoke-static {v2}, Lcom/preview/photoview/PhotoViewAttacher;->access$500(Lcom/preview/photoview/PhotoViewAttacher;)Landroid/graphics/Matrix;
move-result-object v2
iget v3, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mCurrentX:I
sub-int/2addr v3, v0
int-to-float v3, v3
iget v4, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mCurrentY:I
sub-int/2addr v4, v1
int-to-float v4, v4
invoke-virtual {v2, v3, v4}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 907
iget-object v2, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# invokes: Lcom/preview/photoview/PhotoViewAttacher;->checkAndDisplayMatrix()V
invoke-static {v2}, Lcom/preview/photoview/PhotoViewAttacher;->access$600(Lcom/preview/photoview/PhotoViewAttacher;)V
.line 909
iput v0, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mCurrentX:I
.line 910
iput v1, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->mCurrentY:I
.line 913
iget-object v2, p0, Lcom/preview/photoview/PhotoViewAttacher$FlingRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# getter for: Lcom/preview/photoview/PhotoViewAttacher;->mImageView:Landroid/widget/ImageView;
invoke-static {v2}, Lcom/preview/photoview/PhotoViewAttacher;->access$100(Lcom/preview/photoview/PhotoViewAttacher;)Landroid/widget/ImageView;
move-result-object v2
invoke-static {v2, p0}, Lcom/preview/photoview/Compat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V
.line 915
.end local v0 # "newX":I
.end local v1 # "newY":I
:cond_40
return-void
.end method