RoundedImageView.smali

.class public Lcom/makeramen/roundedimageview/RoundedImageView;
.super Landroid/widget/ImageView;


# static fields
.field public static final u:Landroid/graphics/Shader$TileMode;

.field private static final v:[Landroid/widget/ImageView$ScaleType;


# instance fields
.field private final f:[F

.field private g:Landroid/graphics/drawable/Drawable;

.field private h:Landroid/content/res/ColorStateList;

.field private i:F

.field private j:Landroid/graphics/ColorFilter;

.field private k:Z

.field private l:Landroid/graphics/drawable/Drawable;

.field private m:Z

.field private n:Z

.field private o:Z

.field private p:I

.field private q:I

.field private r:Landroid/widget/ImageView$ScaleType;

.field private s:Landroid/graphics/Shader$TileMode;

.field private t:Landroid/graphics/Shader$TileMode;


# direct methods
.method static constructor <clinit>()V
    .registers 3

    const-class v0, Lcom/makeramen/roundedimageview/RoundedImageView;

    sget-object v0, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;

    sput-object v0, Lcom/makeramen/roundedimageview/RoundedImageView;->u:Landroid/graphics/Shader$TileMode;

    const/16 v0, 0x8

    new-array v0, v0, [Landroid/widget/ImageView$ScaleType;

    const/4 v1, 0x0

    sget-object v2, Landroid/widget/ImageView$ScaleType;->MATRIX:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x1

    sget-object v2, Landroid/widget/ImageView$ScaleType;->FIT_XY:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x2

    sget-object v2, Landroid/widget/ImageView$ScaleType;->FIT_START:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x3

    sget-object v2, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x4

    sget-object v2, Landroid/widget/ImageView$ScaleType;->FIT_END:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x5

    sget-object v2, Landroid/widget/ImageView$ScaleType;->CENTER:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x6

    sget-object v2, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    const/4 v1, 0x7

    sget-object v2, Landroid/widget/ImageView$ScaleType;->CENTER_INSIDE:Landroid/widget/ImageView$ScaleType;

    aput-object v2, v0, v1

    sput-object v0, Lcom/makeramen/roundedimageview/RoundedImageView;->v:[Landroid/widget/ImageView$ScaleType;

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
    .registers 4

    const/4 v0, 0x0

    invoke-direct {p0, p1, p2, v0}, Lcom/makeramen/roundedimageview/RoundedImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
    .registers 13

    invoke-direct {p0, p1, p2, p3}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V

    const/4 v0, 0x4

    new-array v0, v0, [F

    fill-array-data v0, :array_11c

    iput-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    const/high16 v0, -0x1000000

    invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

    move-result-object v1

    iput-object v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    const/4 v1, 0x0

    iput v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    const/4 v2, 0x0

    iput-object v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->j:Landroid/graphics/ColorFilter;

    const/4 v2, 0x0

    iput-boolean v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->k:Z

    iput-boolean v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->m:Z

    iput-boolean v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->n:Z

    iput-boolean v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->o:Z

    sget-object v3, Lcom/makeramen/roundedimageview/RoundedImageView;->u:Landroid/graphics/Shader$TileMode;

    iput-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->s:Landroid/graphics/Shader$TileMode;

    iput-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->t:Landroid/graphics/Shader$TileMode;

    sget-object v3, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView:[I

    invoke-virtual {p1, p2, v3, p3, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;

    move-result-object p1

    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_android_scaleType:I

    const/4 p3, -0x1

    invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result p2

    if-ltz p2, :cond_3f

    sget-object v3, Lcom/makeramen/roundedimageview/RoundedImageView;->v:[Landroid/widget/ImageView$ScaleType;

    aget-object p2, v3, p2

    invoke-virtual {p0, p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    goto :goto_44

    :cond_3f
    sget-object p2, Landroid/widget/ImageView$ScaleType;->FIT_CENTER:Landroid/widget/ImageView$ScaleType;

    invoke-virtual {p0, p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    :goto_44
    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_corner_radius:I

    invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result p2

    int-to-float p2, p2

    iget-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    sget v4, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_corner_radius_top_left:I

    invoke-virtual {p1, v4, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v4

    int-to-float v4, v4

    aput v4, v3, v2

    iget-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    sget v4, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_corner_radius_top_right:I

    invoke-virtual {p1, v4, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v4

    int-to-float v4, v4

    const/4 v5, 0x1

    aput v4, v3, v5

    iget-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    const/4 v4, 0x2

    sget v6, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_corner_radius_bottom_right:I

    invoke-virtual {p1, v6, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v6

    int-to-float v6, v6

    aput v6, v3, v4

    iget-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    const/4 v4, 0x3

    sget v6, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_corner_radius_bottom_left:I

    invoke-virtual {p1, v6, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result v6

    int-to-float v6, v6

    aput v6, v3, v4

    iget-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    array-length v3, v3

    const/4 v4, 0x0

    const/4 v6, 0x0

    :goto_7f
    if-ge v4, v3, :cond_90

    iget-object v7, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    aget v8, v7, v4

    cmpg-float v8, v8, v1

    if-gez v8, :cond_8c

    aput v1, v7, v4

    goto :goto_8d

    :cond_8c
    const/4 v6, 0x1

    :goto_8d
    add-int/lit8 v4, v4, 0x1

    goto :goto_7f

    :cond_90
    if-nez v6, :cond_a4

    cmpg-float v3, p2, v1

    if-gez v3, :cond_97

    const/4 p2, 0x0

    :cond_97
    iget-object v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    array-length v3, v3

    const/4 v4, 0x0

    :goto_9b
    if-ge v4, v3, :cond_a4

    iget-object v6, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    aput p2, v6, v4

    add-int/lit8 v4, v4, 0x1

    goto :goto_9b

    :cond_a4
    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_border_width:I

    invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I

    move-result p2

    int-to-float p2, p2

    iput p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    cmpg-float p2, p2, v1

    if-gez p2, :cond_b3

    iput v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    :cond_b3
    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_border_color:I

    invoke-virtual {p1, p2}, Landroid/content/res/TypedArray;->getColorStateList(I)Landroid/content/res/ColorStateList;

    move-result-object p2

    iput-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    if-nez p2, :cond_c3

    invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

    move-result-object p2

    iput-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    :cond_c3
    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_mutate_background:I

    invoke-virtual {p1, p2, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result p2

    iput-boolean p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->o:Z

    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_oval:I

    invoke-virtual {p1, p2, v2}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z

    move-result p2

    iput-boolean p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->n:Z

    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_tile_mode:I

    const/4 p3, -0x2

    invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result p2

    if-eq p2, p3, :cond_ea

    invoke-static {p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->b(I)Landroid/graphics/Shader$TileMode;

    move-result-object v0

    invoke-virtual {p0, v0}, Lcom/makeramen/roundedimageview/RoundedImageView;->setTileModeX(Landroid/graphics/Shader$TileMode;)V

    invoke-static {p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->b(I)Landroid/graphics/Shader$TileMode;

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->setTileModeY(Landroid/graphics/Shader$TileMode;)V

    :cond_ea
    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_tile_mode_x:I

    invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result p2

    if-eq p2, p3, :cond_f9

    invoke-static {p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->b(I)Landroid/graphics/Shader$TileMode;

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->setTileModeX(Landroid/graphics/Shader$TileMode;)V

    :cond_f9
    sget p2, Lcom/makeramen/roundedimageview/R$styleable;->RoundedImageView_riv_tile_mode_y:I

    invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getInt(II)I

    move-result p2

    if-eq p2, p3, :cond_108

    invoke-static {p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->b(I)Landroid/graphics/Shader$TileMode;

    move-result-object p2

    invoke-virtual {p0, p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->setTileModeY(Landroid/graphics/Shader$TileMode;)V

    :cond_108
    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    invoke-direct {p0, v5}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    iget-boolean p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->o:Z

    if-eqz p2, :cond_117

    iget-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    invoke-super {p0, p2}, Landroid/widget/ImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V

    :cond_117
    invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V

    return-void

    nop

    :array_11c
    .array-data 4
        0x0
        0x0
        0x0
        0x0
    .end array-data
.end method

.method private a()V
    .registers 3

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    if-eqz v0, :cond_17

    iget-boolean v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->k:Z

    if-eqz v1, :cond_17

    invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;

    move-result-object v0

    iput-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    iget-boolean v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->m:Z

    if-eqz v1, :cond_17

    iget-object v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->j:Landroid/graphics/ColorFilter;

    invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->setColorFilter(Landroid/graphics/ColorFilter;)V

    :cond_17
    return-void
.end method

.method private static b(I)Landroid/graphics/Shader$TileMode;
    .registers 2

    if-eqz p0, :cond_10

    const/4 v0, 0x1

    if-eq p0, v0, :cond_d

    const/4 v0, 0x2

    if-eq p0, v0, :cond_a

    const/4 p0, 0x0

    return-object p0

    :cond_a
    sget-object p0, Landroid/graphics/Shader$TileMode;->MIRROR:Landroid/graphics/Shader$TileMode;

    return-object p0

    :cond_d
    sget-object p0, Landroid/graphics/Shader$TileMode;->REPEAT:Landroid/graphics/Shader$TileMode;

    return-object p0

    :cond_10
    sget-object p0, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;

    return-object p0
.end method

.method private c()Landroid/graphics/drawable/Drawable;
    .registers 5

    invoke-virtual {p0}, Landroid/widget/ImageView;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    const/4 v1, 0x0

    if-nez v0, :cond_8

    return-object v1

    :cond_8
    iget v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->q:I

    if-eqz v2, :cond_2d

    :try_start_c
    invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

    move-result-object v1
    :try_end_10
    .catch Ljava/lang/Exception; {:try_start_c .. :try_end_10} :catch_11

    goto :goto_2d

    :catch_11
    move-exception v0

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Unable to find resource: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->q:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "RoundedImageView"

    invoke-static {v3, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    const/4 v0, 0x0

    iput v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->q:I

    :cond_2d
    :goto_2d
    invoke-static {v1}, Lcom/makeramen/roundedimageview/RoundedDrawable;->e(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    return-object v0
.end method

.method private d()Landroid/graphics/drawable/Drawable;
    .registers 5

    invoke-virtual {p0}, Landroid/widget/ImageView;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    const/4 v1, 0x0

    if-nez v0, :cond_8

    return-object v1

    :cond_8
    iget v2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    if-eqz v2, :cond_2d

    :try_start_c
    invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getDrawable(I)Landroid/graphics/drawable/Drawable;

    move-result-object v1
    :try_end_10
    .catch Ljava/lang/Exception; {:try_start_c .. :try_end_10} :catch_11

    goto :goto_2d

    :catch_11
    move-exception v0

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "Unable to find resource: "

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    iget v3, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const-string v3, "RoundedImageView"

    invoke-static {v3, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    const/4 v0, 0x0

    iput v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    :cond_2d
    :goto_2d
    invoke-static {v1}, Lcom/makeramen/roundedimageview/RoundedDrawable;->e(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;

    move-result-object v0

    return-object v0
.end method

.method private f(Landroid/graphics/drawable/Drawable;Landroid/widget/ImageView$ScaleType;)V
    .registers 7

    if-nez p1, :cond_3

    return-void

    :cond_3
    instance-of v0, p1, Lcom/makeramen/roundedimageview/RoundedDrawable;

    const/4 v1, 0x0

    if-eqz v0, :cond_3c

    check-cast p1, Lcom/makeramen/roundedimageview/RoundedDrawable;

    invoke-virtual {p1, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->l(Landroid/widget/ImageView$ScaleType;)Lcom/makeramen/roundedimageview/RoundedDrawable;

    iget p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    invoke-virtual {p1, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->i(F)Lcom/makeramen/roundedimageview/RoundedDrawable;

    iget-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    invoke-virtual {p1, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->h(Landroid/content/res/ColorStateList;)Lcom/makeramen/roundedimageview/RoundedDrawable;

    iget-boolean p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->n:Z

    invoke-virtual {p1, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->k(Z)Lcom/makeramen/roundedimageview/RoundedDrawable;

    iget-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->s:Landroid/graphics/Shader$TileMode;

    invoke-virtual {p1, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->m(Landroid/graphics/Shader$TileMode;)Lcom/makeramen/roundedimageview/RoundedDrawable;

    iget-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->t:Landroid/graphics/Shader$TileMode;

    invoke-virtual {p1, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->n(Landroid/graphics/Shader$TileMode;)Lcom/makeramen/roundedimageview/RoundedDrawable;

    iget-object p2, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    if-eqz p2, :cond_38

    aget v0, p2, v1

    const/4 v1, 0x1

    aget v1, p2, v1

    const/4 v2, 0x2

    aget v2, p2, v2

    const/4 v3, 0x3

    aget p2, p2, v3

    invoke-virtual {p1, v0, v1, v2, p2}, Lcom/makeramen/roundedimageview/RoundedDrawable;->j(FFFF)Lcom/makeramen/roundedimageview/RoundedDrawable;

    :cond_38
    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->a()V

    goto :goto_52

    :cond_3c
    instance-of v0, p1, Landroid/graphics/drawable/LayerDrawable;

    if-eqz v0, :cond_52

    check-cast p1, Landroid/graphics/drawable/LayerDrawable;

    invoke-virtual {p1}, Landroid/graphics/drawable/LayerDrawable;->getNumberOfLayers()I

    move-result v0

    :goto_46
    if-ge v1, v0, :cond_52

    invoke-virtual {p1, v1}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;

    move-result-object v2

    invoke-direct {p0, v2, p2}, Lcom/makeramen/roundedimageview/RoundedImageView;->f(Landroid/graphics/drawable/Drawable;Landroid/widget/ImageView$ScaleType;)V

    add-int/lit8 v1, v1, 0x1

    goto :goto_46

    :cond_52
    :goto_52
    return-void
.end method

.method private g(Z)V
    .registers 3

    iget-boolean v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->o:Z

    if-eqz v0, :cond_15

    if-eqz p1, :cond_e

    iget-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    invoke-static {p1}, Lcom/makeramen/roundedimageview/RoundedDrawable;->e(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;

    move-result-object p1

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    :cond_e
    iget-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    sget-object v0, Landroid/widget/ImageView$ScaleType;->FIT_XY:Landroid/widget/ImageView$ScaleType;

    invoke-direct {p0, p1, v0}, Lcom/makeramen/roundedimageview/RoundedImageView;->f(Landroid/graphics/drawable/Drawable;Landroid/widget/ImageView$ScaleType;)V

    :cond_15
    return-void
.end method

.method private h()V
    .registers 3

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    iget-object v1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->r:Landroid/widget/ImageView$ScaleType;

    invoke-direct {p0, v0, v1}, Lcom/makeramen/roundedimageview/RoundedImageView;->f(Landroid/graphics/drawable/Drawable;Landroid/widget/ImageView$ScaleType;)V

    return-void
.end method


# virtual methods
.method protected drawableStateChanged()V
    .registers 1

    invoke-super {p0}, Landroid/widget/ImageView;->drawableStateChanged()V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    return-void
.end method

.method public e(FFFF)V
    .registers 11

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    const/4 v1, 0x0

    aget v2, v0, v1

    const/4 v3, 0x2

    const/4 v4, 0x3

    const/4 v5, 0x1

    cmpl-float v2, v2, p1

    if-nez v2, :cond_1f

    aget v2, v0, v5

    cmpl-float v2, v2, p2

    if-nez v2, :cond_1f

    aget v2, v0, v3

    cmpl-float v2, v2, p4

    if-nez v2, :cond_1f

    aget v0, v0, v4

    cmpl-float v0, v0, p3

    if-nez v0, :cond_1f

    return-void

    :cond_1f
    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    aput p1, v0, v1

    aput p2, v0, v5

    aput p3, v0, v4

    aput p4, v0, v3

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    invoke-direct {p0, v1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    return-void
.end method

.method public getBorderColor()I
    .registers 2

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    invoke-virtual {v0}, Landroid/content/res/ColorStateList;->getDefaultColor()I

    move-result v0

    return v0
.end method

.method public getBorderColors()Landroid/content/res/ColorStateList;
    .registers 2

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    return-object v0
.end method

.method public getBorderWidth()F
    .registers 2

    iget v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    return v0
.end method

.method public getCornerRadius()F
    .registers 2

    invoke-virtual {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->getMaxCornerRadius()F

    move-result v0

    return v0
.end method

.method public getMaxCornerRadius()F
    .registers 6

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->f:[F

    array-length v1, v0

    const/4 v2, 0x0

    const/4 v3, 0x0

    :goto_5
    if-ge v3, v1, :cond_10

    aget v4, v0, v3

    invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F

    move-result v2

    add-int/lit8 v3, v3, 0x1

    goto :goto_5

    :cond_10
    return v2
.end method

.method public getScaleType()Landroid/widget/ImageView$ScaleType;
    .registers 2

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->r:Landroid/widget/ImageView$ScaleType;

    return-object v0
.end method

.method public getTileModeX()Landroid/graphics/Shader$TileMode;
    .registers 2

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->s:Landroid/graphics/Shader$TileMode;

    return-object v0
.end method

.method public getTileModeY()Landroid/graphics/Shader$TileMode;
    .registers 2

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->t:Landroid/graphics/Shader$TileMode;

    return-object v0
.end method

.method public setBackground(Landroid/graphics/drawable/Drawable;)V
    .registers 2

    invoke-virtual {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V

    return-void
.end method

.method public setBackgroundColor(I)V
    .registers 3

    new-instance v0, Landroid/graphics/drawable/ColorDrawable;

    invoke-direct {v0, p1}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V

    iput-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    invoke-virtual {p0, v0}, Lcom/makeramen/roundedimageview/RoundedImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V

    return-void
.end method

.method public setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
    .registers 2
    .annotation runtime Ljava/lang/Deprecated;
    .end annotation

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    const/4 p1, 0x1

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    iget-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V

    return-void
.end method

.method public setBackgroundResource(I)V
    .registers 3

    iget v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->q:I

    if-eq v0, p1, :cond_f

    iput p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->q:I

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->c()Landroid/graphics/drawable/Drawable;

    move-result-object p1

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->g:Landroid/graphics/drawable/Drawable;

    invoke-virtual {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V

    :cond_f
    return-void
.end method

.method public setBorderColor(I)V
    .registers 2

    invoke-static {p1}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->setBorderColor(Landroid/content/res/ColorStateList;)V

    return-void
.end method

.method public setBorderColor(Landroid/content/res/ColorStateList;)V
    .registers 3

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_9

    return-void

    :cond_9
    if-eqz p1, :cond_c

    goto :goto_12

    :cond_c
    const/high16 p1, -0x1000000

    invoke-static {p1}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;

    move-result-object p1

    :goto_12
    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->h:Landroid/content/res/ColorStateList;

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    const/4 p1, 0x0

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    iget p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    const/4 v0, 0x0

    cmpl-float p1, p1, v0

    if-lez p1, :cond_25

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    :cond_25
    return-void
.end method

.method public setBorderWidth(F)V
    .registers 3

    iget v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    cmpl-float v0, v0, p1

    if-nez v0, :cond_7

    return-void

    :cond_7
    iput p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->i:F

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    const/4 p1, 0x0

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    return-void
.end method

.method public setBorderWidth(I)V
    .registers 3

    invoke-virtual {p0}, Landroid/widget/ImageView;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getDimension(I)F

    move-result p1

    invoke-virtual {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->setBorderWidth(F)V

    return-void
.end method

.method public setColorFilter(Landroid/graphics/ColorFilter;)V
    .registers 3

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->j:Landroid/graphics/ColorFilter;

    if-eq v0, p1, :cond_11

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->j:Landroid/graphics/ColorFilter;

    const/4 p1, 0x1

    iput-boolean p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->m:Z

    iput-boolean p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->k:Z

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->a()V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    :cond_11
    return-void
.end method

.method public setCornerRadius(F)V
    .registers 2

    invoke-virtual {p0, p1, p1, p1, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->e(FFFF)V

    return-void
.end method

.method public setCornerRadiusDimen(I)V
    .registers 3

    invoke-virtual {p0}, Landroid/widget/ImageView;->getResources()Landroid/content/res/Resources;

    move-result-object v0

    invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getDimension(I)F

    move-result p1

    invoke-virtual {p0, p1, p1, p1, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->e(FFFF)V

    return-void
.end method

.method public setImageBitmap(Landroid/graphics/Bitmap;)V
    .registers 3

    const/4 v0, 0x0

    iput v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    invoke-static {p1}, Lcom/makeramen/roundedimageview/RoundedDrawable;->d(Landroid/graphics/Bitmap;)Lcom/makeramen/roundedimageview/RoundedDrawable;

    move-result-object p1

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    iget-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    return-void
.end method

.method public setImageDrawable(Landroid/graphics/drawable/Drawable;)V
    .registers 3

    const/4 v0, 0x0

    iput v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    invoke-static {p1}, Lcom/makeramen/roundedimageview/RoundedDrawable;->e(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;

    move-result-object p1

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    iget-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    return-void
.end method

.method public setImageResource(I)V
    .registers 3

    iget v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    if-eq v0, p1, :cond_14

    iput p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->p:I

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->d()Landroid/graphics/drawable/Drawable;

    move-result-object p1

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    iget-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->l:Landroid/graphics/drawable/Drawable;

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    :cond_14
    return-void
.end method

.method public setImageURI(Landroid/net/Uri;)V
    .registers 2

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;

    move-result-object p1

    invoke-virtual {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V

    return-void
.end method

.method public setOval(Z)V
    .registers 2

    iput-boolean p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->n:Z

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    const/4 p1, 0x0

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    return-void
.end method

.method public setScaleType(Landroid/widget/ImageView$ScaleType;)V
    .registers 4

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->r:Landroid/widget/ImageView$ScaleType;

    if-eq v0, p1, :cond_24

    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->r:Landroid/widget/ImageView$ScaleType;

    sget-object v0, Lcom/makeramen/roundedimageview/RoundedImageView$1;->a:[I

    invoke-virtual {p1}, Landroid/widget/ImageView$ScaleType;->ordinal()I

    move-result v1

    aget v0, v0, v1

    packed-switch v0, :pswitch_data_26

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    goto :goto_1a

    :pswitch_15
    sget-object p1, Landroid/widget/ImageView$ScaleType;->FIT_XY:Landroid/widget/ImageView$ScaleType;

    invoke-super {p0, p1}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V

    :goto_1a
    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    const/4 p1, 0x0

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    :cond_24
    return-void

    nop

    :pswitch_data_26
    .packed-switch 0x1
        :pswitch_15
        :pswitch_15
        :pswitch_15
        :pswitch_15
        :pswitch_15
        :pswitch_15
        :pswitch_15
    .end packed-switch
.end method

.method public setTileModeX(Landroid/graphics/Shader$TileMode;)V
    .registers 3

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->s:Landroid/graphics/Shader$TileMode;

    if-ne v0, p1, :cond_5

    return-void

    :cond_5
    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->s:Landroid/graphics/Shader$TileMode;

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    const/4 p1, 0x0

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    return-void
.end method

.method public setTileModeY(Landroid/graphics/Shader$TileMode;)V
    .registers 3

    iget-object v0, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->t:Landroid/graphics/Shader$TileMode;

    if-ne v0, p1, :cond_5

    return-void

    :cond_5
    iput-object p1, p0, Lcom/makeramen/roundedimageview/RoundedImageView;->t:Landroid/graphics/Shader$TileMode;

    invoke-direct {p0}, Lcom/makeramen/roundedimageview/RoundedImageView;->h()V

    const/4 p1, 0x0

    invoke-direct {p0, p1}, Lcom/makeramen/roundedimageview/RoundedImageView;->g(Z)V

    invoke-virtual {p0}, Landroid/widget/ImageView;->invalidate()V

    return-void
.end method