Weather/smali/com/moji/crop/CropView.smali
2021-05-10 10:13:34 +02:00

2040 lines
45 KiB
Smali

.class public Lcom/moji/crop/CropView;
.super Landroid/widget/FrameLayout;
.source "CropView.java"
# instance fields
.field private a:Landroid/widget/ImageView;
.field private b:Lcom/moji/crop/FocusView;
.field private c:Landroid/graphics/Matrix;
.field private d:Landroid/graphics/Matrix;
.field private e:Landroid/graphics/Matrix;
.field private f:Landroid/graphics/PointF;
.field private g:Landroid/graphics/PointF;
.field private h:F
.field private i:[F
.field private j:[F
.field private k:Landroid/graphics/Bitmap;
.field private l:Landroid/graphics/RectF;
.field private m:F
.field private n:I
.field private o:I
.field private p:I
.field private q:Z
.field private r:I
.field private s:Z
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.locals 3
.line 133
invoke-direct {p0, p1}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
const/4 v0, 0x0
.line 58
iput-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
.line 62
iput-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
.line 66
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
.line 70
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
.line 74
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix;
.line 78
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1}, Landroid/graphics/PointF;-><init>()V
iput-object v1, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF;
.line 82
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1}, Landroid/graphics/PointF;-><init>()V
iput-object v1, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
const/4 v1, 0x0
.line 86
iput v1, p0, Lcom/moji/crop/CropView;->h:F
const/16 v1, 0x9
.line 90
new-array v2, v1, [F
iput-object v2, p0, Lcom/moji/crop/CropView;->i:[F
.line 94
new-array v1, v1, [F
iput-object v1, p0, Lcom/moji/crop/CropView;->j:[F
.line 98
iput-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
.line 99
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
const/high16 v0, 0x40000000 # 2.0f
.line 103
iput v0, p0, Lcom/moji/crop/CropView;->m:F
const/4 v0, 0x0
.line 104
iput v0, p0, Lcom/moji/crop/CropView;->n:I
.line 105
iput v0, p0, Lcom/moji/crop/CropView;->o:I
.line 107
iput-boolean v0, p0, Lcom/moji/crop/CropView;->q:Z
const/4 v1, 0x3
.line 112
iput v1, p0, Lcom/moji/crop/CropView;->r:I
.line 114
iput-boolean v0, p0, Lcom/moji/crop/CropView;->s:Z
.line 134
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/content/Context;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.locals 2
.line 128
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 p2, 0x0
.line 58
iput-object p2, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
.line 62
iput-object p2, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
.line 66
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
.line 70
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
.line 74
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix;
.line 78
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0}, Landroid/graphics/PointF;-><init>()V
iput-object v0, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF;
.line 82
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0}, Landroid/graphics/PointF;-><init>()V
iput-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
const/4 v0, 0x0
.line 86
iput v0, p0, Lcom/moji/crop/CropView;->h:F
const/16 v0, 0x9
.line 90
new-array v1, v0, [F
iput-object v1, p0, Lcom/moji/crop/CropView;->i:[F
.line 94
new-array v0, v0, [F
iput-object v0, p0, Lcom/moji/crop/CropView;->j:[F
.line 98
iput-object p2, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
.line 99
new-instance p2, Landroid/graphics/RectF;
invoke-direct {p2}, Landroid/graphics/RectF;-><init>()V
iput-object p2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
const/high16 p2, 0x40000000 # 2.0f
.line 103
iput p2, p0, Lcom/moji/crop/CropView;->m:F
const/4 p2, 0x0
.line 104
iput p2, p0, Lcom/moji/crop/CropView;->n:I
.line 105
iput p2, p0, Lcom/moji/crop/CropView;->o:I
.line 107
iput-boolean p2, p0, Lcom/moji/crop/CropView;->q:Z
const/4 v0, 0x3
.line 112
iput v0, p0, Lcom/moji/crop/CropView;->r:I
.line 114
iput-boolean p2, p0, Lcom/moji/crop/CropView;->s:Z
.line 129
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/content/Context;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.locals 1
.line 123
invoke-direct {p0, p1, p2, p3}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
const/4 p2, 0x0
.line 58
iput-object p2, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
.line 62
iput-object p2, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
.line 66
new-instance p3, Landroid/graphics/Matrix;
invoke-direct {p3}, Landroid/graphics/Matrix;-><init>()V
iput-object p3, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
.line 70
new-instance p3, Landroid/graphics/Matrix;
invoke-direct {p3}, Landroid/graphics/Matrix;-><init>()V
iput-object p3, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
.line 74
new-instance p3, Landroid/graphics/Matrix;
invoke-direct {p3}, Landroid/graphics/Matrix;-><init>()V
iput-object p3, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix;
.line 78
new-instance p3, Landroid/graphics/PointF;
invoke-direct {p3}, Landroid/graphics/PointF;-><init>()V
iput-object p3, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF;
.line 82
new-instance p3, Landroid/graphics/PointF;
invoke-direct {p3}, Landroid/graphics/PointF;-><init>()V
iput-object p3, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
const/4 p3, 0x0
.line 86
iput p3, p0, Lcom/moji/crop/CropView;->h:F
const/16 p3, 0x9
.line 90
new-array v0, p3, [F
iput-object v0, p0, Lcom/moji/crop/CropView;->i:[F
.line 94
new-array p3, p3, [F
iput-object p3, p0, Lcom/moji/crop/CropView;->j:[F
.line 98
iput-object p2, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
.line 99
new-instance p2, Landroid/graphics/RectF;
invoke-direct {p2}, Landroid/graphics/RectF;-><init>()V
iput-object p2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
const/high16 p2, 0x40000000 # 2.0f
.line 103
iput p2, p0, Lcom/moji/crop/CropView;->m:F
const/4 p2, 0x0
.line 104
iput p2, p0, Lcom/moji/crop/CropView;->n:I
.line 105
iput p2, p0, Lcom/moji/crop/CropView;->o:I
.line 107
iput-boolean p2, p0, Lcom/moji/crop/CropView;->q:Z
const/4 p3, 0x3
.line 112
iput p3, p0, Lcom/moji/crop/CropView;->r:I
.line 114
iput-boolean p2, p0, Lcom/moji/crop/CropView;->s:Z
.line 124
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/content/Context;)V
return-void
.end method
.method private a(IIIIZ)F
.locals 0
int-to-float p3, p3
int-to-float p1, p1
div-float/2addr p3, p1
int-to-float p1, p4
int-to-float p2, p2
div-float/2addr p1, p2
if-eqz p5, :cond_0
cmpl-float p2, p3, p1
if-lez p2, :cond_1
:goto_0
move p1, p3
goto :goto_1
:cond_0
cmpg-float p2, p3, p1
if-gez p2, :cond_1
goto :goto_0
:cond_1
:goto_1
return p1
.end method
.method static synthetic a(Lcom/moji/crop/CropView;)Landroid/widget/ImageView;
.locals 0
.line 39
iget-object p0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
return-object p0
.end method
.method private a(Landroid/content/Context;)V
.locals 3
.line 478
new-instance v0, Landroid/widget/ImageView;
invoke-direct {v0, p1}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
.line 479
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
new-instance v1, Landroid/widget/FrameLayout$LayoutParams;
const/4 v2, -0x1
invoke-direct {v1, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;-><init>(II)V
invoke-virtual {p0, v0, v1}, Lcom/moji/crop/CropView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 482
new-instance v0, Lcom/moji/crop/FocusView;
invoke-direct {v0, p1}, Lcom/moji/crop/FocusView;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
.line 483
iget-object p1, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
new-instance v0, Landroid/widget/FrameLayout$LayoutParams;
invoke-direct {v0, v2, v2}, Landroid/widget/FrameLayout$LayoutParams;-><init>(II)V
invoke-virtual {p0, p1, v0}, Lcom/moji/crop/CropView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
return-void
.end method
.method private a(Landroid/graphics/PointF;Landroid/view/MotionEvent;)V
.locals 4
.line 532
invoke-virtual {p2}, Landroid/view/MotionEvent;->getPointerCount()I
move-result v0
const/4 v1, 0x2
if-ge v0, v1, :cond_0
return-void
:cond_0
const/4 v0, 0x0
.line 535
invoke-virtual {p2, v0}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
const/4 v2, 0x1
invoke-virtual {p2, v2}, Landroid/view/MotionEvent;->getX(I)F
move-result v3
add-float/2addr v1, v3
.line 536
invoke-virtual {p2, v0}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
invoke-virtual {p2, v2}, Landroid/view/MotionEvent;->getY(I)F
move-result p2
add-float/2addr v0, p2
const/high16 p2, 0x40000000 # 2.0f
div-float/2addr v1, p2
div-float/2addr v0, p2
.line 537
invoke-virtual {p1, v1, v0}, Landroid/graphics/PointF;->set(FF)V
return-void
.end method
.method private a(Landroid/view/MotionEvent;)V
.locals 2
.line 365
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 366
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 367
iget-object v0, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 368
iget-object v0, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF;
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
invoke-virtual {v0, v1, p1}, Landroid/graphics/PointF;->set(FF)V
.line 369
iget-object p1, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusRect()Landroid/graphics/RectF;
move-result-object v0
invoke-virtual {p1, v0}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V
const/4 p1, 0x1
.line 370
iput p1, p0, Lcom/moji/crop/CropView;->r:I
return-void
.end method
.method private b(Landroid/view/MotionEvent;)V
.locals 2
.line 379
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->d(Landroid/view/MotionEvent;)F
move-result v0
iput v0, p0, Lcom/moji/crop/CropView;->h:F
.line 380
iget v0, p0, Lcom/moji/crop/CropView;->h:F
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_0
.line 381
iget-object v0, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 382
iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
invoke-direct {p0, v0, p1}, Lcom/moji/crop/CropView;->a(Landroid/graphics/PointF;Landroid/view/MotionEvent;)V
const/4 p1, 0x2
.line 383
iput p1, p0, Lcom/moji/crop/CropView;->r:I
:cond_0
return-void
.end method
.method private c(Landroid/view/MotionEvent;)V
.locals 10
.line 393
iget v0, p0, Lcom/moji/crop/CropView;->r:I
const/4 v1, 0x5
const/4 v2, 0x2
const/4 v3, 0x0
packed-switch v0, :pswitch_data_0
goto/16 :goto_1
.line 414
:pswitch_0
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 415
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->getValues([F)V
.line 416
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->d(Landroid/view/MotionEvent;)F
move-result p1
const/4 v0, 0x0
cmpl-float v0, p1, v0
if-lez v0, :cond_c
.line 418
iget-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->setValues([F)V
.line 419
iget v0, p0, Lcom/moji/crop/CropView;->h:F
div-float/2addr p1, v0
.line 421
iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F
aget v0, v0, v3
mul-float v0, v0, p1
iget v4, p0, Lcom/moji/crop/CropView;->m:F
cmpl-float v0, v0, v4
if-lez v0, :cond_0
.line 422
iget p1, p0, Lcom/moji/crop/CropView;->m:F
iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F
aget v0, v0, v3
div-float/2addr p1, v0
.line 424
:cond_0
iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F
aget v0, v0, v3
mul-float v0, v0, p1
iget v4, p0, Lcom/moji/crop/CropView;->n:I
int-to-float v4, v4
mul-float v0, v0, v4
.line 425
iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F
const/4 v5, 0x4
aget v4, v4, v5
mul-float v4, v4, p1
iget v6, p0, Lcom/moji/crop/CropView;->o:I
int-to-float v6, v6
mul-float v4, v4, v6
.line 426
iget-object v6, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v6}, Lcom/moji/crop/FocusView;->getFocusWidth()I
move-result v6
.line 427
iget-object v7, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v7}, Lcom/moji/crop/FocusView;->getFocusHeight()I
move-result v7
int-to-float v6, v6
div-float/2addr v0, v6
int-to-float v7, v7
div-float/2addr v4, v7
const/high16 v8, 0x3f800000 # 1.0f
cmpg-float v9, v0, v8
if-ltz v9, :cond_1
cmpg-float v9, v4, v8
if-gez v9, :cond_3
:cond_1
cmpl-float p1, v0, v4
if-lez p1, :cond_2
.line 432
iget-object p1, p0, Lcom/moji/crop/CropView;->i:[F
aget p1, p1, v5
div-float/2addr v7, p1
iget p1, p0, Lcom/moji/crop/CropView;->o:I
int-to-float p1, p1
div-float p1, v7, p1
goto :goto_0
.line 434
:cond_2
iget-object p1, p0, Lcom/moji/crop/CropView;->i:[F
aget p1, p1, v3
div-float/2addr v6, p1
iget p1, p0, Lcom/moji/crop/CropView;->n:I
int-to-float p1, p1
div-float p1, v6, p1
.line 438
:cond_3
:goto_0
iget-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget v4, v4, Landroid/graphics/PointF;->x:F
iget-object v6, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget v6, v6, Landroid/graphics/PointF;->y:F
invoke-virtual {v0, p1, p1, v4, v6}, Landroid/graphics/Matrix;->postScale(FFFF)Z
.line 439
iget-object v0, p0, Lcom/moji/crop/CropView;->e:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->j:[F
invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->getValues([F)V
.line 440
iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F
aget v0, v0, v2
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->left:F
cmpl-float v0, v0, v4
if-lez v0, :cond_4
const-string v0, "CropView"
const-string v4, "Out of left"
.line 441
invoke-static {v0, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 442
iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->left:F
iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F
aget v6, v6, v2
mul-float v6, v6, p1
sub-float/2addr v4, v6
sub-float v6, v8, p1
div-float/2addr v4, v6
iput v4, v0, Landroid/graphics/PointF;->x:F
.line 444
:cond_4
iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F
aget v0, v0, v1
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->top:F
cmpl-float v0, v0, v4
if-lez v0, :cond_5
const-string v0, "CropView"
const-string v4, "Out of top"
.line 445
invoke-static {v0, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 446
iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->top:F
iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F
aget v6, v6, v1
mul-float v6, v6, p1
sub-float/2addr v4, v6
sub-float v6, v8, p1
div-float/2addr v4, v6
iput v4, v0, Landroid/graphics/PointF;->y:F
.line 448
:cond_5
iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F
aget v0, v0, v2
iget v4, p0, Lcom/moji/crop/CropView;->n:I
int-to-float v4, v4
iget-object v6, p0, Lcom/moji/crop/CropView;->j:[F
aget v6, v6, v3
mul-float v4, v4, v6
add-float/2addr v0, v4
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->right:F
cmpg-float v0, v0, v4
if-gez v0, :cond_6
const-string v0, "CropView"
const-string v4, "Out of right"
.line 449
invoke-static {v0, v4}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 450
iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->right:F
iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F
aget v2, v6, v2
iget v6, p0, Lcom/moji/crop/CropView;->n:I
int-to-float v6, v6
iget-object v7, p0, Lcom/moji/crop/CropView;->i:[F
aget v3, v7, v3
mul-float v6, v6, v3
add-float/2addr v2, v6
mul-float v2, v2, p1
sub-float/2addr v4, v2
sub-float v2, v8, p1
div-float/2addr v4, v2
iput v4, v0, Landroid/graphics/PointF;->x:F
.line 454
:cond_6
iget-object v0, p0, Lcom/moji/crop/CropView;->j:[F
aget v0, v0, v1
iget v2, p0, Lcom/moji/crop/CropView;->o:I
int-to-float v2, v2
iget-object v3, p0, Lcom/moji/crop/CropView;->j:[F
aget v3, v3, v5
mul-float v2, v2, v3
add-float/2addr v0, v2
iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v2, v2, Landroid/graphics/RectF;->bottom:F
cmpg-float v0, v0, v2
if-gez v0, :cond_7
const-string v0, "CropView"
const-string v2, "Out of bottom"
.line 455
invoke-static {v0, v2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
.line 456
iget-object v0, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v2, v2, Landroid/graphics/RectF;->bottom:F
iget-object v3, p0, Lcom/moji/crop/CropView;->i:[F
aget v1, v3, v1
iget v3, p0, Lcom/moji/crop/CropView;->o:I
int-to-float v3, v3
iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F
aget v4, v4, v5
mul-float v3, v3, v4
add-float/2addr v1, v3
mul-float v1, v1, p1
sub-float/2addr v2, v1
sub-float/2addr v8, p1
div-float/2addr v2, v8
iput v2, v0, Landroid/graphics/PointF;->y:F
.line 460
:cond_7
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v1, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget v1, v1, Landroid/graphics/PointF;->x:F
iget-object v2, p0, Lcom/moji/crop/CropView;->g:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
invoke-virtual {v0, p1, p1, v1, v2}, Landroid/graphics/Matrix;->postScale(FFFF)Z
goto/16 :goto_1
.line 395
:pswitch_1
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 396
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {v0, v4}, Landroid/graphics/Matrix;->getValues([F)V
.line 397
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
iget-object v4, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF;
iget v4, v4, Landroid/graphics/PointF;->x:F
sub-float/2addr v0, v4
.line 398
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
iget-object v4, p0, Lcom/moji/crop/CropView;->f:Landroid/graphics/PointF;
iget v4, v4, Landroid/graphics/PointF;->y:F
sub-float/2addr p1, v4
.line 399
iget-object v4, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v4, v4, Landroid/graphics/RectF;->left:F
iget-object v5, p0, Lcom/moji/crop/CropView;->i:[F
aget v5, v5, v2
sub-float/2addr v4, v5
.line 400
iget-object v5, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v5, v5, Landroid/graphics/RectF;->top:F
iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F
aget v6, v6, v1
sub-float/2addr v5, v6
.line 401
iget-object v6, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v6, v6, Landroid/graphics/RectF;->right:F
iget v7, p0, Lcom/moji/crop/CropView;->n:I
int-to-float v7, v7
iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F
aget v8, v8, v3
mul-float v7, v7, v8
iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F
aget v2, v8, v2
add-float/2addr v7, v2
sub-float/2addr v6, v7
.line 403
iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v2, v2, Landroid/graphics/RectF;->bottom:F
iget v7, p0, Lcom/moji/crop/CropView;->o:I
int-to-float v7, v7
iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F
aget v3, v8, v3
mul-float v7, v7, v3
iget-object v3, p0, Lcom/moji/crop/CropView;->i:[F
aget v1, v3, v1
add-float/2addr v7, v1
sub-float/2addr v2, v7
cmpl-float v1, v0, v4
if-lez v1, :cond_8
move v0, v4
:cond_8
cmpl-float v1, p1, v5
if-lez v1, :cond_9
move p1, v5
:cond_9
cmpg-float v1, v0, v6
if-gez v1, :cond_a
move v0, v6
:cond_a
cmpg-float v1, p1, v2
if-gez v1, :cond_b
move p1, v2
.line 411
:cond_b
iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v1, v0, p1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
:cond_c
:goto_1
:pswitch_2
return-void
:pswitch_data_0
.packed-switch 0x1
:pswitch_1
:pswitch_0
:pswitch_2
.end packed-switch
.end method
.method private d(Landroid/view/MotionEvent;)F
.locals 4
.line 517
invoke-virtual {p1}, Landroid/view/MotionEvent;->getPointerCount()I
move-result v0
const/4 v1, 0x2
if-ge v0, v1, :cond_0
const/4 p1, 0x0
return p1
:cond_0
const/4 v0, 0x0
.line 520
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
const/4 v2, 0x1
invoke-virtual {p1, v2}, Landroid/view/MotionEvent;->getX(I)F
move-result v3
sub-float/2addr v1, v3
.line 521
invoke-virtual {p1, v0}, Landroid/view/MotionEvent;->getY(I)F
move-result v0
invoke-virtual {p1, v2}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
sub-float/2addr v0, p1
mul-float v1, v1, v1
mul-float v0, v0, v0
add-float/2addr v1, v0
float-to-double v0, v1
.line 522
invoke-static {v0, v1}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v0
double-to-float p1, v0
return p1
.end method
# virtual methods
.method public a()V
.locals 1
.line 330
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
if-nez v0, :cond_0
.line 331
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
:cond_0
return-void
.end method
.method public a(I)V
.locals 2
.line 308
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-static {v0, p1}, Lcom/moji/crop/CropUtil;->a(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object v0
iput-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
.line 309
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
iget-object v1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
.line 310
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 311
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
iput v0, p0, Lcom/moji/crop/CropView;->n:I
.line 312
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v0
iput v0, p0, Lcom/moji/crop/CropView;->o:I
.line 313
iget v0, p0, Lcom/moji/crop/CropView;->p:I
add-int/2addr v0, p1
iput v0, p0, Lcom/moji/crop/CropView;->p:I
const/4 p1, 0x1
.line 314
iput-boolean p1, p0, Lcom/moji/crop/CropView;->q:Z
return-void
.end method
.method public a(Landroid/graphics/Bitmap;ILjava/lang/Runnable;)V
.locals 2
.line 138
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 139
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
.line 140
iget v0, p0, Lcom/moji/crop/CropView;->p:I
if-eqz v0, :cond_0
.line 141
iget v0, p0, Lcom/moji/crop/CropView;->p:I
rem-int/lit16 v0, v0, 0x168
invoke-static {p1, v0}, Lcom/moji/crop/CropUtil;->a(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
move-result-object p1
.line 143
:cond_0
iput-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
.line 144
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
.line 145
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
iput v0, p0, Lcom/moji/crop/CropView;->n:I
.line 146
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result p1
iput p1, p0, Lcom/moji/crop/CropView;->o:I
const/4 p1, 0x1
.line 147
iput-boolean p1, p0, Lcom/moji/crop/CropView;->q:Z
const/high16 p1, 0x3f800000 # 1.0f
int-to-float p2, p2
div-float/2addr p1, p2
const/16 p2, 0x9
.line 150
new-array p2, p2, [F
.line 151
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v0, p2}, Landroid/graphics/Matrix;->getValues([F)V
.line 152
new-instance v0, Lcom/moji/crop/CropView$1;
invoke-direct {v0, p0, p2, p1, p3}, Lcom/moji/crop/CropView$1;-><init>(Lcom/moji/crop/CropView;[FFLjava/lang/Runnable;)V
invoke-virtual {p0, v0}, Lcom/moji/crop/CropView;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method public getBitmap()Landroid/graphics/Bitmap;
.locals 1
.line 323
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
return-object v0
.end method
.method public getCropRect()Landroid/graphics/Rect;
.locals 9
.line 254
new-instance v0, Landroid/graphics/Rect;
iget v1, p0, Lcom/moji/crop/CropView;->n:I
iget v2, p0, Lcom/moji/crop/CropView;->o:I
const/4 v3, 0x0
invoke-direct {v0, v3, v3, v1, v2}, Landroid/graphics/Rect;-><init>(IIII)V
.line 255
iget-object v1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v1}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v1
if-nez v1, :cond_4
iget-object v1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v1
if-eqz v1, :cond_4
.line 256
iget-object v1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
sget-object v2, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v1, v2}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 257
iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v2, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
invoke-virtual {v2}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 258
iget-object v1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v2, p0, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {v1, v2}, Landroid/graphics/Matrix;->getValues([F)V
.line 259
iget-object v1, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget-object v2, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v2}, Lcom/moji/crop/FocusView;->getFocusRect()Landroid/graphics/RectF;
move-result-object v2
invoke-virtual {v1, v2}, Landroid/graphics/RectF;->set(Landroid/graphics/RectF;)V
.line 261
iget-object v1, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v1, v1, Landroid/graphics/RectF;->left:F
iget-object v2, p0, Lcom/moji/crop/CropView;->i:[F
const/4 v4, 0x2
aget v2, v2, v4
sub-float/2addr v1, v2
iget-object v2, p0, Lcom/moji/crop/CropView;->i:[F
aget v2, v2, v3
div-float/2addr v1, v2
float-to-int v1, v1
.line 262
iget-object v2, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v2, v2, Landroid/graphics/RectF;->top:F
iget-object v5, p0, Lcom/moji/crop/CropView;->i:[F
const/4 v6, 0x5
aget v5, v5, v6
sub-float/2addr v2, v5
iget-object v5, p0, Lcom/moji/crop/CropView;->i:[F
const/4 v7, 0x4
aget v5, v5, v7
div-float/2addr v2, v5
float-to-int v2, v2
.line 263
iget-object v5, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v5, v5, Landroid/graphics/RectF;->right:F
iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F
aget v4, v8, v4
sub-float/2addr v5, v4
iget-object v4, p0, Lcom/moji/crop/CropView;->i:[F
aget v4, v4, v3
div-float/2addr v5, v4
float-to-int v4, v5
.line 264
iget-object v5, p0, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
iget v5, v5, Landroid/graphics/RectF;->bottom:F
iget-object v8, p0, Lcom/moji/crop/CropView;->i:[F
aget v6, v8, v6
sub-float/2addr v5, v6
iget-object v6, p0, Lcom/moji/crop/CropView;->i:[F
aget v6, v6, v7
div-float/2addr v5, v6
float-to-int v5, v5
if-gez v1, :cond_0
const/4 v1, 0x0
:cond_0
if-gez v2, :cond_1
const/4 v2, 0x0
.line 268
:cond_1
iget v3, p0, Lcom/moji/crop/CropView;->n:I
if-le v4, v3, :cond_2
iget v4, p0, Lcom/moji/crop/CropView;->n:I
.line 269
:cond_2
iget v3, p0, Lcom/moji/crop/CropView;->o:I
if-le v5, v3, :cond_3
iget v5, p0, Lcom/moji/crop/CropView;->o:I
.line 270
:cond_3
invoke-virtual {v0, v1, v2, v4, v5}, Landroid/graphics/Rect;->set(IIII)V
:cond_4
return-object v0
.end method
.method protected onLayout(ZIIII)V
.locals 11
move-object v6, p0
.line 215
invoke-super/range {p0 .. p5}, Landroid/widget/FrameLayout;->onLayout(ZIIII)V
if-nez p1, :cond_0
.line 216
iget-boolean v0, v6, Lcom/moji/crop/CropView;->q:Z
if-eqz v0, :cond_1
:cond_0
const/4 v7, 0x0
.line 217
iput-boolean v7, v6, Lcom/moji/crop/CropView;->q:Z
sub-int v8, p4, p2
sub-int v9, p5, p3
.line 220
iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusRect()Landroid/graphics/RectF;
move-result-object v0
iput-object v0, v6, Lcom/moji/crop/CropView;->l:Landroid/graphics/RectF;
.line 221
iget-object v0, v6, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
sget-object v1, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 222
iget-object v0, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v1, v6, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 223
iget-object v0, v6, Lcom/moji/crop/CropView;->d:Landroid/graphics/Matrix;
iget-object v1, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 225
iget v1, v6, Lcom/moji/crop/CropView;->n:I
iget v2, v6, Lcom/moji/crop/CropView;->o:I
iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
.line 226
invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusWidth()I
move-result v3
iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusHeight()I
move-result v4
const/4 v5, 0x1
move-object v0, p0
.line 225
invoke-direct/range {v0 .. v5}, Lcom/moji/crop/CropView;->a(IIIIZ)F
move-result v10
.line 228
iget v1, v6, Lcom/moji/crop/CropView;->n:I
iget v2, v6, Lcom/moji/crop/CropView;->o:I
const/4 v5, 0x0
move v3, v8
move v4, v9
invoke-direct/range {v0 .. v5}, Lcom/moji/crop/CropView;->a(IIIIZ)F
.line 236
iget-object v0, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget v1, v6, Lcom/moji/crop/CropView;->n:I
const/4 v2, 0x2
div-int/2addr v1, v2
int-to-float v1, v1
iget v3, v6, Lcom/moji/crop/CropView;->o:I
div-int/2addr v3, v2
int-to-float v3, v3
invoke-virtual {v0, v10, v10, v1, v3}, Landroid/graphics/Matrix;->setScale(FFFF)V
.line 237
iget-object v0, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v1, v6, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->getValues([F)V
.line 238
iget-object v0, v6, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v0}, Lcom/moji/crop/FocusView;->getFocusMidPoint()Landroid/graphics/PointF;
move-result-object v0
.line 240
iget v1, v0, Landroid/graphics/PointF;->x:F
iget-object v3, v6, Lcom/moji/crop/CropView;->i:[F
aget v2, v3, v2
iget v3, v6, Lcom/moji/crop/CropView;->n:I
int-to-float v3, v3
iget-object v4, v6, Lcom/moji/crop/CropView;->i:[F
aget v4, v4, v7
mul-float v3, v3, v4
const/high16 v4, 0x40000000 # 2.0f
div-float/2addr v3, v4
add-float/2addr v2, v3
sub-float/2addr v1, v2
.line 242
iget v0, v0, Landroid/graphics/PointF;->y:F
iget-object v2, v6, Lcom/moji/crop/CropView;->i:[F
const/4 v3, 0x5
aget v2, v2, v3
iget v3, v6, Lcom/moji/crop/CropView;->o:I
int-to-float v3, v3
iget-object v5, v6, Lcom/moji/crop/CropView;->i:[F
const/4 v7, 0x4
aget v5, v5, v7
mul-float v3, v3, v5
div-float/2addr v3, v4
add-float/2addr v2, v3
sub-float/2addr v0, v2
.line 243
iget-object v2, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v2, v1, v0}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 244
iget-object v0, v6, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
iget-object v1, v6, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
:cond_1
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.locals 2
.line 167
iget-boolean v0, p0, Lcom/moji/crop/CropView;->s:Z
if-nez v0, :cond_1
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
if-nez v0, :cond_0
goto :goto_1
.line 170
:cond_0
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v0
and-int/lit16 v0, v0, 0xff
const/4 v1, 0x3
packed-switch v0, :pswitch_data_0
:pswitch_0
goto :goto_0
.line 185
:pswitch_1
iput v1, p0, Lcom/moji/crop/CropView;->r:I
.line 186
iget-object p1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->getValues([F)V
goto :goto_0
.line 175
:pswitch_2
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->b(Landroid/view/MotionEvent;)V
goto :goto_0
.line 178
:pswitch_3
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->c(Landroid/view/MotionEvent;)V
goto :goto_0
.line 181
:pswitch_4
iput v1, p0, Lcom/moji/crop/CropView;->r:I
.line 182
iget-object p1, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
iget-object v0, p0, Lcom/moji/crop/CropView;->i:[F
invoke-virtual {p1, v0}, Landroid/graphics/Matrix;->getValues([F)V
goto :goto_0
.line 172
:pswitch_5
invoke-direct {p0, p1}, Lcom/moji/crop/CropView;->a(Landroid/view/MotionEvent;)V
.line 189
:goto_0
iget-object p1, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
iget-object v0, p0, Lcom/moji/crop/CropView;->c:Landroid/graphics/Matrix;
invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setImageMatrix(Landroid/graphics/Matrix;)V
const/4 p1, 0x1
return p1
.line 168
:cond_1
:goto_1
invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
return p1
nop
:pswitch_data_0
.packed-switch 0x0
:pswitch_5
:pswitch_4
:pswitch_3
:pswitch_0
:pswitch_0
:pswitch_2
:pswitch_1
.end packed-switch
.end method
.method public setCircleCrop(Z)V
.locals 1
.line 299
iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
if-eqz p1, :cond_0
sget-object p1, Lcom/moji/crop/FocusView$Style;->CIRCLE:Lcom/moji/crop/FocusView$Style;
goto :goto_0
:cond_0
sget-object p1, Lcom/moji/crop/FocusView$Style;->RECTANGLE:Lcom/moji/crop/FocusView$Style;
:goto_0
invoke-virtual {v0, p1}, Lcom/moji/crop/FocusView;->setFocusStyle(Lcom/moji/crop/FocusView$Style;)V
return-void
.end method
.method public setFocusViewHeight(I)V
.locals 1
.line 353
iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
if-nez v0, :cond_0
return-void
.line 356
:cond_0
iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v0, p1}, Lcom/moji/crop/FocusView;->setFocusHeight(I)V
return-void
.end method
.method public setFocusViewWidth(I)V
.locals 1
.line 341
iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
if-nez v0, :cond_0
return-void
.line 344
:cond_0
iget-object v0, p0, Lcom/moji/crop/CropView;->b:Lcom/moji/crop/FocusView;
invoke-virtual {v0, p1}, Lcom/moji/crop/FocusView;->setFocusWidth(I)V
return-void
.end method
.method public setImageBitmap(Landroid/graphics/Bitmap;)V
.locals 2
if-eqz p1, :cond_1
.line 203
iput-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
.line 204
iget-object v0, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
if-nez v0, :cond_0
.line 205
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
sget-object v1, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;
invoke-virtual {v0, v1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 206
iget-object v0, p0, Lcom/moji/crop/CropView;->a:Landroid/widget/ImageView;
invoke-virtual {v0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
const/4 p1, 0x1
.line 207
iput-boolean p1, p0, Lcom/moji/crop/CropView;->q:Z
.line 208
iget-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result p1
iput p1, p0, Lcom/moji/crop/CropView;->n:I
.line 209
iget-object p1, p0, Lcom/moji/crop/CropView;->k:Landroid/graphics/Bitmap;
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result p1
iput p1, p0, Lcom/moji/crop/CropView;->o:I
:cond_0
return-void
.line 201
:cond_1
new-instance p1, Ljava/lang/IllegalStateException;
const-string v0, "The bitmap sets to should not be null"
invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public setSaving(Z)V
.locals 0
.line 281
iput-boolean p1, p0, Lcom/moji/crop/CropView;->s:Z
return-void
.end method