.class Lcom/moji/imageview/TouchImageView$DoubleTapZoom; .super Ljava/lang/Object; .source "TouchImageView.java" # interfaces .implements Ljava/lang/Runnable; # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/moji/imageview/TouchImageView; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x2 name = "DoubleTapZoom" .end annotation # instance fields .field final synthetic a:Lcom/moji/imageview/TouchImageView; .field private b:J .field private c:F .field private d:F .field private e:F .field private f:F .field private g:Z .field private h:Landroid/view/animation/AccelerateDecelerateInterpolator; .field private i:Landroid/graphics/PointF; .field private j:Landroid/graphics/PointF; # direct methods .method constructor (Lcom/moji/imageview/TouchImageView;FFFZ)V .locals 2 .line 888 iput-object p1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-direct {p0}, Ljava/lang/Object;->()V .line 884 new-instance v0, Landroid/view/animation/AccelerateDecelerateInterpolator; invoke-direct {v0}, Landroid/view/animation/AccelerateDecelerateInterpolator;->()V iput-object v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->h:Landroid/view/animation/AccelerateDecelerateInterpolator; .line 889 sget-object v0, Lcom/moji/imageview/TouchImageView$State;->ANIMATE_ZOOM:Lcom/moji/imageview/TouchImageView$State; invoke-static {p1, v0}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$State;)V .line 890 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 iput-wide v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->b:J .line 891 invoke-static {p1}, Lcom/moji/imageview/TouchImageView;->d(Lcom/moji/imageview/TouchImageView;)F move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->c:F .line 892 iput p2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->d:F .line 893 iput-boolean p5, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->g:Z const/4 p2, 0x0 .line 894 invoke-static {p1, p3, p4, p2}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;FFZ)Landroid/graphics/PointF; move-result-object p2 if-eqz p2, :cond_0 .line 896 iget p3, p2, Landroid/graphics/PointF;->x:F iput p3, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->e:F .line 897 iget p2, p2, Landroid/graphics/PointF;->y:F iput p2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->f:F .line 899 :cond_0 iget p2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->e:F iget p3, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->f:F invoke-static {p1, p2, p3}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;FF)Landroid/graphics/PointF; move-result-object p2 iput-object p2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->i:Landroid/graphics/PointF; .line 903 new-instance p2, Landroid/graphics/PointF; invoke-static {p1}, Lcom/moji/imageview/TouchImageView;->i(Lcom/moji/imageview/TouchImageView;)I move-result p3 div-int/lit8 p3, p3, 0x2 int-to-float p3, p3 invoke-static {p1}, Lcom/moji/imageview/TouchImageView;->k(Lcom/moji/imageview/TouchImageView;)I move-result p1 div-int/lit8 p1, p1, 0x2 int-to-float p1, p1 invoke-direct {p2, p3, p1}, Landroid/graphics/PointF;->(FF)V iput-object p2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->j:Landroid/graphics/PointF; return-void .end method .method private a()F .locals 4 .line 957 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v0 .line 958 iget-wide v2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->b:J sub-long/2addr v0, v2 long-to-float v0, v0 const/high16 v1, 0x43fa0000 # 500.0f div-float/2addr v0, v1 const/high16 v1, 0x3f800000 # 1.0f .line 959 invoke-static {v1, v0}, Ljava/lang/Math;->min(FF)F move-result v0 .line 960 iget-object v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->h:Landroid/view/animation/AccelerateDecelerateInterpolator; invoke-virtual {v1, v0}, Landroid/view/animation/AccelerateDecelerateInterpolator;->getInterpolation(F)F move-result v0 return v0 .end method .method private a(F)V .locals 5 .line 944 iget-object v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->i:Landroid/graphics/PointF; const/4 v1, 0x0 if-nez v0, :cond_0 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0, v1, v1}, Landroid/graphics/PointF;->(FF)V goto :goto_0 :cond_0 iget-object v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->i:Landroid/graphics/PointF; .line 945 :goto_0 iget-object v2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->j:Landroid/graphics/PointF; if-nez v2, :cond_1 new-instance v2, Landroid/graphics/PointF; invoke-direct {v2, v1, v1}, Landroid/graphics/PointF;->(FF)V goto :goto_1 :cond_1 iget-object v2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->j:Landroid/graphics/PointF; .line 946 :goto_1 iget v1, v0, Landroid/graphics/PointF;->x:F iget v3, v2, Landroid/graphics/PointF;->x:F iget v4, v0, Landroid/graphics/PointF;->x:F sub-float/2addr v3, v4 mul-float v3, v3, p1 add-float/2addr v1, v3 .line 947 iget v3, v0, Landroid/graphics/PointF;->y:F iget v2, v2, Landroid/graphics/PointF;->y:F iget v0, v0, Landroid/graphics/PointF;->y:F sub-float/2addr v2, v0 mul-float p1, p1, v2 add-float/2addr v3, p1 .line 948 iget-object p1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; iget v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->e:F iget v2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->f:F invoke-static {p1, v0, v2}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;FF)Landroid/graphics/PointF; move-result-object p1 .line 949 iget-object v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {v0}, Lcom/moji/imageview/TouchImageView;->m(Lcom/moji/imageview/TouchImageView;)Landroid/graphics/Matrix; move-result-object v0 iget v2, p1, Landroid/graphics/PointF;->x:F sub-float/2addr v1, v2 iget p1, p1, Landroid/graphics/PointF;->y:F sub-float/2addr v3, p1 invoke-virtual {v0, v1, v3}, Landroid/graphics/Matrix;->postTranslate(FF)Z return-void .end method .method private b(F)D .locals 4 .line 970 iget v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->c:F iget v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->d:F iget v2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->c:F sub-float/2addr v1, v2 mul-float p1, p1, v1 add-float/2addr v0, p1 float-to-double v0, v0 .line 971 iget-object p1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {p1}, Lcom/moji/imageview/TouchImageView;->d(Lcom/moji/imageview/TouchImageView;)F move-result p1 float-to-double v2, p1 invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z div-double/2addr v0, v2 return-wide v0 .end method # virtual methods .method public run()V .locals 7 .line 908 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a()F move-result v0 .line 909 invoke-direct {p0, v0}, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->b(F)D move-result-wide v2 .line 910 iget-object v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; iget v4, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->e:F iget v5, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->f:F iget-boolean v6, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->g:Z invoke-static/range {v1 .. v6}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;DFFZ)V .line 911 invoke-direct {p0, v0}, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a(F)V .line 912 iget-object v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {v1}, Lcom/moji/imageview/TouchImageView;->q(Lcom/moji/imageview/TouchImageView;)V .line 913 iget-object v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; iget-object v2, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {v2}, Lcom/moji/imageview/TouchImageView;->m(Lcom/moji/imageview/TouchImageView;)Landroid/graphics/Matrix; move-result-object v2 invoke-virtual {v1, v2}, Lcom/moji/imageview/TouchImageView;->setImageMatrix(Landroid/graphics/Matrix;)V .line 919 iget-object v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {v1}, Lcom/moji/imageview/TouchImageView;->p(Lcom/moji/imageview/TouchImageView;)Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; move-result-object v1 if-eqz v1, :cond_0 .line 920 iget-object v1, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {v1}, Lcom/moji/imageview/TouchImageView;->p(Lcom/moji/imageview/TouchImageView;)Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; move-result-object v1 invoke-interface {v1}, Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener;->a()V :cond_0 const/high16 v1, 0x3f800000 # 1.0f cmpg-float v0, v0, v1 if-gez v0, :cond_1 .line 927 iget-object v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; invoke-static {v0, p0}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;Ljava/lang/Runnable;)V goto :goto_0 .line 933 :cond_1 iget-object v0, p0, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;->a:Lcom/moji/imageview/TouchImageView; sget-object v1, Lcom/moji/imageview/TouchImageView$State;->NONE:Lcom/moji/imageview/TouchImageView$State; invoke-static {v0, v1}, Lcom/moji/imageview/TouchImageView;->a(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$State;)V :goto_0 return-void .end method