PhotoViewAttacher$AnimatedZoomRunnable.smali
.class Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;
.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 = "AnimatedZoomRunnable"
.end annotation
# instance fields
.field private final mFocalX:F
.field private final mFocalY:F
.field private final mStartTime:J
.field private final mZoomEnd:F
.field private final mZoomStart:F
.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;FFFF)V
.registers 8
.param p2, "currentZoom" # F
.param p3, "targetZoom" # F
.param p4, "focalX" # F
.param p5, "focalY" # F
.line 816
iput-object p1, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 817
iput p4, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mFocalX:F
.line 818
iput p5, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mFocalY:F
.line 819
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mStartTime:J
.line 820
iput p2, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mZoomStart:F
.line 821
iput p3, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mZoomEnd:F
.line 822
return-void
.end method
.method private interpolate()F
.registers 5
.line 840
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iget-wide v2, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mStartTime:J
sub-long/2addr v0, v2
long-to-float v0, v0
const/high16 v1, 0x3f800000 # 1.0f
mul-float v0, v0, v1
iget-object v2, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# getter for: Lcom/preview/photoview/PhotoViewAttacher;->mZoomDuration:I
invoke-static {v2}, Lcom/preview/photoview/PhotoViewAttacher;->access$2400(Lcom/preview/photoview/PhotoViewAttacher;)I
move-result v2
int-to-float v2, v2
div-float/2addr v0, v2
.line 841
.local v0, "t":F
invoke-static {v1, v0}, Ljava/lang/Math;->min(FF)F
move-result v0
.line 842
iget-object v1, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# getter for: Lcom/preview/photoview/PhotoViewAttacher;->mInterpolator:Landroid/view/animation/Interpolator;
invoke-static {v1}, Lcom/preview/photoview/PhotoViewAttacher;->access$2500(Lcom/preview/photoview/PhotoViewAttacher;)Landroid/view/animation/Interpolator;
move-result-object v1
invoke-interface {v1, v0}, Landroid/view/animation/Interpolator;->getInterpolation(F)F
move-result v0
.line 843
return v0
.end method
# virtual methods
.method public run()V
.registers 7
.line 827
invoke-direct {p0}, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->interpolate()F
move-result v0
.line 828
.local v0, "t":F
iget v1, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mZoomStart:F
iget v2, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mZoomEnd:F
sub-float/2addr v2, v1
mul-float v2, v2, v0
add-float/2addr v1, v2
.line 829
.local v1, "scale":F
iget-object v2, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
invoke-virtual {v2}, Lcom/preview/photoview/PhotoViewAttacher;->getScale()F
move-result v2
div-float v2, v1, v2
.line 831
.local v2, "deltaScale":F
iget-object v3, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# getter for: Lcom/preview/photoview/PhotoViewAttacher;->onGestureListener:Lcom/preview/photoview/OnGestureListener;
invoke-static {v3}, Lcom/preview/photoview/PhotoViewAttacher;->access$2300(Lcom/preview/photoview/PhotoViewAttacher;)Lcom/preview/photoview/OnGestureListener;
move-result-object v3
iget v4, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mFocalX:F
iget v5, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->mFocalY:F
invoke-interface {v3, v2, v4, v5}, Lcom/preview/photoview/OnGestureListener;->onScale(FFF)V
.line 834
const/high16 v3, 0x3f800000 # 1.0f
cmpg-float v3, v0, v3
if-gez v3, :cond_30
.line 835
iget-object v3, p0, Lcom/preview/photoview/PhotoViewAttacher$AnimatedZoomRunnable;->this$0:Lcom/preview/photoview/PhotoViewAttacher;
# getter for: Lcom/preview/photoview/PhotoViewAttacher;->mImageView:Landroid/widget/ImageView;
invoke-static {v3}, Lcom/preview/photoview/PhotoViewAttacher;->access$100(Lcom/preview/photoview/PhotoViewAttacher;)Landroid/widget/ImageView;
move-result-object v3
invoke-static {v3, p0}, Lcom/preview/photoview/Compat;->postOnAnimation(Landroid/view/View;Ljava/lang/Runnable;)V
.line 837
:cond_30
return-void
.end method