CropImageView.smali
.class public Lcom/garena/cropimage/library/CropImageView;
.super Landroid/widget/FrameLayout;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/garena/cropimage/library/CropImageView$c;,
Lcom/garena/cropimage/library/CropImageView$b;,
Lcom/garena/cropimage/library/CropImageView$f;,
Lcom/garena/cropimage/library/CropImageView$e;,
Lcom/garena/cropimage/library/CropImageView$d;,
Lcom/garena/cropimage/library/CropImageView$g;,
Lcom/garena/cropimage/library/CropImageView$h;
}
.end annotation
# static fields
.field public static final synthetic l:I
# instance fields
.field public a:Z
.field public b:Lcom/garena/cropimage/library/CropImageView$d;
.field public c:Lcom/garena/cropimage/library/CropImageView$g;
.field public d:Lcom/garena/cropimage/library/CropImageView$b;
.field public e:Lcom/garena/cropimage/library/CropImageView$c;
.field public f:Landroid/widget/FrameLayout;
.field public g:Landroid/widget/FrameLayout;
.field public h:Lcom/garena/cropimage/library/CropFrame;
.field public i:Lcom/garena/cropimage/library/CropTouchImageView;
.field public j:Lcom/garena/cropimage/library/b;
.field public k:Lcom/garena/cropimage/library/a;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 9
.line 1
invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->k:Lcom/garena/cropimage/library/a;
.line 3
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
const v2, 0x7f0d00e7
invoke-static {v1, v2, v0}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
move-result-object v0
.line 4
invoke-virtual {p0, v0}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
const v0, 0x7f0a06ee
.line 5
invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/garena/cropimage/library/CropTouchImageView;
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
const v0, 0x7f0a028f
.line 6
invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Lcom/garena/cropimage/library/CropFrame;
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
const v0, 0x7f0a09eb
.line 7
invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/FrameLayout;
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->f:Landroid/widget/FrameLayout;
const v0, 0x7f0a0110
.line 8
invoke-virtual {p0, v0}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/FrameLayout;
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->g:Landroid/widget/FrameLayout;
.line 9
new-instance v0, Lcom/garena/cropimage/library/b;
invoke-direct {v0}, Lcom/garena/cropimage/library/b;-><init>()V
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/4 v0, 0x0
.line 10
iput-boolean v0, p0, Lcom/garena/cropimage/library/CropImageView;->a:Z
.line 11
sget-object v1, Lcom/shopee/sz/loadtask/datasource/a;->a:[I
invoke-virtual {p1, p2, v1, v0, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p1
.line 12
:try_start_50
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/16 v1, 0x8
invoke-virtual {p1, v1}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Lcom/garena/cropimage/library/b;->b(Ljava/lang/String;)Lcom/garena/cropimage/library/b;
.line 13
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/4 v1, 0x5
invoke-virtual {p1, v1}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
move-result-object v1
invoke-virtual {p2, v1}, Lcom/garena/cropimage/library/b;->a(Ljava/lang/String;)Lcom/garena/cropimage/library/b;
.line 14
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/4 v1, 0x4
invoke-virtual {p1, v1, v0}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
const/4 v2, 0x3
invoke-virtual {p1, v2, v0}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v2
.line 15
iput v1, p2, Lcom/garena/cropimage/library/b;->f:I
.line 16
iput v2, p2, Lcom/garena/cropimage/library/b;->g:I
.line 17
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/4 v1, 0x7
const/4 v2, 0x1
invoke-virtual {p1, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v1
const/4 v3, 0x6
.line 18
invoke-virtual {p1, v3, v2}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v3
const/16 v4, 0x9
const/4 v5, -0x1
.line 19
invoke-virtual {p1, v4, v5}, Landroid/content/res/TypedArray;->getInt(II)I
move-result v4
.line 20
iput v4, p2, Lcom/garena/cropimage/library/b;->j:I
.line 21
iput v3, p2, Lcom/garena/cropimage/library/b;->i:I
.line 22
iput v1, p2, Lcom/garena/cropimage/library/b;->h:I
.line 23
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
invoke-virtual {p1, v2, v0}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
.line 24
iput v1, p2, Lcom/garena/cropimage/library/b;->c:I
.line 25
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/4 v1, 0x2
invoke-virtual {p1, v1, v0}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
move-result v1
.line 26
iput-boolean v1, p2, Lcom/garena/cropimage/library/b;->m:Z
.line 27
iget-object p2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
const/16 v1, 0x64
invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I
invoke-static {p2}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
:try_end_aa
.catchall {:try_start_50 .. :try_end_aa} :catchall_b1
.line 28
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
.line 29
invoke-virtual {p0}, Lcom/garena/cropimage/library/CropImageView;->c()V
return-void
:catchall_b1
move-exception p2
.line 30
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
.line 31
throw p2
.end method
.method private setFrameColor(I)V
.registers 3
.line 1
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->f:Landroid/widget/FrameLayout;
invoke-virtual {v0, p1}, Landroid/view/View;->setBackgroundColor(I)V
.line 2
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->g:Landroid/widget/FrameLayout;
invoke-virtual {v0, p1}, Landroid/view/View;->setBackgroundColor(I)V
return-void
.end method
# virtual methods
.method public final a()V
.registers 5
.line 1
new-instance v0, Lcom/garena/cropimage/library/CropImageView$f;
invoke-direct {v0}, Lcom/garena/cropimage/library/CropImageView$f;-><init>()V
.line 2
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
invoke-virtual {v1}, Landroid/view/View;->getWidth()I
move-result v1
iput v1, v0, Lcom/garena/cropimage/library/CropImageView$f;->a:I
.line 3
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
invoke-virtual {v1}, Landroid/view/View;->getHeight()I
move-result v1
iput v1, v0, Lcom/garena/cropimage/library/CropImageView$f;->b:I
.line 4
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v1
iput v1, v0, Lcom/garena/cropimage/library/CropImageView$f;->c:I
.line 5
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v1
iput v1, v0, Lcom/garena/cropimage/library/CropImageView$f;->d:I
.line 6
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
invoke-virtual {v1}, Landroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
move-result-object v1
iput-object v1, v0, Lcom/garena/cropimage/library/CropImageView$f;->h:Landroid/graphics/Matrix;
.line 7
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
const/4 v2, 0x2
new-array v3, v2, [I
.line 8
invoke-virtual {v1, v3}, Landroid/view/View;->getLocationOnScreen([I)V
.line 9
iput-object v3, v0, Lcom/garena/cropimage/library/CropImageView$f;->e:[I
.line 10
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
new-array v2, v2, [I
.line 11
invoke-virtual {v1, v2}, Landroid/view/View;->getLocationOnScreen([I)V
.line 12
iput-object v2, v0, Lcom/garena/cropimage/library/CropImageView$f;->f:[I
.line 13
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->b:Lcom/garena/cropimage/library/CropImageView$d;
iput-object v1, v0, Lcom/garena/cropimage/library/CropImageView$f;->g:Lcom/garena/cropimage/library/CropImageView$d;
.line 14
new-instance v1, Lcom/garena/cropimage/library/CropImageView$e;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
iget-object v2, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
invoke-direct {v1, v2, v0}, Lcom/garena/cropimage/library/CropImageView$e;-><init>(Lcom/garena/cropimage/library/b;Lcom/garena/cropimage/library/CropImageView$f;)V
const/4 v0, 0x0
new-array v0, v0, [Ljava/lang/Void;
invoke-virtual {v1, v0}, Landroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
return-void
.end method
.method public final b()V
.registers 5
.line 1
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->d:Lcom/garena/cropimage/library/CropImageView$b;
if-nez v0, :cond_5
return-void
.line 2
:cond_5
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->e:Lcom/garena/cropimage/library/CropImageView$c;
const/4 v1, 0x0
if-eqz v0, :cond_d
.line 3
invoke-virtual {v0, v1}, Landroid/os/AsyncTask;->cancel(Z)Z
.line 4
:cond_d
new-instance v0, Lcom/garena/cropimage/library/CropImageView$c;
iget-object v2, p0, Lcom/garena/cropimage/library/CropImageView;->d:Lcom/garena/cropimage/library/CropImageView$b;
new-instance v3, Lcom/garena/cropimage/library/CropImageView$a;
invoke-direct {v3, p0}, Lcom/garena/cropimage/library/CropImageView$a;-><init>(Lcom/garena/cropimage/library/CropImageView;)V
invoke-direct {v0, v2, v3}, Lcom/garena/cropimage/library/CropImageView$c;-><init>(Lcom/garena/cropimage/library/CropImageView$b;Lcom/garena/cropimage/library/CropImageView$g;)V
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->e:Lcom/garena/cropimage/library/CropImageView$c;
new-array v1, v1, [Ljava/lang/Integer;
.line 5
invoke-virtual {v0, v1}, Landroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
return-void
.end method
.method public final c()V
.registers 6
.line 1
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
sget-object v1, Lcom/garena/cropimage/library/b$a;->NONE:Lcom/garena/cropimage/library/b$a;
invoke-virtual {v0, v1}, Lcom/garena/cropimage/library/CropTouchImageView;->setZoomMode(Lcom/garena/cropimage/library/b$a;)V
.line 2
invoke-virtual {p0}, Lcom/garena/cropimage/library/CropImageView;->b()V
.line 3
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
.line 4
iget v1, v0, Lcom/garena/cropimage/library/b;->h:I
if-lez v1, :cond_4f
.line 5
iget v2, v0, Lcom/garena/cropimage/library/b;->i:I
if-lez v2, :cond_4f
.line 6
iget v0, v0, Lcom/garena/cropimage/library/b;->j:I
const/4 v3, -0x1
if-ne v0, v3, :cond_39
.line 7
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
.line 8
iput v1, v0, Lcom/garena/cropimage/library/CropFrame;->a:I
.line 9
iput v2, v0, Lcom/garena/cropimage/library/CropFrame;->b:I
.line 10
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->k:Lcom/garena/cropimage/library/a;
if-nez v0, :cond_4f
.line 11
new-instance v0, Lcom/garena/cropimage/library/a;
invoke-direct {v0, p0}, Lcom/garena/cropimage/library/a;-><init>(Lcom/garena/cropimage/library/CropImageView;)V
iput-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->k:Lcom/garena/cropimage/library/a;
.line 12
invoke-virtual {p0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object v0
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->k:Lcom/garena/cropimage/library/a;
invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
goto :goto_4f
.line 13
:cond_39
iget-object v4, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
.line 14
iput v1, v4, Lcom/garena/cropimage/library/CropFrame;->a:I
.line 15
iput v2, v4, Lcom/garena/cropimage/library/CropFrame;->b:I
.line 16
new-instance v4, Landroid/widget/RelativeLayout$LayoutParams;
invoke-direct {v4, v3, v0}, Landroid/widget/RelativeLayout$LayoutParams;-><init>(II)V
.line 17
iget-object v3, p0, Lcom/garena/cropimage/library/CropImageView;->f:Landroid/widget/FrameLayout;
invoke-virtual {v3, v4}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
.line 18
iget-object v3, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
int-to-float v0, v0
invoke-virtual {v3, v1, v2, v0}, Lcom/garena/cropimage/library/CropTouchImageView;->l(IIF)V
.line 19
:cond_4f
:goto_4f
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
.line 20
iget v0, v0, Lcom/garena/cropimage/library/b;->c:I
.line 21
invoke-direct {p0, v0}, Lcom/garena/cropimage/library/CropImageView;->setFrameColor(I)V
.line 22
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
.line 23
iget-boolean v1, v0, Lcom/garena/cropimage/library/b;->e:Z
if-eqz v1, :cond_69
.line 24
iget-object v1, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
.line 25
iget v0, v0, Lcom/garena/cropimage/library/b;->d:I
.line 26
invoke-virtual {v1, v0}, Landroid/view/View;->setBackgroundColor(I)V
.line 27
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/garena/cropimage/library/CropTouchImageView;->setIsAllowingSpacing(Z)V
:cond_69
return-void
.end method
.method public getCropFrame()Lcom/garena/cropimage/library/CropFrame;
.registers 2
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->h:Lcom/garena/cropimage/library/CropFrame;
return-object v0
.end method
.method public getImageView()Lcom/garena/cropimage/library/CropTouchImageView;
.registers 2
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
return-object v0
.end method
.method public getParams()Lcom/garena/cropimage/library/b;
.registers 2
iget-object v0, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
return-object v0
.end method
.method public final onVisibilityChanged(Landroid/view/View;I)V
.registers 3
.line 1
invoke-super {p0, p1, p2}, Landroid/view/View;->onVisibilityChanged(Landroid/view/View;I)V
if-ne p1, p0, :cond_14
.line 2
iget-boolean p1, p0, Lcom/garena/cropimage/library/CropImageView;->a:Z
if-eqz p1, :cond_14
if-nez p2, :cond_f
.line 3
invoke-virtual {p0}, Lcom/garena/cropimage/library/CropImageView;->b()V
goto :goto_14
.line 4
:cond_f
iget-object p1, p0, Lcom/garena/cropimage/library/CropImageView;->i:Lcom/garena/cropimage/library/CropTouchImageView;
invoke-virtual {p1}, Lcom/garena/cropimage/library/CropTouchImageView;->i()V
:cond_14
:goto_14
return-void
.end method
.method public setBitmapLoader(Lcom/garena/cropimage/library/CropImageView$b;)V
.registers 2
.line 1
iput-object p1, p0, Lcom/garena/cropimage/library/CropImageView;->d:Lcom/garena/cropimage/library/CropImageView$b;
.line 2
invoke-virtual {p0}, Lcom/garena/cropimage/library/CropImageView;->b()V
return-void
.end method
.method public setCropImageCallback(Lcom/garena/cropimage/library/CropImageView$d;)V
.registers 2
iput-object p1, p0, Lcom/garena/cropimage/library/CropImageView;->b:Lcom/garena/cropimage/library/CropImageView$d;
return-void
.end method
.method public setImageLoadCallback(Lcom/garena/cropimage/library/CropImageView$g;)V
.registers 2
iput-object p1, p0, Lcom/garena/cropimage/library/CropImageView;->c:Lcom/garena/cropimage/library/CropImageView$g;
return-void
.end method
.method public setParams(Lcom/garena/cropimage/library/b;)V
.registers 2
.line 1
iput-object p1, p0, Lcom/garena/cropimage/library/CropImageView;->j:Lcom/garena/cropimage/library/b;
.line 2
invoke-virtual {p0}, Lcom/garena/cropimage/library/CropImageView;->c()V
return-void
.end method