CircleImageView.smali
.class public Lcom/imo/android/imoim/views/CircleImageView;
.super Lcom/imo/android/imoim/views/IdenticonImageView;
.source "SourceFile"
# instance fields
.field private d:I
.field private e:Landroid/graphics/Paint;
.field private f:F
.field private g:I
.field private h:Landroid/graphics/Paint;
.field private i:I
.field private j:Landroid/graphics/Bitmap;
.field private k:Landroid/graphics/Canvas;
.field private l:Landroid/graphics/Shader;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
const/4 v0, 0x0
.line 44
invoke-direct {p0, p1, p2, v0}, Lcom/imo/android/imoim/views/CircleImageView;-><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 5
.line 48
invoke-direct {p0, p1, p2, p3}, Lcom/imo/android/imoim/views/IdenticonImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
const/4 p1, 0x4
new-array p1, p1, [I
.line 1053
fill-array-data p1, :array_42
.line 1055
invoke-virtual {p0}, Lcom/imo/android/imoim/views/CircleImageView;->getContext()Landroid/content/Context;
move-result-object p3
invoke-virtual {p3, p2, p1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object p1
const/4 p2, 0x0
.line 1058
invoke-virtual {p1, p2, p2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p3
iput p3, p0, Lcom/imo/android/imoim/views/CircleImageView;->i:I
const/4 p3, 0x1
.line 1059
invoke-virtual {p1, p3, p2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result p3
iput p3, p0, Lcom/imo/android/imoim/views/CircleImageView;->d:I
const/4 p3, 0x2
const v0, 0x7f060213
.line 1060
invoke-virtual {p1, p3, v0}, Landroid/content/res/TypedArray;->getColor(II)I
move-result p3
iput p3, p0, Lcom/imo/android/imoim/views/CircleImageView;->g:I
const/4 p3, 0x3
.line 1061
invoke-virtual {p1, p3, p2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
invoke-direct {p0, p2}, Lcom/imo/android/imoim/views/CircleImageView;->setStrokeWidth(I)V
.line 1062
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
.line 1064
iget p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->i:I
if-lez p1, :cond_3b
.line 1065
invoke-direct {p0, p1}, Lcom/imo/android/imoim/views/CircleImageView;->a(I)V
.line 1068
:cond_3b
sget-object p1, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType;
invoke-virtual {p0, p1}, Lcom/imo/android/imoim/views/CircleImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
return-void
nop
:array_42
.array-data 4
0x10100f4
0x7f040057
0x7f040439
0x7f04043a
.end array-data
.end method
.method private a(I)V
.registers 4
.line 78
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
invoke-static {p1, p1, v0}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object p1
iput-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->j:Landroid/graphics/Bitmap;
.line 80
new-instance p1, Landroid/graphics/Canvas;
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->j:Landroid/graphics/Bitmap;
invoke-direct {p1, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
iput-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->k:Landroid/graphics/Canvas;
.line 81
new-instance p1, Landroid/graphics/BitmapShader;
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->j:Landroid/graphics/Bitmap;
sget-object v1, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
invoke-direct {p1, v0, v1, v1}, Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
iput-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->l:Landroid/graphics/Shader;
.line 83
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->h:Landroid/graphics/Paint;
.line 84
sget-object v0, Landroid/graphics/Paint$Style;->FILL_AND_STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 85
iget-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->h:Landroid/graphics/Paint;
const/4 v0, 0x1
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 86
iget-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->h:Landroid/graphics/Paint;
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setFilterBitmap(Z)V
.line 87
iget-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->h:Landroid/graphics/Paint;
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->l:Landroid/graphics/Shader;
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
return-void
.end method
.method private setStrokeWidth(I)V
.registers 3
int-to-float p1, p1
.line 91
iput p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->f:F
const/4 v0, 0x0
cmpl-float p1, p1, v0
if-lez p1, :cond_28
.line 93
new-instance p1, Landroid/graphics/Paint;
invoke-direct {p1}, Landroid/graphics/Paint;-><init>()V
iput-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->e:Landroid/graphics/Paint;
.line 94
sget-object v0, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 95
iget-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->e:Landroid/graphics/Paint;
const/4 v0, 0x1
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 96
iget-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->e:Landroid/graphics/Paint;
iget v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->g:I
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 97
iget-object p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->e:Landroid/graphics/Paint;
iget v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->f:F
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setStrokeWidth(F)V
:cond_28
return-void
.end method
# virtual methods
.method public final a(II)V
.registers 3
.line 110
invoke-direct {p0, p2}, Lcom/imo/android/imoim/views/CircleImageView;->setStrokeWidth(I)V
.line 111
invoke-virtual {p0, p1}, Lcom/imo/android/imoim/views/CircleImageView;->setBorderColor(I)V
return-void
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 11
.line 126
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->j:Landroid/graphics/Bitmap;
if-nez v0, :cond_5
return-void
.line 128
:cond_5
iget v1, p0, Lcom/imo/android/imoim/views/CircleImageView;->i:I
int-to-double v1, v1
const-wide/high16 v3, 0x4000000000000000L # 2.0
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v1, v3
double-to-float v1, v1
const/4 v2, 0x0
.line 130
invoke-virtual {v0, v2}, Landroid/graphics/Bitmap;->eraseColor(I)V
.line 131
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->k:Landroid/graphics/Canvas;
iget v2, p0, Lcom/imo/android/imoim/views/CircleImageView;->d:I
invoke-virtual {v0, v2}, Landroid/graphics/Canvas;->drawColor(I)V
.line 132
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->k:Landroid/graphics/Canvas;
invoke-super {p0, v0}, Lcom/imo/android/imoim/views/IdenticonImageView;->onDraw(Landroid/graphics/Canvas;)V
.line 134
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->h:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v1, v1, v0}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 136
iget v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->f:F
const/4 v2, 0x0
cmpl-float v2, v0, v2
if-lez v2, :cond_3b
float-to-double v5, v1
float-to-double v7, v0
.line 137
invoke-static {v7, v8}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v7, v3
invoke-static {v5, v6}, Ljava/lang/Double;->isNaN(D)Z
sub-double/2addr v5, v7
double-to-float v0, v5
.line 138
iget-object v2, p0, Lcom/imo/android/imoim/views/CircleImageView;->e:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v1, v0, v2}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
:cond_3b
return-void
.end method
.method protected onSizeChanged(IIII)V
.registers 5
.line 116
invoke-super {p0, p1, p2, p3, p4}, Lcom/imo/android/imoim/views/IdenticonImageView;->onSizeChanged(IIII)V
if-ne p3, p1, :cond_7
if-eq p4, p2, :cond_12
:cond_7
if-lez p1, :cond_12
.line 118
iget p2, p0, Lcom/imo/android/imoim/views/CircleImageView;->i:I
if-gtz p2, :cond_12
.line 119
iput p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->i:I
.line 120
invoke-direct {p0, p1}, Lcom/imo/android/imoim/views/CircleImageView;->a(I)V
:cond_12
return-void
.end method
.method public setBorderColor(I)V
.registers 4
.line 102
iput p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->g:I
.line 103
iget v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->f:F
const/4 v1, 0x0
cmpl-float v0, v0, v1
if-lez v0, :cond_10
iget-object v0, p0, Lcom/imo/android/imoim/views/CircleImageView;->e:Landroid/graphics/Paint;
if-eqz v0, :cond_10
.line 104
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V
.line 106
:cond_10
invoke-virtual {p0}, Lcom/imo/android/imoim/views/CircleImageView;->invalidate()V
return-void
.end method
.method public setFixedSize(I)V
.registers 2
.line 72
iput p1, p0, Lcom/imo/android/imoim/views/CircleImageView;->i:I
.line 73
invoke-direct {p0, p1}, Lcom/imo/android/imoim/views/CircleImageView;->a(I)V
.line 74
invoke-virtual {p0}, Lcom/imo/android/imoim/views/CircleImageView;->invalidate()V
return-void
.end method