i.smali
.class public final Lcom/github/chrisbanes/photoview/i;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/view/View$OnLayoutChangeListener;
.implements Landroid/view/View$OnTouchListener;
.implements Lcom/github/chrisbanes/photoview/c;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/github/chrisbanes/photoview/i$b;,
Lcom/github/chrisbanes/photoview/i$a;
}
.end annotation
# static fields
.field private static s:F = 3.0f
.field private static t:F = 1.75f
.field private static u:F = 1.0f
.field private static v:I = 0xc8
.field private static w:I = 0x1
# instance fields
.field private final A:Landroid/graphics/Matrix;
.field private final B:Landroid/graphics/RectF;
.field private final C:[F
.field private D:Lcom/github/chrisbanes/photoview/i$b;
.field private E:I
.field private F:F
.field a:I
.field b:F
.field c:F
.field d:F
.field e:Z
.field f:Landroid/widget/ImageView;
.field g:Landroid/view/GestureDetector;
.field final h:Landroid/graphics/Matrix;
.field final i:Landroid/graphics/Matrix;
.field j:Lcom/github/chrisbanes/photoview/d;
.field k:Lcom/github/chrisbanes/photoview/f;
.field l:Lcom/github/chrisbanes/photoview/e;
.field m:Landroid/view/View$OnClickListener;
.field n:Landroid/view/View$OnLongClickListener;
.field o:Lcom/github/chrisbanes/photoview/g;
.field p:Lcom/github/chrisbanes/photoview/h;
.field q:Z
.field r:Landroid/widget/ImageView$ScaleType;
.field private x:Landroid/view/animation/Interpolator;
.field private y:Z
.field private z:Lcom/github/chrisbanes/photoview/b;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Landroid/widget/ImageView;)V
.registers 4
.line 93
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 55
new-instance v0, Landroid/view/animation/AccelerateDecelerateInterpolator;
invoke-direct {v0}, Landroid/view/animation/AccelerateDecelerateInterpolator;-><init>()V
iput-object v0, p0, Lcom/github/chrisbanes/photoview/i;->x:Landroid/view/animation/Interpolator;
.line 56
sget v0, Lcom/github/chrisbanes/photoview/i;->v:I
iput v0, p0, Lcom/github/chrisbanes/photoview/i;->a:I
.line 57
sget v0, Lcom/github/chrisbanes/photoview/i;->u:F
iput v0, p0, Lcom/github/chrisbanes/photoview/i;->b:F
.line 58
sget v0, Lcom/github/chrisbanes/photoview/i;->t:F
iput v0, p0, Lcom/github/chrisbanes/photoview/i;->c:F
.line 59
sget v0, Lcom/github/chrisbanes/photoview/i;->s:F
iput v0, p0, Lcom/github/chrisbanes/photoview/i;->d:F
const/4 v0, 0x1
.line 61
iput-boolean v0, p0, Lcom/github/chrisbanes/photoview/i;->e:Z
const/4 v1, 0x0
.line 62
iput-boolean v1, p0, Lcom/github/chrisbanes/photoview/i;->y:Z
.line 71
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
.line 72
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, p0, Lcom/github/chrisbanes/photoview/i;->h:Landroid/graphics/Matrix;
.line 73
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
.line 74
new-instance v1, Landroid/graphics/RectF;
invoke-direct {v1}, Landroid/graphics/RectF;-><init>()V
iput-object v1, p0, Lcom/github/chrisbanes/photoview/i;->B:Landroid/graphics/RectF;
const/16 v1, 0x9
new-array v1, v1, [F
.line 75
iput-object v1, p0, Lcom/github/chrisbanes/photoview/i;->C:[F
const/4 v1, 0x2
.line 87
iput v1, p0, Lcom/github/chrisbanes/photoview/i;->E:I
.line 90
iput-boolean v0, p0, Lcom/github/chrisbanes/photoview/i;->q:Z
.line 91
sget-object v0, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;
iput-object v0, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
.line 94
iput-object p1, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
.line 95
invoke-virtual {p1, p0}, Landroid/widget/ImageView;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
.line 96
invoke-virtual {p1, p0}, Landroid/widget/ImageView;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
.line 98
invoke-virtual {p1}, Landroid/widget/ImageView;->isInEditMode()Z
move-result v0
if-eqz v0, :cond_5a
return-void
:cond_5a
const/4 v0, 0x0
.line 102
iput v0, p0, Lcom/github/chrisbanes/photoview/i;->F:F
.line 105
new-instance v0, Lcom/github/chrisbanes/photoview/b;
invoke-virtual {p1}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, v1, p0}, Lcom/github/chrisbanes/photoview/b;-><init>(Landroid/content/Context;Lcom/github/chrisbanes/photoview/c;)V
iput-object v0, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
.line 107
new-instance v0, Landroid/view/GestureDetector;
invoke-virtual {p1}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object p1
new-instance v1, Lcom/github/chrisbanes/photoview/i$1;
invoke-direct {v1, p0}, Lcom/github/chrisbanes/photoview/i$1;-><init>(Lcom/github/chrisbanes/photoview/i;)V
invoke-direct {v0, p1, v1}, Landroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
iput-object v0, p0, Lcom/github/chrisbanes/photoview/i;->g:Landroid/view/GestureDetector;
.line 136
new-instance p1, Lcom/github/chrisbanes/photoview/i$2;
invoke-direct {p1, p0}, Lcom/github/chrisbanes/photoview/i$2;-><init>(Lcom/github/chrisbanes/photoview/i;)V
invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->setOnDoubleTapListener(Landroid/view/GestureDetector$OnDoubleTapListener;)V
return-void
.end method
.method private a(Landroid/graphics/Matrix;I)F
.registers 4
.line 530
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->C:[F
invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->getValues([F)V
.line 531
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->C:[F
aget p1, p1, p2
return p1
.end method
.method private static a(Landroid/widget/ImageView;)I
.registers 3
.line 710
invoke-virtual {p0}, Landroid/widget/ImageView;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroid/widget/ImageView;->getPaddingLeft()I
move-result v1
sub-int/2addr v0, v1
invoke-virtual {p0}, Landroid/widget/ImageView;->getPaddingRight()I
move-result p0
sub-int/2addr v0, p0
return v0
.end method
.method static synthetic a(Lcom/github/chrisbanes/photoview/i;)Landroid/view/View$OnLongClickListener;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->n:Landroid/view/View$OnLongClickListener;
return-object p0
.end method
.method private a(Landroid/graphics/Matrix;)V
.registers 3
.line 545
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
.line 548
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->j:Lcom/github/chrisbanes/photoview/d;
if-eqz v0, :cond_c
.line 549
invoke-direct {p0, p1}, Lcom/github/chrisbanes/photoview/i;->b(Landroid/graphics/Matrix;)Landroid/graphics/RectF;
:cond_c
return-void
.end method
.method private a(Landroid/graphics/drawable/Drawable;)V
.registers 10
if-nez p1, :cond_3
return-void
.line 592
:cond_3
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-static {v0}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/widget/ImageView;)I
move-result v0
int-to-float v0, v0
.line 593
iget-object v1, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-static {v1}, Lcom/github/chrisbanes/photoview/i;->b(Landroid/widget/ImageView;)I
move-result v1
int-to-float v1, v1
.line 594
invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v2
.line 595
invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result p1
.line 597
iget-object v3, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
invoke-virtual {v3}, Landroid/graphics/Matrix;->reset()V
int-to-float v2, v2
div-float v3, v0, v2
int-to-float p1, p1
div-float v4, v1, p1
.line 602
iget-object v5, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
sget-object v6, Landroid/widget/ImageView$ScaleType;->CENTER:Landroid/widget/ImageView$ScaleType;
const/high16 v7, 0x40000000 # 2.0f
if-ne v5, v6, :cond_37
.line 603
iget-object v3, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
sub-float/2addr v0, v2
div-float/2addr v0, v7
sub-float/2addr v1, p1
div-float/2addr v1, v7
invoke-virtual {v3, v0, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
goto/16 :goto_c5
.line 606
:cond_37
iget-object v5, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
sget-object v6, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType;
if-ne v5, v6, :cond_55
.line 607
invoke-static {v3, v4}, Ljava/lang/Math;->max(FF)F
move-result v3
.line 608
iget-object v4, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
invoke-virtual {v4, v3, v3}, Landroid/graphics/Matrix;->postScale(FF)Z
.line 609
iget-object v4, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
mul-float v2, v2, v3
sub-float/2addr v0, v2
div-float/2addr v0, v7
mul-float p1, p1, v3
sub-float/2addr v1, p1
div-float/2addr v1, v7
invoke-virtual {v4, v0, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
goto/16 :goto_c5
.line 612
:cond_55
iget-object v5, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
sget-object v6, Landroid/widget/ImageView$ScaleType;->CENTER_INSIDE:Landroid/widget/ImageView$ScaleType;
if-ne v5, v6, :cond_78
const/high16 v5, 0x3f800000 # 1.0f
.line 613
invoke-static {v3, v4}, Ljava/lang/Math;->min(FF)F
move-result v3
invoke-static {v5, v3}, Ljava/lang/Math;->min(FF)F
move-result v3
.line 614
iget-object v4, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
invoke-virtual {v4, v3, v3}, Landroid/graphics/Matrix;->postScale(FF)Z
.line 615
iget-object v4, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
mul-float v2, v2, v3
sub-float/2addr v0, v2
div-float/2addr v0, v7
mul-float p1, p1, v3
sub-float/2addr v1, p1
div-float/2addr v1, v7
invoke-virtual {v4, v0, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
goto :goto_c5
.line 619
:cond_78
new-instance v3, Landroid/graphics/RectF;
const/4 v4, 0x0
invoke-direct {v3, v4, v4, v2, p1}, Landroid/graphics/RectF;-><init>(FFFF)V
.line 620
new-instance v5, Landroid/graphics/RectF;
invoke-direct {v5, v4, v4, v0, v1}, Landroid/graphics/RectF;-><init>(FFFF)V
.line 622
iget v0, p0, Lcom/github/chrisbanes/photoview/i;->F:F
float-to-int v0, v0
rem-int/lit16 v0, v0, 0xb4
if-eqz v0, :cond_8f
.line 623
new-instance v3, Landroid/graphics/RectF;
invoke-direct {v3, v4, v4, p1, v2}, Landroid/graphics/RectF;-><init>(FFFF)V
.line 626
:cond_8f
sget-object p1, Lcom/github/chrisbanes/photoview/i$3;->a:[I
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0}, Landroid/widget/ImageView$ScaleType;->ordinal()I
move-result v0
aget p1, p1, v0
const/4 v0, 0x1
if-eq p1, v0, :cond_be
const/4 v0, 0x2
if-eq p1, v0, :cond_b6
const/4 v0, 0x3
if-eq p1, v0, :cond_ae
const/4 v0, 0x4
if-eq p1, v0, :cond_a6
goto :goto_c5
.line 640
:cond_a6
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
sget-object v0, Landroid/graphics/Matrix$ScaleToFit;->FILL:Landroid/graphics/Matrix$ScaleToFit;
invoke-virtual {p1, v3, v5, v0}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z
goto :goto_c5
.line 636
:cond_ae
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
sget-object v0, Landroid/graphics/Matrix$ScaleToFit;->END:Landroid/graphics/Matrix$ScaleToFit;
invoke-virtual {p1, v3, v5, v0}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z
goto :goto_c5
.line 632
:cond_b6
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
sget-object v0, Landroid/graphics/Matrix$ScaleToFit;->START:Landroid/graphics/Matrix$ScaleToFit;
invoke-virtual {p1, v3, v5, v0}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z
goto :goto_c5
.line 628
:cond_be
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
sget-object v0, Landroid/graphics/Matrix$ScaleToFit;->CENTER:Landroid/graphics/Matrix$ScaleToFit;
invoke-virtual {p1, v3, v5, v0}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z
.line 648
:goto_c5
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->h()V
return-void
.end method
.method static synthetic a(Lcom/github/chrisbanes/photoview/i;Landroid/graphics/Matrix;)V
.registers 2
.line 40
invoke-direct {p0, p1}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/Matrix;)V
return-void
.end method
.method private static b(Landroid/widget/ImageView;)I
.registers 3
.line 714
invoke-virtual {p0}, Landroid/widget/ImageView;->getHeight()I
move-result v0
invoke-virtual {p0}, Landroid/widget/ImageView;->getPaddingTop()I
move-result v1
sub-int/2addr v0, v1
invoke-virtual {p0}, Landroid/widget/ImageView;->getPaddingBottom()I
move-result p0
sub-int/2addr v0, p0
return v0
.end method
.method private b(Landroid/graphics/Matrix;)Landroid/graphics/RectF;
.registers 6
.line 572
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-virtual {v0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_20
.line 574
iget-object v1, p0, Lcom/github/chrisbanes/photoview/i;->B:Landroid/graphics/RectF;
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v2
int-to-float v2, v2
.line 575
invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v0
int-to-float v0, v0
const/4 v3, 0x0
.line 574
invoke-virtual {v1, v3, v3, v2, v0}, Landroid/graphics/RectF;->set(FFFF)V
.line 576
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->B:Landroid/graphics/RectF;
invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
.line 577
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->B:Landroid/graphics/RectF;
return-object p1
:cond_20
const/4 p1, 0x0
return-object p1
.end method
.method static synthetic b(Lcom/github/chrisbanes/photoview/i;)Landroid/widget/ImageView;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
return-object p0
.end method
.method static synthetic c(Lcom/github/chrisbanes/photoview/i;)Lcom/github/chrisbanes/photoview/h;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->p:Lcom/github/chrisbanes/photoview/h;
return-object p0
.end method
.method static synthetic d(Lcom/github/chrisbanes/photoview/i;)Landroid/view/View$OnClickListener;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->m:Landroid/view/View$OnClickListener;
return-object p0
.end method
.method static synthetic e()F
.registers 1
.line 40
sget v0, Lcom/github/chrisbanes/photoview/i;->u:F
return v0
.end method
.method static synthetic e(Lcom/github/chrisbanes/photoview/i;)Lcom/github/chrisbanes/photoview/f;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->k:Lcom/github/chrisbanes/photoview/f;
return-object p0
.end method
.method static synthetic f()I
.registers 1
.line 40
sget v0, Lcom/github/chrisbanes/photoview/i;->w:I
return v0
.end method
.method static synthetic f(Lcom/github/chrisbanes/photoview/i;)Lcom/github/chrisbanes/photoview/e;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->l:Lcom/github/chrisbanes/photoview/e;
return-object p0
.end method
.method static synthetic g(Lcom/github/chrisbanes/photoview/i;)I
.registers 1
.line 40
iget p0, p0, Lcom/github/chrisbanes/photoview/i;->a:I
return p0
.end method
.method private g()Landroid/graphics/Matrix;
.registers 3
.line 509
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->h:Landroid/graphics/Matrix;
iget-object v1, p0, Lcom/github/chrisbanes/photoview/i;->A:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 510
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->h:Landroid/graphics/Matrix;
iget-object v1, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->postConcat(Landroid/graphics/Matrix;)Z
.line 511
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->h:Landroid/graphics/Matrix;
return-object v0
.end method
.method static synthetic h(Lcom/github/chrisbanes/photoview/i;)Landroid/view/animation/Interpolator;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->x:Landroid/view/animation/Interpolator;
return-object p0
.end method
.method private h()V
.registers 2
.line 538
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
invoke-virtual {v0}, Landroid/graphics/Matrix;->reset()V
.line 539
iget v0, p0, Lcom/github/chrisbanes/photoview/i;->F:F
invoke-virtual {p0, v0}, Lcom/github/chrisbanes/photoview/i;->a(F)V
.line 540
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->g()Landroid/graphics/Matrix;
move-result-object v0
invoke-direct {p0, v0}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/Matrix;)V
.line 541
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->i()Z
return-void
.end method
.method static synthetic i(Lcom/github/chrisbanes/photoview/i;)Landroid/graphics/Matrix;
.registers 1
.line 40
iget-object p0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
return-object p0
.end method
.method private i()Z
.registers 12
.line 653
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->g()Landroid/graphics/Matrix;
move-result-object v0
invoke-direct {p0, v0}, Lcom/github/chrisbanes/photoview/i;->b(Landroid/graphics/Matrix;)Landroid/graphics/RectF;
move-result-object v0
const/4 v1, 0x0
if-nez v0, :cond_c
return v1
.line 658
:cond_c
invoke-virtual {v0}, Landroid/graphics/RectF;->height()F
move-result v2
invoke-virtual {v0}, Landroid/graphics/RectF;->width()F
move-result v3
.line 661
iget-object v4, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-static {v4}, Lcom/github/chrisbanes/photoview/i;->b(Landroid/widget/ImageView;)I
move-result v4
int-to-float v4, v4
const/high16 v5, 0x40000000 # 2.0f
const/4 v6, 0x3
const/4 v7, 0x2
const/4 v8, 0x0
cmpg-float v9, v2, v4
if-gtz v9, :cond_3f
.line 663
sget-object v9, Lcom/github/chrisbanes/photoview/i$3;->a:[I
iget-object v10, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v10}, Landroid/widget/ImageView$ScaleType;->ordinal()I
move-result v10
aget v9, v9, v10
if-eq v9, v7, :cond_3c
if-eq v9, v6, :cond_37
sub-float/2addr v4, v2
div-float/2addr v4, v5
.line 671
iget v2, v0, Landroid/graphics/RectF;->top:F
goto :goto_3a
:cond_37
sub-float/2addr v4, v2
.line 668
iget v2, v0, Landroid/graphics/RectF;->top:F
:goto_3a
sub-float/2addr v4, v2
goto :goto_53
.line 665
:cond_3c
iget v2, v0, Landroid/graphics/RectF;->top:F
goto :goto_47
.line 674
:cond_3f
iget v2, v0, Landroid/graphics/RectF;->top:F
cmpl-float v2, v2, v8
if-lez v2, :cond_49
.line 675
iget v2, v0, Landroid/graphics/RectF;->top:F
:goto_47
neg-float v4, v2
goto :goto_53
.line 676
:cond_49
iget v2, v0, Landroid/graphics/RectF;->bottom:F
cmpg-float v2, v2, v4
if-gez v2, :cond_52
.line 677
iget v2, v0, Landroid/graphics/RectF;->bottom:F
goto :goto_3a
:cond_52
const/4 v4, 0x0
.line 680
:goto_53
iget-object v2, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-static {v2}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/widget/ImageView;)I
move-result v2
int-to-float v2, v2
const/4 v9, 0x1
cmpg-float v10, v3, v2
if-gtz v10, :cond_7f
.line 682
sget-object v1, Lcom/github/chrisbanes/photoview/i$3;->a:[I
iget-object v8, p0, Lcom/github/chrisbanes/photoview/i;->r:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v8}, Landroid/widget/ImageView$ScaleType;->ordinal()I
move-result v8
aget v1, v1, v8
if-eq v1, v7, :cond_78
if-eq v1, v6, :cond_72
sub-float/2addr v2, v3
div-float/2addr v2, v5
.line 690
iget v0, v0, Landroid/graphics/RectF;->left:F
goto :goto_75
:cond_72
sub-float/2addr v2, v3
.line 687
iget v0, v0, Landroid/graphics/RectF;->left:F
:goto_75
sub-float/2addr v2, v0
move v8, v2
goto :goto_7c
.line 684
:cond_78
iget v0, v0, Landroid/graphics/RectF;->left:F
neg-float v0, v0
move v8, v0
.line 693
:goto_7c
iput v7, p0, Lcom/github/chrisbanes/photoview/i;->E:I
goto :goto_9b
.line 694
:cond_7f
iget v3, v0, Landroid/graphics/RectF;->left:F
cmpl-float v3, v3, v8
if-lez v3, :cond_8b
.line 695
iput v1, p0, Lcom/github/chrisbanes/photoview/i;->E:I
.line 696
iget v0, v0, Landroid/graphics/RectF;->left:F
neg-float v8, v0
goto :goto_9b
.line 697
:cond_8b
iget v1, v0, Landroid/graphics/RectF;->right:F
cmpg-float v1, v1, v2
if-gez v1, :cond_98
.line 698
iget v0, v0, Landroid/graphics/RectF;->right:F
sub-float v8, v2, v0
.line 699
iput v9, p0, Lcom/github/chrisbanes/photoview/i;->E:I
goto :goto_9b
:cond_98
const/4 v0, -0x1
.line 701
iput v0, p0, Lcom/github/chrisbanes/photoview/i;->E:I
.line 705
:goto_9b
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
invoke-virtual {v0, v8, v4}, Landroid/graphics/Matrix;->postTranslate(FF)Z
return v9
.end method
.method static synthetic j(Lcom/github/chrisbanes/photoview/i;)Landroid/graphics/Matrix;
.registers 1
.line 40
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->g()Landroid/graphics/Matrix;
move-result-object p0
return-object p0
.end method
# virtual methods
.method public final a()Landroid/graphics/RectF;
.registers 2
.line 214
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->i()Z
.line 215
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->g()Landroid/graphics/Matrix;
move-result-object v0
invoke-direct {p0, v0}, Lcom/github/chrisbanes/photoview/i;->b(Landroid/graphics/Matrix;)Landroid/graphics/RectF;
move-result-object v0
return-object v0
.end method
.method public final a(F)V
.registers 4
.line 247
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
const/high16 v1, 0x43b40000 # 360.0f
rem-float/2addr p1, v1
invoke-virtual {v0, p1}, Landroid/graphics/Matrix;->postRotate(F)Z
.line 248
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->d()V
return-void
.end method
.method public final a(FF)V
.registers 6
.line 273
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
.line 1094
iget-object v0, v0, Lcom/github/chrisbanes/photoview/b;->a:Landroid/view/ScaleGestureDetector;
invoke-virtual {v0}, Landroid/view/ScaleGestureDetector;->isInProgress()Z
move-result v0
if-eqz v0, :cond_b
return-void
.line 277
:cond_b
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
invoke-virtual {v0, p1, p2}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 278
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->d()V
.line 289
iget-object p2, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-virtual {p2}, Landroid/widget/ImageView;->getParent()Landroid/view/ViewParent;
move-result-object p2
.line 290
iget-boolean v0, p0, Lcom/github/chrisbanes/photoview/i;->e:Z
const/4 v1, 0x1
if-eqz v0, :cond_4a
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
.line 2094
iget-object v0, v0, Lcom/github/chrisbanes/photoview/b;->a:Landroid/view/ScaleGestureDetector;
invoke-virtual {v0}, Landroid/view/ScaleGestureDetector;->isInProgress()Z
move-result v0
if-nez v0, :cond_4a
.line 290
iget-boolean v0, p0, Lcom/github/chrisbanes/photoview/i;->y:Z
if-nez v0, :cond_4a
.line 291
iget v0, p0, Lcom/github/chrisbanes/photoview/i;->E:I
const/4 v2, 0x2
if-eq v0, v2, :cond_43
if-nez v0, :cond_39
const/high16 v0, 0x3f800000 # 1.0f
cmpl-float v0, p1, v0
if-gez v0, :cond_43
:cond_39
iget v0, p0, Lcom/github/chrisbanes/photoview/i;->E:I
if-ne v0, v1, :cond_4f
const/high16 v0, -0x40800000 # -1.0f
cmpg-float p1, p1, v0
if-gtz p1, :cond_4f
:cond_43
if-eqz p2, :cond_4f
const/4 p1, 0x0
.line 295
invoke-interface {p2, p1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
return-void
:cond_4a
if-eqz p2, :cond_4f
.line 300
invoke-interface {p2, v1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:cond_4f
return-void
.end method
.method public final a(FFF)V
.registers 7
.line 322
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->b()F
move-result v0
iget v1, p0, Lcom/github/chrisbanes/photoview/i;->d:F
const/high16 v2, 0x3f800000 # 1.0f
cmpg-float v0, v0, v1
if-ltz v0, :cond_10
cmpg-float v0, p1, v2
if-gez v0, :cond_26
:cond_10
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->b()F
move-result v0
iget v1, p0, Lcom/github/chrisbanes/photoview/i;->b:F
cmpl-float v0, v0, v1
if-gtz v0, :cond_1e
cmpl-float v0, p1, v2
if-lez v0, :cond_26
.line 326
:cond_1e
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
invoke-virtual {v0, p1, p1, p2, p3}, Landroid/graphics/Matrix;->postScale(FFFF)Z
.line 327
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->d()V
:cond_26
return-void
.end method
.method public final a(FFFZ)V
.registers 12
.line 448
iget v0, p0, Lcom/github/chrisbanes/photoview/i;->b:F
cmpg-float v0, p1, v0
if-ltz v0, :cond_2b
iget v0, p0, Lcom/github/chrisbanes/photoview/i;->d:F
cmpl-float v0, p1, v0
if-gtz v0, :cond_2b
if-eqz p4, :cond_22
.line 453
iget-object p4, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
new-instance v6, Lcom/github/chrisbanes/photoview/i$a;
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->b()F
move-result v2
move-object v0, v6
move-object v1, p0
move v3, p1
move v4, p2
move v5, p3
invoke-direct/range {v0 .. v5}, Lcom/github/chrisbanes/photoview/i$a;-><init>(Lcom/github/chrisbanes/photoview/i;FFFF)V
invoke-virtual {p4, v6}, Landroid/widget/ImageView;->post(Ljava/lang/Runnable;)Z
return-void
.line 456
:cond_22
iget-object p4, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
invoke-virtual {p4, p1, p1, p2, p3}, Landroid/graphics/Matrix;->setScale(FFFF)V
.line 457
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->d()V
return-void
.line 449
:cond_2b
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Scale must be within the range of minScale and maxScale"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final b()F
.registers 7
.line 264
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
const/4 v1, 0x0
invoke-direct {p0, v0, v1}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/Matrix;I)F
move-result v0
float-to-double v0, v0
const-wide/high16 v2, 0x4000000000000000L # 2.0
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->pow(DD)D
move-result-wide v0
double-to-float v0, v0
iget-object v1, p0, Lcom/github/chrisbanes/photoview/i;->i:Landroid/graphics/Matrix;
const/4 v4, 0x3
invoke-direct {p0, v1, v4}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/Matrix;I)F
move-result v1
float-to-double v4, v1
invoke-static {v4, v5, v2, v3}, Ljava/lang/Math;->pow(DD)D
move-result-wide v1
double-to-float v1, v1
add-float/2addr v0, v1
float-to-double v0, v0
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
double-to-float v0, v0
return v0
.end method
.method public final b(FF)V
.registers 18
move-object v0, p0
.line 308
new-instance v1, Lcom/github/chrisbanes/photoview/i$b;
iget-object v2, v0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-virtual {v2}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
move-result-object v2
invoke-direct {v1, p0, v2}, Lcom/github/chrisbanes/photoview/i$b;-><init>(Lcom/github/chrisbanes/photoview/i;Landroid/content/Context;)V
iput-object v1, v0, Lcom/github/chrisbanes/photoview/i;->D:Lcom/github/chrisbanes/photoview/i$b;
.line 309
iget-object v2, v0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-static {v2}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/widget/ImageView;)I
move-result v2
iget-object v3, v0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
.line 310
invoke-static {v3}, Lcom/github/chrisbanes/photoview/i;->b(Landroid/widget/ImageView;)I
move-result v3
move/from16 v4, p1
float-to-int v7, v4
move/from16 v4, p2
float-to-int v8, v4
.line 2777
iget-object v4, v1, Lcom/github/chrisbanes/photoview/i$b;->d:Lcom/github/chrisbanes/photoview/i;
invoke-virtual {v4}, Lcom/github/chrisbanes/photoview/i;->a()Landroid/graphics/RectF;
move-result-object v4
if-eqz v4, :cond_75
.line 2782
iget v5, v4, Landroid/graphics/RectF;->left:F
neg-float v5, v5
invoke-static {v5}, Ljava/lang/Math;->round(F)I
move-result v5
int-to-float v2, v2
.line 2785
invoke-virtual {v4}, Landroid/graphics/RectF;->width()F
move-result v6
const/4 v9, 0x0
cmpg-float v6, v2, v6
if-gez v6, :cond_45
.line 2787
invoke-virtual {v4}, Landroid/graphics/RectF;->width()F
move-result v6
sub-float/2addr v6, v2
invoke-static {v6}, Ljava/lang/Math;->round(F)I
move-result v2
move v10, v2
const/4 v2, 0x0
goto :goto_47
:cond_45
move v2, v5
move v10, v2
.line 2792
:goto_47
iget v6, v4, Landroid/graphics/RectF;->top:F
neg-float v6, v6
invoke-static {v6}, Ljava/lang/Math;->round(F)I
move-result v6
int-to-float v3, v3
.line 2793
invoke-virtual {v4}, Landroid/graphics/RectF;->height()F
move-result v11
cmpg-float v11, v3, v11
if-gez v11, :cond_63
.line 2795
invoke-virtual {v4}, Landroid/graphics/RectF;->height()F
move-result v4
sub-float/2addr v4, v3
invoke-static {v4}, Ljava/lang/Math;->round(F)I
move-result v3
move v12, v3
const/4 v11, 0x0
goto :goto_65
:cond_63
move v11, v6
move v12, v11
.line 2800
:goto_65
iput v5, v1, Lcom/github/chrisbanes/photoview/i$b;->b:I
.line 2801
iput v6, v1, Lcom/github/chrisbanes/photoview/i$b;->c:I
if-ne v5, v10, :cond_6d
if-eq v6, v12, :cond_75
.line 2805
:cond_6d
iget-object v4, v1, Lcom/github/chrisbanes/photoview/i$b;->a:Landroid/widget/OverScroller;
const/4 v13, 0x0
const/4 v14, 0x0
move v9, v2
invoke-virtual/range {v4 .. v14}, Landroid/widget/OverScroller;->fling(IIIIIIIIII)V
.line 311
:cond_75
iget-object v1, v0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
iget-object v2, v0, Lcom/github/chrisbanes/photoview/i;->D:Lcom/github/chrisbanes/photoview/i$b;
invoke-virtual {v1, v2}, Landroid/widget/ImageView;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method public final c()V
.registers 2
.line 483
iget-boolean v0, p0, Lcom/github/chrisbanes/photoview/i;->q:Z
if-eqz v0, :cond_e
.line 485
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-virtual {v0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
invoke-direct {p0, v0}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/drawable/Drawable;)V
return-void
.line 488
:cond_e
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->h()V
return-void
.end method
.method final d()V
.registers 2
.line 560
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->i()Z
move-result v0
if-eqz v0, :cond_d
.line 561
invoke-direct {p0}, Lcom/github/chrisbanes/photoview/i;->g()Landroid/graphics/Matrix;
move-result-object v0
invoke-direct {p0, v0}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/Matrix;)V
:cond_d
return-void
.end method
.method public final onLayoutChange(Landroid/view/View;IIIIIIII)V
.registers 10
.line 317
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->f:Landroid/widget/ImageView;
invoke-virtual {p1}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object p1
invoke-direct {p0, p1}, Lcom/github/chrisbanes/photoview/i;->a(Landroid/graphics/drawable/Drawable;)V
return-void
.end method
.method public final onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
.registers 13
.line 335
iget-boolean v0, p0, Lcom/github/chrisbanes/photoview/i;->q:Z
const/4 v1, 0x0
const/4 v2, 0x1
if-eqz v0, :cond_a3
move-object v0, p1
check-cast v0, Landroid/widget/ImageView;
.line 3020
invoke-virtual {v0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_11
const/4 v0, 0x1
goto :goto_12
:cond_11
const/4 v0, 0x0
:goto_12
if-eqz v0, :cond_a3
.line 336
invoke-virtual {p2}, Landroid/view/MotionEvent;->getAction()I
move-result v0
if-eqz v0, :cond_4a
if-eq v0, v2, :cond_20
const/4 v3, 0x3
if-eq v0, v3, :cond_20
goto :goto_5f
.line 354
:cond_20
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->b()F
move-result v0
iget v3, p0, Lcom/github/chrisbanes/photoview/i;->b:F
cmpg-float v0, v0, v3
if-gez v0, :cond_5f
.line 355
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->a()Landroid/graphics/RectF;
move-result-object v0
if-eqz v0, :cond_5f
.line 357
new-instance v9, Lcom/github/chrisbanes/photoview/i$a;
invoke-virtual {p0}, Lcom/github/chrisbanes/photoview/i;->b()F
move-result v5
iget v6, p0, Lcom/github/chrisbanes/photoview/i;->b:F
.line 358
invoke-virtual {v0}, Landroid/graphics/RectF;->centerX()F
move-result v7
invoke-virtual {v0}, Landroid/graphics/RectF;->centerY()F
move-result v8
move-object v3, v9
move-object v4, p0
invoke-direct/range {v3 .. v8}, Lcom/github/chrisbanes/photoview/i$a;-><init>(Lcom/github/chrisbanes/photoview/i;FFFF)V
.line 357
invoke-virtual {p1, v9}, Landroid/view/View;->post(Ljava/lang/Runnable;)Z
const/4 p1, 0x1
goto :goto_60
.line 338
:cond_4a
invoke-virtual {p1}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object p1
if-eqz p1, :cond_53
.line 342
invoke-interface {p1, v2}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
.line 3718
:cond_53
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->D:Lcom/github/chrisbanes/photoview/i$b;
if-eqz p1, :cond_5f
.line 3772
iget-object p1, p1, Lcom/github/chrisbanes/photoview/i$b;->a:Landroid/widget/OverScroller;
invoke-virtual {p1, v2}, Landroid/widget/OverScroller;->forceFinished(Z)V
const/4 p1, 0x0
.line 3720
iput-object p1, p0, Lcom/github/chrisbanes/photoview/i;->D:Lcom/github/chrisbanes/photoview/i$b;
:cond_5f
:goto_5f
const/4 p1, 0x0
.line 366
:goto_60
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
if-eqz v0, :cond_97
.line 4094
iget-object p1, v0, Lcom/github/chrisbanes/photoview/b;->a:Landroid/view/ScaleGestureDetector;
invoke-virtual {p1}, Landroid/view/ScaleGestureDetector;->isInProgress()Z
move-result p1
.line 368
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
.line 4098
iget-boolean v0, v0, Lcom/github/chrisbanes/photoview/b;->b:Z
.line 370
iget-object v3, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
invoke-virtual {v3, p2}, Lcom/github/chrisbanes/photoview/b;->a(Landroid/view/MotionEvent;)Z
move-result v3
if-nez p1, :cond_82
.line 372
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
.line 5094
iget-object p1, p1, Lcom/github/chrisbanes/photoview/b;->a:Landroid/view/ScaleGestureDetector;
invoke-virtual {p1}, Landroid/view/ScaleGestureDetector;->isInProgress()Z
move-result p1
if-nez p1, :cond_82
const/4 p1, 0x1
goto :goto_83
:cond_82
const/4 p1, 0x0
:goto_83
if-nez v0, :cond_8d
.line 373
iget-object v0, p0, Lcom/github/chrisbanes/photoview/i;->z:Lcom/github/chrisbanes/photoview/b;
.line 5098
iget-boolean v0, v0, Lcom/github/chrisbanes/photoview/b;->b:Z
if-nez v0, :cond_8d
const/4 v0, 0x1
goto :goto_8e
:cond_8d
const/4 v0, 0x0
:goto_8e
if-eqz p1, :cond_93
if-eqz v0, :cond_93
const/4 v1, 0x1
.line 375
:cond_93
iput-boolean v1, p0, Lcom/github/chrisbanes/photoview/i;->y:Z
move v1, v3
goto :goto_98
:cond_97
move v1, p1
.line 379
:goto_98
iget-object p1, p0, Lcom/github/chrisbanes/photoview/i;->g:Landroid/view/GestureDetector;
if-eqz p1, :cond_a3
invoke-virtual {p1, p2}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
if-eqz p1, :cond_a3
const/4 v1, 0x1
:cond_a3
return v1
.end method