.class public Lcom/moji/imageview/TouchImageView; .super Landroid/widget/ImageView; .source "TouchImageView.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/moji/imageview/TouchImageView$ZoomVariables;, Lcom/moji/imageview/TouchImageView$CompatScroller;, Lcom/moji/imageview/TouchImageView$Fling;, Lcom/moji/imageview/TouchImageView$DoubleTapZoom;, Lcom/moji/imageview/TouchImageView$ScaleListener;, Lcom/moji/imageview/TouchImageView$PrivateOnTouchListener;, Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener;, Lcom/moji/imageview/TouchImageView$GestureListener;, Lcom/moji/imageview/TouchImageView$State; } .end annotation # instance fields .field private A:Landroid/view/View$OnTouchListener; .field private B:Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; .field private a:F .field private b:Landroid/graphics/Matrix; .field private c:Landroid/graphics/Matrix; .field private d:Lcom/moji/imageview/TouchImageView$State; .field private e:F .field private f:F .field private g:F .field private h:F .field private i:[F .field private j:Landroid/content/Context; .field private k:Lcom/moji/imageview/TouchImageView$Fling; .field private l:Landroid/widget/ImageView$ScaleType; .field private m:Z .field private n:Z .field private o:Lcom/moji/imageview/TouchImageView$ZoomVariables; .field private p:I .field private q:I .field private r:I .field private s:I .field private t:F .field private u:F .field private v:F .field private w:F .field private x:Landroid/view/ScaleGestureDetector; .field private y:Landroid/view/GestureDetector; .field private z:Landroid/view/GestureDetector$OnDoubleTapListener; # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 .line 92 invoke-direct {p0, p1}, Landroid/widget/ImageView;->(Landroid/content/Context;)V const/4 v0, 0x0 .line 87 iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->z:Landroid/view/GestureDetector$OnDoubleTapListener; .line 88 iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->A:Landroid/view/View$OnTouchListener; .line 89 iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->B:Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; .line 93 invoke-direct {p0, p1}, Lcom/moji/imageview/TouchImageView;->a(Landroid/content/Context;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 0 .line 97 invoke-direct {p0, p1, p2}, Landroid/widget/ImageView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 p2, 0x0 .line 87 iput-object p2, p0, Lcom/moji/imageview/TouchImageView;->z:Landroid/view/GestureDetector$OnDoubleTapListener; .line 88 iput-object p2, p0, Lcom/moji/imageview/TouchImageView;->A:Landroid/view/View$OnTouchListener; .line 89 iput-object p2, p0, Lcom/moji/imageview/TouchImageView;->B:Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; .line 98 invoke-direct {p0, p1}, Lcom/moji/imageview/TouchImageView;->a(Landroid/content/Context;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 0 .line 102 invoke-direct {p0, p1, p2, p3}, Landroid/widget/ImageView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V const/4 p2, 0x0 .line 87 iput-object p2, p0, Lcom/moji/imageview/TouchImageView;->z:Landroid/view/GestureDetector$OnDoubleTapListener; .line 88 iput-object p2, p0, Lcom/moji/imageview/TouchImageView;->A:Landroid/view/View$OnTouchListener; .line 89 iput-object p2, p0, Lcom/moji/imageview/TouchImageView;->B:Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; .line 103 invoke-direct {p0, p1}, Lcom/moji/imageview/TouchImageView;->a(Landroid/content/Context;)V return-void .end method .method private a(FFF)F .locals 2 const/4 v0, 0x0 cmpg-float v1, p3, p2 if-gtz v1, :cond_0 sub-float/2addr p2, p3 move p3, p2 const/4 p2, 0x0 goto :goto_0 :cond_0 sub-float/2addr p2, p3 const/4 p3, 0x0 :goto_0 cmpg-float v1, p1, p2 if-gez v1, :cond_1 neg-float p1, p1 add-float/2addr p1, p2 return p1 :cond_1 cmpl-float p2, p1, p3 if-lez p2, :cond_2 neg-float p1, p1 add-float/2addr p1, p3 return p1 :cond_2 return v0 .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;FFF)F .locals 0 .line 31 invoke-direct {p0, p1, p2, p3}, Lcom/moji/imageview/TouchImageView;->b(FFF)F move-result p0 return p0 .end method .method private a(III)I .locals 1 const/high16 v0, -0x80000000 if-eq p1, v0, :cond_1 if-eqz p1, :cond_0 const/high16 p3, 0x40000000 # 2.0f goto :goto_0 :cond_0 move p2, p3 goto :goto_0 .line 589 :cond_1 invoke-static {p3, p2}, Ljava/lang/Math;->min(II)I move-result p2 :goto_0 return p2 .end method .method private a(FF)Landroid/graphics/PointF; .locals 2 .line 1013 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 1014 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 if-nez v0, :cond_0 .line 1016 new-instance p1, Landroid/graphics/PointF; const/4 p2, 0x0 invoke-direct {p1, p2, p2}, Landroid/graphics/PointF;->(FF)V return-object p1 .line 1018 :cond_0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v1 int-to-float v1, v1 .line 1019 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v0 int-to-float v0, v0 div-float/2addr p1, v1 div-float/2addr p2, v0 .line 1022 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v1, 0x2 aget v0, v0, v1 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v1 mul-float v1, v1, p1 add-float/2addr v0, v1 .line 1023 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v1, 0x5 aget p1, p1, v1 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result v1 mul-float v1, v1, p2 add-float/2addr p1, v1 .line 1024 new-instance p2, Landroid/graphics/PointF; invoke-direct {p2, v0, p1}, Landroid/graphics/PointF;->(FF)V return-object p2 .end method .method private a(FFZ)Landroid/graphics/PointF; .locals 6 .line 985 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 986 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 const/4 v1, 0x0 if-nez v0, :cond_0 .line 988 new-instance p1, Landroid/graphics/PointF; invoke-direct {p1, v1, v1}, Landroid/graphics/PointF;->(FF)V return-object p1 .line 990 :cond_0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v2 int-to-float v2, v2 .line 991 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v0 int-to-float v0, v0 .line 992 iget-object v3, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v4, 0x2 aget v3, v3, v4 .line 993 iget-object v4, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v5, 0x5 aget v4, v4, v5 sub-float/2addr p1, v3 mul-float p1, p1, v2 .line 994 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v3 div-float/2addr p1, v3 sub-float/2addr p2, v4 mul-float p2, p2, v0 .line 995 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result v3 div-float/2addr p2, v3 if-eqz p3, :cond_1 .line 998 invoke-static {p1, v1}, Ljava/lang/Math;->max(FF)F move-result p1 invoke-static {p1, v2}, Ljava/lang/Math;->min(FF)F move-result p1 .line 999 invoke-static {p2, v1}, Ljava/lang/Math;->max(FF)F move-result p2 invoke-static {p2, v0}, Ljava/lang/Math;->min(FF)F move-result p2 .line 1002 :cond_1 new-instance p3, Landroid/graphics/PointF; invoke-direct {p3, p1, p2}, Landroid/graphics/PointF;->(FF)V return-object p3 .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;FF)Landroid/graphics/PointF; .locals 0 .line 31 invoke-direct {p0, p1, p2}, Lcom/moji/imageview/TouchImageView;->a(FF)Landroid/graphics/PointF; move-result-object p0 return-object p0 .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;FFZ)Landroid/graphics/PointF; .locals 0 .line 31 invoke-direct {p0, p1, p2, p3}, Lcom/moji/imageview/TouchImageView;->a(FFZ)Landroid/graphics/PointF; move-result-object p0 return-object p0 .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;)Landroid/view/GestureDetector$OnDoubleTapListener; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->z:Landroid/view/GestureDetector$OnDoubleTapListener; return-object p0 .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$Fling;)Lcom/moji/imageview/TouchImageView$Fling; .locals 0 .line 31 iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->k:Lcom/moji/imageview/TouchImageView$Fling; return-object p1 .end method .method private a(DFFZ)V .locals 4 if-eqz p5, :cond_0 .line 849 iget p5, p0, Lcom/moji/imageview/TouchImageView;->g:F .line 850 iget v0, p0, Lcom/moji/imageview/TouchImageView;->h:F goto :goto_0 .line 853 :cond_0 iget p5, p0, Lcom/moji/imageview/TouchImageView;->e:F .line 854 iget v0, p0, Lcom/moji/imageview/TouchImageView;->f:F .line 857 :goto_0 iget v1, p0, Lcom/moji/imageview/TouchImageView;->a:F .line 858 iget v2, p0, Lcom/moji/imageview/TouchImageView;->a:F float-to-double v2, v2 invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z mul-double v2, v2, p1 double-to-float v2, v2 iput v2, p0, Lcom/moji/imageview/TouchImageView;->a:F .line 859 iget v2, p0, Lcom/moji/imageview/TouchImageView;->a:F cmpl-float v2, v2, v0 if-lez v2, :cond_1 .line 860 iput v0, p0, Lcom/moji/imageview/TouchImageView;->a:F div-float/2addr v0, v1 float-to-double p1, v0 goto :goto_1 .line 862 :cond_1 iget v0, p0, Lcom/moji/imageview/TouchImageView;->a:F cmpg-float v0, v0, p5 if-gez v0, :cond_2 .line 863 iput p5, p0, Lcom/moji/imageview/TouchImageView;->a:F div-float/2addr p5, v1 float-to-double p1, p5 .line 867 :cond_2 :goto_1 iget-object p5, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; double-to-float p1, p1 invoke-virtual {p5, p1, p1, p3, p4}, Landroid/graphics/Matrix;->postScale(FFFF)Z .line 868 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->e()V return-void .end method .method private a(IFFFIII)V .locals 2 int-to-float p6, p6 const/high16 v0, 0x3f000000 # 0.5f cmpg-float v1, p4, p6 if-gez v1, :cond_0 .line 620 iget-object p2, p0, Lcom/moji/imageview/TouchImageView;->i:[F int-to-float p3, p7 iget-object p4, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 p5, 0x0 aget p4, p4, p5 mul-float p3, p3, p4 sub-float/2addr p6, p3 mul-float p6, p6, v0 aput p6, p2, p1 goto :goto_0 :cond_0 const/4 p7, 0x0 cmpl-float p7, p2, p7 if-lez p7, :cond_1 .line 626 iget-object p2, p0, Lcom/moji/imageview/TouchImageView;->i:[F sub-float/2addr p4, p6 mul-float p4, p4, v0 neg-float p3, p4 aput p3, p2, p1 goto :goto_0 .line 634 :cond_1 invoke-static {p2}, Ljava/lang/Math;->abs(F)F move-result p2 int-to-float p5, p5 mul-float p5, p5, v0 add-float/2addr p2, p5 div-float/2addr p2, p3 .line 635 iget-object p3, p0, Lcom/moji/imageview/TouchImageView;->i:[F mul-float p2, p2, p4 mul-float p6, p6, v0 sub-float/2addr p2, p6 neg-float p2, p2 aput p2, p3, p1 :goto_0 return-void .end method .method private a(Landroid/content/Context;)V .locals 3 const/4 v0, 0x1 .line 107 invoke-super {p0, v0}, Landroid/widget/ImageView;->setClickable(Z)V .line 108 iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->j:Landroid/content/Context; .line 109 new-instance v0, Landroid/view/ScaleGestureDetector; new-instance v1, Lcom/moji/imageview/TouchImageView$ScaleListener; const/4 v2, 0x0 invoke-direct {v1, p0, v2}, Lcom/moji/imageview/TouchImageView$ScaleListener;->(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$1;)V invoke-direct {v0, p1, v1}, Landroid/view/ScaleGestureDetector;->(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->x:Landroid/view/ScaleGestureDetector; .line 110 new-instance v0, Landroid/view/GestureDetector; new-instance v1, Lcom/moji/imageview/TouchImageView$GestureListener; invoke-direct {v1, p0, v2}, Lcom/moji/imageview/TouchImageView$GestureListener;->(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$1;)V invoke-direct {v0, p1, v1}, Landroid/view/GestureDetector;->(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->y:Landroid/view/GestureDetector; .line 111 new-instance p1, Landroid/graphics/Matrix; invoke-direct {p1}, Landroid/graphics/Matrix;->()V iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; .line 112 new-instance p1, Landroid/graphics/Matrix; invoke-direct {p1}, Landroid/graphics/Matrix;->()V iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->c:Landroid/graphics/Matrix; const/16 p1, 0x9 .line 113 new-array p1, p1, [F iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/high16 p1, 0x3f800000 # 1.0f .line 114 iput p1, p0, Lcom/moji/imageview/TouchImageView;->a:F .line 115 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->l:Landroid/widget/ImageView$ScaleType; if-nez v0, :cond_0 .line 116 sget-object v0, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType; iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->l:Landroid/widget/ImageView$ScaleType; .line 118 :cond_0 iput p1, p0, Lcom/moji/imageview/TouchImageView;->e:F const/high16 p1, 0x40400000 # 3.0f .line 119 iput p1, p0, Lcom/moji/imageview/TouchImageView;->f:F const/high16 p1, 0x3f400000 # 0.75f .line 120 iget v0, p0, Lcom/moji/imageview/TouchImageView;->e:F mul-float v0, v0, p1 iput v0, p0, Lcom/moji/imageview/TouchImageView;->g:F const/high16 p1, 0x3fa00000 # 1.25f .line 121 iget v0, p0, Lcom/moji/imageview/TouchImageView;->f:F mul-float v0, v0, p1 iput v0, p0, Lcom/moji/imageview/TouchImageView;->h:F .line 122 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; invoke-virtual {p0, p1}, Lcom/moji/imageview/TouchImageView;->setImageMatrix(Landroid/graphics/Matrix;)V .line 123 sget-object p1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; invoke-virtual {p0, p1}, Lcom/moji/imageview/TouchImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 124 sget-object p1, Lcom/moji/imageview/TouchImageView$State;->NONE:Lcom/moji/imageview/TouchImageView$State; invoke-direct {p0, p1}, Lcom/moji/imageview/TouchImageView;->setState(Lcom/moji/imageview/TouchImageView$State;)V const/4 p1, 0x0 .line 125 iput-boolean p1, p0, Lcom/moji/imageview/TouchImageView;->n:Z .line 126 new-instance p1, Lcom/moji/imageview/TouchImageView$PrivateOnTouchListener; invoke-direct {p1, p0, v2}, Lcom/moji/imageview/TouchImageView$PrivateOnTouchListener;->(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$1;)V invoke-super {p0, p1}, Landroid/widget/ImageView;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V return-void .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;DFFZ)V .locals 0 .line 31 invoke-direct/range {p0 .. p5}, Lcom/moji/imageview/TouchImageView;->a(DFFZ)V return-void .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;Lcom/moji/imageview/TouchImageView$State;)V .locals 0 .line 31 invoke-direct {p0, p1}, Lcom/moji/imageview/TouchImageView;->setState(Lcom/moji/imageview/TouchImageView$State;)V return-void .end method .method static synthetic a(Lcom/moji/imageview/TouchImageView;Ljava/lang/Runnable;)V .locals 0 .line 31 invoke-direct {p0, p1}, Lcom/moji/imageview/TouchImageView;->a(Ljava/lang/Runnable;)V return-void .end method .method private a(Ljava/lang/Runnable;)V .locals 2 .annotation build Landroid/annotation/TargetApi; value = 0x10 .end annotation .line 1171 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x10 if-lt v0, v1, :cond_0 .line 1172 invoke-virtual {p0, p1}, Lcom/moji/imageview/TouchImageView;->postOnAnimation(Ljava/lang/Runnable;)V goto :goto_0 :cond_0 const-wide/16 v0, 0x10 .line 1175 invoke-virtual {p0, p1, v0, v1}, Lcom/moji/imageview/TouchImageView;->postDelayed(Ljava/lang/Runnable;J)Z :goto_0 return-void .end method .method private b(FFF)F .locals 0 cmpg-float p2, p3, p2 if-gtz p2, :cond_0 const/4 p1, 0x0 return p1 :cond_0 return p1 .end method .method static synthetic b(Lcom/moji/imageview/TouchImageView;)Lcom/moji/imageview/TouchImageView$Fling; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->k:Lcom/moji/imageview/TouchImageView$Fling; return-object p0 .end method .method static synthetic c(Lcom/moji/imageview/TouchImageView;)Lcom/moji/imageview/TouchImageView$State; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->d:Lcom/moji/imageview/TouchImageView$State; return-object p0 .end method .method private c()V .locals 2 .line 201 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; if-eqz v0, :cond_0 iget v0, p0, Lcom/moji/imageview/TouchImageView;->q:I if-eqz v0, :cond_0 iget v0, p0, Lcom/moji/imageview/TouchImageView;->p:I if-eqz v0, :cond_0 .line 202 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 203 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->c:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->setValues([F)V .line 204 iget v0, p0, Lcom/moji/imageview/TouchImageView;->u:F iput v0, p0, Lcom/moji/imageview/TouchImageView;->w:F .line 205 iget v0, p0, Lcom/moji/imageview/TouchImageView;->t:F iput v0, p0, Lcom/moji/imageview/TouchImageView;->v:F .line 206 iget v0, p0, Lcom/moji/imageview/TouchImageView;->q:I iput v0, p0, Lcom/moji/imageview/TouchImageView;->s:I .line 207 iget v0, p0, Lcom/moji/imageview/TouchImageView;->p:I iput v0, p0, Lcom/moji/imageview/TouchImageView;->r:I :cond_0 return-void .end method .method static synthetic d(Lcom/moji/imageview/TouchImageView;)F .locals 0 .line 31 iget p0, p0, Lcom/moji/imageview/TouchImageView;->a:F return p0 .end method .method private d()V .locals 4 .line 363 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 364 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v1, 0x2 aget v0, v0, v1 .line 365 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v2, 0x5 aget v1, v1, v2 .line 367 iget v2, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v2, v2 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v3 invoke-direct {p0, v0, v2, v3}, Lcom/moji/imageview/TouchImageView;->a(FFF)F move-result v0 .line 368 iget v2, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float v2, v2 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result v3 invoke-direct {p0, v1, v2, v3}, Lcom/moji/imageview/TouchImageView;->a(FFF)F move-result v1 const/4 v2, 0x0 cmpl-float v3, v0, v2 if-nez v3, :cond_0 cmpl-float v2, v1, v2 if-eqz v2, :cond_1 .line 371 :cond_0 iget-object v2, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; invoke-virtual {v2, v0, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z :cond_1 return-void .end method .method static synthetic e(Lcom/moji/imageview/TouchImageView;)F .locals 0 .line 31 iget p0, p0, Lcom/moji/imageview/TouchImageView;->e:F return p0 .end method .method private e()V .locals 5 .line 383 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->d()V .line 384 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 385 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v0 iget v1, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v1, v1 const/high16 v2, 0x40000000 # 2.0f cmpg-float v0, v0, v1 if-gez v0, :cond_0 .line 386 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v1, 0x2 iget v3, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v3, v3 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v4 sub-float/2addr v3, v4 div-float/2addr v3, v2 aput v3, v0, v1 .line 389 :cond_0 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result v0 iget v1, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float v1, v1 cmpg-float v0, v0, v1 if-gez v0, :cond_1 .line 390 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v1, 0x5 iget v3, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float v3, v3 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result v4 sub-float/2addr v3, v4 div-float/2addr v3, v2 aput v3, v0, v1 .line 392 :cond_1 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->setValues([F)V return-void .end method .method static synthetic f(Lcom/moji/imageview/TouchImageView;)F .locals 0 .line 31 iget p0, p0, Lcom/moji/imageview/TouchImageView;->f:F return p0 .end method .method private f()V .locals 11 .line 467 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_6 .line 468 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v1 if-eqz v1, :cond_6 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v1 if-nez v1, :cond_0 goto/16 :goto_4 .line 471 :cond_0 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; if-eqz v1, :cond_5 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->c:Landroid/graphics/Matrix; if-nez v1, :cond_1 goto/16 :goto_3 .line 475 :cond_1 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v9 .line 476 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v0 .line 481 iget v1, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v1, v1 int-to-float v2, v9 div-float/2addr v1, v2 .line 482 iget v3, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float v3, v3 int-to-float v4, v0 div-float/2addr v3, v4 .line 484 sget-object v5, Lcom/moji/imageview/TouchImageView$1;->a:[I iget-object v6, p0, Lcom/moji/imageview/TouchImageView;->l:Landroid/widget/ImageView$ScaleType; invoke-virtual {v6}, Landroid/widget/ImageView$ScaleType;->ordinal()I move-result v6 aget v5, v5, v6 const/high16 v6, 0x3f800000 # 1.0f packed-switch v5, :pswitch_data_0 .line 507 new-instance v0, Ljava/lang/UnsupportedOperationException; const-string v1, "TouchImageView does not support FIT_START or FIT_END" invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw v0 .line 494 :pswitch_0 invoke-static {v1, v3}, Ljava/lang/Math;->min(FF)F move-result v1 invoke-static {v6, v1}, Ljava/lang/Math;->min(FF)F move-result v1 move v3, v1 .line 497 :pswitch_1 invoke-static {v1, v3}, Ljava/lang/Math;->min(FF)F move-result v1 goto :goto_0 .line 490 :pswitch_2 invoke-static {v1, v3}, Ljava/lang/Math;->max(FF)F move-result v1 :goto_0 move v3, v1 goto :goto_1 :pswitch_3 const/high16 v1, 0x3f800000 # 1.0f const/high16 v3, 0x3f800000 # 1.0f .line 514 :goto_1 :pswitch_4 iget v5, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v5, v5 mul-float v7, v1, v2 sub-float/2addr v5, v7 .line 515 iget v7, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float v7, v7 mul-float v8, v3, v4 sub-float/2addr v7, v8 .line 516 iget v8, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v8, v8 sub-float/2addr v8, v5 iput v8, p0, Lcom/moji/imageview/TouchImageView;->t:F .line 517 iget v8, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float v8, v8 sub-float/2addr v8, v7 iput v8, p0, Lcom/moji/imageview/TouchImageView;->u:F .line 518 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->a()Z move-result v8 if-nez v8, :cond_2 iget-boolean v8, p0, Lcom/moji/imageview/TouchImageView;->m:Z if-nez v8, :cond_2 .line 522 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; invoke-virtual {v0, v1, v3}, Landroid/graphics/Matrix;->setScale(FF)V .line 523 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; const/high16 v1, 0x40000000 # 2.0f div-float/2addr v5, v1 div-float/2addr v7, v1 invoke-virtual {v0, v5, v7}, Landroid/graphics/Matrix;->postTranslate(FF)Z .line 524 iput v6, p0, Lcom/moji/imageview/TouchImageView;->a:F goto :goto_2 .line 532 :cond_2 iget v1, p0, Lcom/moji/imageview/TouchImageView;->v:F const/4 v3, 0x0 cmpl-float v1, v1, v3 if-eqz v1, :cond_3 iget v1, p0, Lcom/moji/imageview/TouchImageView;->w:F cmpl-float v1, v1, v3 if-nez v1, :cond_4 .line 533 :cond_3 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->c()V .line 536 :cond_4 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->c:Landroid/graphics/Matrix; iget-object v3, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v1, v3}, Landroid/graphics/Matrix;->getValues([F)V .line 541 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v3, 0x0 iget v5, p0, Lcom/moji/imageview/TouchImageView;->t:F div-float/2addr v5, v2 iget v2, p0, Lcom/moji/imageview/TouchImageView;->a:F mul-float v5, v5, v2 aput v5, v1, v3 .line 542 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v2, 0x4 iget v3, p0, Lcom/moji/imageview/TouchImageView;->u:F div-float/2addr v3, v4 iget v4, p0, Lcom/moji/imageview/TouchImageView;->a:F mul-float v3, v3, v4 aput v3, v1, v2 .line 547 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v2, 0x2 aget v4, v1, v2 .line 548 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v2, 0x5 aget v10, v1, v2 .line 553 iget v1, p0, Lcom/moji/imageview/TouchImageView;->v:F iget v2, p0, Lcom/moji/imageview/TouchImageView;->a:F mul-float v5, v1, v2 .line 554 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v6 const/4 v3, 0x2 .line 555 iget v7, p0, Lcom/moji/imageview/TouchImageView;->r:I iget v8, p0, Lcom/moji/imageview/TouchImageView;->p:I move-object v2, p0 invoke-direct/range {v2 .. v9}, Lcom/moji/imageview/TouchImageView;->a(IFFFIII)V .line 560 iget v1, p0, Lcom/moji/imageview/TouchImageView;->w:F iget v2, p0, Lcom/moji/imageview/TouchImageView;->a:F mul-float v4, v1, v2 .line 561 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result v5 const/4 v2, 0x5 .line 562 iget v6, p0, Lcom/moji/imageview/TouchImageView;->s:I iget v7, p0, Lcom/moji/imageview/TouchImageView;->q:I move-object v1, p0 move v3, v10 move v8, v0 invoke-direct/range {v1 .. v8}, Lcom/moji/imageview/TouchImageView;->a(IFFFIII)V .line 567 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->setValues([F)V .line 569 :goto_2 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->d()V .line 570 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; invoke-virtual {p0, v0}, Lcom/moji/imageview/TouchImageView;->setImageMatrix(Landroid/graphics/Matrix;)V return-void :cond_5 :goto_3 return-void :cond_6 :goto_4 return-void nop :pswitch_data_0 .packed-switch 0x1 :pswitch_3 :pswitch_2 :pswitch_0 :pswitch_1 :pswitch_4 .end packed-switch .end method .method static synthetic g(Lcom/moji/imageview/TouchImageView;)Landroid/view/ScaleGestureDetector; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->x:Landroid/view/ScaleGestureDetector; return-object p0 .end method .method private getImageHeight()F .locals 2 .line 426 iget v0, p0, Lcom/moji/imageview/TouchImageView;->u:F iget v1, p0, Lcom/moji/imageview/TouchImageView;->a:F mul-float v0, v0, v1 return v0 .end method .method private getImageWidth()F .locals 2 .line 422 iget v0, p0, Lcom/moji/imageview/TouchImageView;->t:F iget v1, p0, Lcom/moji/imageview/TouchImageView;->a:F mul-float v0, v0, v1 return v0 .end method .method static synthetic h(Lcom/moji/imageview/TouchImageView;)Landroid/view/GestureDetector; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->y:Landroid/view/GestureDetector; return-object p0 .end method .method static synthetic i(Lcom/moji/imageview/TouchImageView;)I .locals 0 .line 31 iget p0, p0, Lcom/moji/imageview/TouchImageView;->p:I return p0 .end method .method static synthetic j(Lcom/moji/imageview/TouchImageView;)F .locals 0 .line 31 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result p0 return p0 .end method .method static synthetic k(Lcom/moji/imageview/TouchImageView;)I .locals 0 .line 31 iget p0, p0, Lcom/moji/imageview/TouchImageView;->q:I return p0 .end method .method static synthetic l(Lcom/moji/imageview/TouchImageView;)F .locals 0 .line 31 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result p0 return p0 .end method .method static synthetic m(Lcom/moji/imageview/TouchImageView;)Landroid/graphics/Matrix; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; return-object p0 .end method .method static synthetic n(Lcom/moji/imageview/TouchImageView;)V .locals 0 .line 31 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->d()V return-void .end method .method static synthetic o(Lcom/moji/imageview/TouchImageView;)Landroid/view/View$OnTouchListener; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->A:Landroid/view/View$OnTouchListener; return-object p0 .end method .method static synthetic p(Lcom/moji/imageview/TouchImageView;)Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->B:Lcom/moji/imageview/TouchImageView$OnTouchImageViewListener; return-object p0 .end method .method static synthetic q(Lcom/moji/imageview/TouchImageView;)V .locals 0 .line 31 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->e()V return-void .end method .method static synthetic r(Lcom/moji/imageview/TouchImageView;)Landroid/content/Context; .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->j:Landroid/content/Context; return-object p0 .end method .method static synthetic s(Lcom/moji/imageview/TouchImageView;)[F .locals 0 .line 31 iget-object p0, p0, Lcom/moji/imageview/TouchImageView;->i:[F return-object p0 .end method .method private setState(Lcom/moji/imageview/TouchImageView$State;)V .locals 0 .line 640 iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->d:Lcom/moji/imageview/TouchImageView$State; return-void .end method # virtual methods .method public a(FFFLandroid/widget/ImageView$ScaleType;)V .locals 7 .line 309 iget-boolean v0, p0, Lcom/moji/imageview/TouchImageView;->n:Z if-nez v0, :cond_0 .line 310 new-instance v0, Lcom/moji/imageview/TouchImageView$ZoomVariables; move-object v1, v0 move-object v2, p0 move v3, p1 move v4, p2 move v5, p3 move-object v6, p4 invoke-direct/range {v1 .. v6}, Lcom/moji/imageview/TouchImageView$ZoomVariables;->(Lcom/moji/imageview/TouchImageView;FFFLandroid/widget/ImageView$ScaleType;)V iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; return-void .line 314 :cond_0 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->l:Landroid/widget/ImageView$ScaleType; if-eq p4, v0, :cond_1 .line 315 invoke-virtual {p0, p4}, Lcom/moji/imageview/TouchImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V .line 317 :cond_1 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->b()V float-to-double v2, p1 .line 318 iget p1, p0, Lcom/moji/imageview/TouchImageView;->p:I const/4 p4, 0x2 div-int/2addr p1, p4 int-to-float v4, p1 iget p1, p0, Lcom/moji/imageview/TouchImageView;->q:I div-int/2addr p1, p4 int-to-float v5, p1 const/4 v6, 0x1 move-object v1, p0 invoke-direct/range {v1 .. v6}, Lcom/moji/imageview/TouchImageView;->a(DFFZ)V .line 319 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->getValues([F)V .line 320 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v0 mul-float p2, p2, v0 iget v0, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v0, v0 const/high16 v1, 0x3f000000 # 0.5f mul-float v0, v0, v1 sub-float/2addr p2, v0 neg-float p2, p2 aput p2, p1, p4 .line 321 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 p2, 0x5 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageHeight()F move-result p4 mul-float p3, p3, p4 iget p4, p0, Lcom/moji/imageview/TouchImageView;->q:I int-to-float p4, p4 mul-float p4, p4, v1 sub-float/2addr p3, p4 neg-float p3, p3 aput p3, p1, p2 .line 322 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object p2, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {p1, p2}, Landroid/graphics/Matrix;->setValues([F)V .line 323 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->d()V .line 324 iget-object p1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; invoke-virtual {p0, p1}, Lcom/moji/imageview/TouchImageView;->setImageMatrix(Landroid/graphics/Matrix;)V return-void .end method .method public a()Z .locals 2 .line 192 iget v0, p0, Lcom/moji/imageview/TouchImageView;->a:F const/high16 v1, 0x3f800000 # 1.0f cmpl-float v0, v0, v1 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method public b()V .locals 1 const/high16 v0, 0x3f800000 # 1.0f .line 276 iput v0, p0, Lcom/moji/imageview/TouchImageView;->a:F .line 277 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->f()V return-void .end method .method public canScrollHorizontally(I)Z .locals 4 .line 645 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V .line 646 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F const/4 v1, 0x2 aget v0, v0, v1 .line 648 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v1 iget v2, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v2, v2 const/4 v3, 0x0 cmpg-float v1, v1, v2 if-gez v1, :cond_0 return v3 :cond_0 const/high16 v1, -0x40800000 # -1.0f cmpl-float v1, v0, v1 if-ltz v1, :cond_1 if-gez p1, :cond_1 return v3 .line 654 :cond_1 invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 iget v1, p0, Lcom/moji/imageview/TouchImageView;->p:I int-to-float v1, v1 add-float/2addr v0, v1 const/high16 v1, 0x3f800000 # 1.0f add-float/2addr v0, v1 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->getImageWidth()F move-result v1 cmpl-float v0, v0, v1 if-ltz v0, :cond_2 if-lez p1, :cond_2 return v3 :cond_2 const/4 p1, 0x1 return p1 .end method .method public getCurrentZoom()F .locals 1 .line 269 iget v0, p0, Lcom/moji/imageview/TouchImageView;->a:F return v0 .end method .method public getScaleType()Landroid/widget/ImageView$ScaleType; .locals 1 .line 184 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->l:Landroid/widget/ImageView$ScaleType; return-object v0 .end method .method public getScrollPosition()Landroid/graphics/PointF; .locals 5 .line 345 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 if-nez v0, :cond_0 const/4 v0, 0x0 return-object v0 .line 349 :cond_0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v1 .line 350 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v0 .line 352 iget v2, p0, Lcom/moji/imageview/TouchImageView;->p:I div-int/lit8 v2, v2, 0x2 int-to-float v2, v2 iget v3, p0, Lcom/moji/imageview/TouchImageView;->q:I div-int/lit8 v3, v3, 0x2 int-to-float v3, v3 const/4 v4, 0x1 invoke-direct {p0, v2, v3, v4}, Lcom/moji/imageview/TouchImageView;->a(FFZ)Landroid/graphics/PointF; move-result-object v2 .line 353 iget v3, v2, Landroid/graphics/PointF;->x:F int-to-float v1, v1 div-float/2addr v3, v1 iput v3, v2, Landroid/graphics/PointF;->x:F .line 354 iget v1, v2, Landroid/graphics/PointF;->y:F int-to-float v0, v0 div-float/2addr v1, v0 iput v1, v2, Landroid/graphics/PointF;->y:F return-object v2 .end method .method public onConfigurationChanged(Landroid/content/res/Configuration;)V .locals 0 .line 258 invoke-super {p0, p1}, Landroid/widget/ImageView;->onConfigurationChanged(Landroid/content/res/Configuration;)V .line 259 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->c()V return-void .end method .method protected onDraw(Landroid/graphics/Canvas;)V .locals 4 const/4 v0, 0x1 .line 247 iput-boolean v0, p0, Lcom/moji/imageview/TouchImageView;->n:Z .line 248 iput-boolean v0, p0, Lcom/moji/imageview/TouchImageView;->m:Z .line 249 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; if-eqz v0, :cond_0 .line 250 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; iget v0, v0, Lcom/moji/imageview/TouchImageView$ZoomVariables;->a:F iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; iget v1, v1, Lcom/moji/imageview/TouchImageView$ZoomVariables;->b:F iget-object v2, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; iget v2, v2, Lcom/moji/imageview/TouchImageView$ZoomVariables;->c:F iget-object v3, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; iget-object v3, v3, Lcom/moji/imageview/TouchImageView$ZoomVariables;->d:Landroid/widget/ImageView$ScaleType; invoke-virtual {p0, v0, v1, v2, v3}, Lcom/moji/imageview/TouchImageView;->a(FFFLandroid/widget/ImageView$ScaleType;)V const/4 v0, 0x0 .line 251 iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->o:Lcom/moji/imageview/TouchImageView$ZoomVariables; .line 253 :cond_0 invoke-super {p0, p1}, Landroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V return-void .end method .method protected onMeasure(II)V .locals 4 .line 431 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_1 .line 432 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v1 if-eqz v1, :cond_1 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v1 if-nez v1, :cond_0 goto :goto_0 .line 441 :cond_0 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v1 .line 442 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v0 .line 443 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v2 .line 444 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result p1 .line 445 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v3 .line 446 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result p2 .line 447 invoke-direct {p0, p1, v2, v1}, Lcom/moji/imageview/TouchImageView;->a(III)I move-result p1 iput p1, p0, Lcom/moji/imageview/TouchImageView;->p:I .line 448 invoke-direct {p0, p2, v3, v0}, Lcom/moji/imageview/TouchImageView;->a(III)I move-result p1 iput p1, p0, Lcom/moji/imageview/TouchImageView;->q:I .line 453 iget p1, p0, Lcom/moji/imageview/TouchImageView;->p:I iget p2, p0, Lcom/moji/imageview/TouchImageView;->q:I invoke-virtual {p0, p1, p2}, Lcom/moji/imageview/TouchImageView;->setMeasuredDimension(II)V .line 458 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->f()V return-void .line 433 :cond_1 :goto_0 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 iget v0, v0, Landroid/view/ViewGroup$LayoutParams;->width:I const/4 v1, -0x1 if-ne v0, v1, :cond_2 .line 434 invoke-virtual {p0}, Lcom/moji/imageview/TouchImageView;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams; move-result-object v0 iget v0, v0, Landroid/view/ViewGroup$LayoutParams;->height:I if-ne v0, v1, :cond_2 .line 435 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->p:I .line 436 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->q:I .line 438 :cond_2 invoke-super {p0, p1, p2}, Landroid/widget/ImageView;->onMeasure(II)V return-void .end method .method public onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 2 .line 228 instance-of v0, p1, Landroid/os/Bundle; if-eqz v0, :cond_0 .line 229 check-cast p1, Landroid/os/Bundle; const-string v0, "saveScale" .line 230 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->a:F const-string v0, "matrix" .line 231 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloatArray(Ljava/lang/String;)[F move-result-object v0 iput-object v0, p0, Lcom/moji/imageview/TouchImageView;->i:[F .line 232 iget-object v0, p0, Lcom/moji/imageview/TouchImageView;->c:Landroid/graphics/Matrix; iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->setValues([F)V const-string v0, "matchViewHeight" .line 233 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->w:F const-string v0, "matchViewWidth" .line 234 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->v:F const-string v0, "viewHeight" .line 235 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->s:I const-string v0, "viewWidth" .line 236 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/imageview/TouchImageView;->r:I const-string v0, "imageRendered" .line 237 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getBoolean(Ljava/lang/String;)Z move-result v0 iput-boolean v0, p0, Lcom/moji/imageview/TouchImageView;->m:Z const-string v0, "instanceState" .line 238 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object p1 invoke-super {p0, p1}, Landroid/widget/ImageView;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .line 242 :cond_0 invoke-super {p0, p1}, Landroid/widget/ImageView;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .end method .method public onSaveInstanceState()Landroid/os/Parcelable; .locals 3 .line 213 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V const-string v1, "instanceState" .line 214 invoke-super {p0}, Landroid/widget/ImageView;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V const-string v1, "saveScale" .line 215 iget v2, p0, Lcom/moji/imageview/TouchImageView;->a:F invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "matchViewHeight" .line 216 iget v2, p0, Lcom/moji/imageview/TouchImageView;->u:F invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "matchViewWidth" .line 217 iget v2, p0, Lcom/moji/imageview/TouchImageView;->t:F invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "viewWidth" .line 218 iget v2, p0, Lcom/moji/imageview/TouchImageView;->p:I invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "viewHeight" .line 219 iget v2, p0, Lcom/moji/imageview/TouchImageView;->q:I invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V .line 220 iget-object v1, p0, Lcom/moji/imageview/TouchImageView;->b:Landroid/graphics/Matrix; iget-object v2, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v1, v2}, Landroid/graphics/Matrix;->getValues([F)V const-string v1, "matrix" .line 221 iget-object v2, p0, Lcom/moji/imageview/TouchImageView;->i:[F invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloatArray(Ljava/lang/String;[F)V const-string v1, "imageRendered" .line 222 iget-boolean v2, p0, Lcom/moji/imageview/TouchImageView;->m:Z invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putBoolean(Ljava/lang/String;Z)V return-object v0 .end method .method public setImageBitmap(Landroid/graphics/Bitmap;)V .locals 0 .line 143 invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V .line 144 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->c()V .line 145 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->f()V return-void .end method .method public setImageDrawable(Landroid/graphics/drawable/Drawable;)V .locals 0 .line 150 invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V .line 151 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->c()V .line 152 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->f()V return-void .end method .method public setImageResource(I)V .locals 0 .line 136 invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageResource(I)V .line 137 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->c()V .line 138 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->f()V return-void .end method .method public setImageURI(Landroid/net/Uri;)V .locals 0 .line 157 invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V .line 158 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->c()V .line 159 invoke-direct {p0}, Lcom/moji/imageview/TouchImageView;->f()V return-void .end method .method public setOnTouchListener(Landroid/view/View$OnTouchListener;)V .locals 0 .line 131 iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->A:Landroid/view/View$OnTouchListener; return-void .end method .method public setScaleType(Landroid/widget/ImageView$ScaleType;)V .locals 1 .line 164 sget-object v0, Landroid/widget/ImageView$ScaleType;->FIT_START:Landroid/widget/ImageView$ScaleType; if-eq p1, v0, :cond_2 sget-object v0, Landroid/widget/ImageView$ScaleType;->FIT_END:Landroid/widget/ImageView$ScaleType; if-eq p1, v0, :cond_2 .line 167 sget-object v0, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; if-ne p1, v0, :cond_0 .line 168 sget-object p1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType; invoke-super {p0, p1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V goto :goto_0 .line 171 :cond_0 iput-object p1, p0, Lcom/moji/imageview/TouchImageView;->l:Landroid/widget/ImageView$ScaleType; .line 172 iget-boolean p1, p0, Lcom/moji/imageview/TouchImageView;->n:Z if-eqz p1, :cond_1 .line 177 invoke-virtual {p0, p0}, Lcom/moji/imageview/TouchImageView;->setZoom(Lcom/moji/imageview/TouchImageView;)V :cond_1 :goto_0 return-void .line 165 :cond_2 new-instance p1, Ljava/lang/UnsupportedOperationException; const-string v0, "TouchImageView does not support FIT_START or FIT_END" invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;->(Ljava/lang/String;)V throw p1 .end method .method public setZoom(Lcom/moji/imageview/TouchImageView;)V .locals 3 .line 333 invoke-virtual {p1}, Lcom/moji/imageview/TouchImageView;->getScrollPosition()Landroid/graphics/PointF; move-result-object v0 .line 334 invoke-virtual {p1}, Lcom/moji/imageview/TouchImageView;->getCurrentZoom()F move-result v1 iget v2, v0, Landroid/graphics/PointF;->x:F iget v0, v0, Landroid/graphics/PointF;->y:F invoke-virtual {p1}, Lcom/moji/imageview/TouchImageView;->getScaleType()Landroid/widget/ImageView$ScaleType; move-result-object p1 invoke-virtual {p0, v1, v2, v0, p1}, Lcom/moji/imageview/TouchImageView;->a(FFFLandroid/widget/ImageView$ScaleType;)V return-void .end method