CircleImageView.smali
.class public Lcom/baidu/sapi2/views/CircleImageView;
.super Landroid/widget/ImageView;
.source "CircleImageView.java"
# static fields
.field private static final BITMAP_CONFIG:Landroid/graphics/Bitmap$Config;
.field private static final COLOR_DRAWABLE_DIMENSION:I = 0x1
.field private static final DEFAULT_BORDER_COLOR:I = -0x1000000
.field private static final DEFAULT_BORDER_WIDTH:I
.field private static final SCALE_TYPE:Landroid/widget/ImageView$ScaleType;
# instance fields
.field private mBitmap:Landroid/graphics/Bitmap;
.field private mBitmapHeight:I
.field private final mBitmapPaint:Landroid/graphics/Paint;
.field private mBitmapShader:Landroid/graphics/BitmapShader;
.field private mBitmapWidth:I
.field private mBorderColor:I
.field private final mBorderPaint:Landroid/graphics/Paint;
.field private mBorderRadius:F
.field private final mBorderRect:Landroid/graphics/RectF;
.field private mBorderWidth:I
.field private mDrawableRadius:F
.field private final mDrawableRect:Landroid/graphics/RectF;
.field private mReady:Z
.field private mSetupPending:Z
.field private final mShaderMatrix:Landroid/graphics/Matrix;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 25
sget-object v0, Landroid/widget/ImageView$ScaleType;->CENTER_CROP:Landroid/widget/ImageView$ScaleType;
sput-object v0, Lcom/baidu/sapi2/views/CircleImageView;->SCALE_TYPE:Landroid/widget/ImageView$ScaleType;
.line 27
sget-object v0, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
sput-object v0, Lcom/baidu/sapi2/views/CircleImageView;->BITMAP_CONFIG:Landroid/graphics/Bitmap$Config;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 56
invoke-direct {p0, p1}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;)V
.line 33
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
.line 34
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
.line 36
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mShaderMatrix:Landroid/graphics/Matrix;
.line 37
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapPaint:Landroid/graphics/Paint;
.line 38
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
.line 40
const/high16 v0, -0x1000000
iput v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
.line 41
const/4 v0, 0x0
iput v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
.line 57
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->init()V
.line 58
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.prologue
.line 62
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/baidu/sapi2/views/CircleImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 63
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 8
.prologue
const/high16 v3, -0x1000000
const/4 v2, 0x0
.line 66
invoke-direct {p0, p1, p2, p3}, Landroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 33
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
.line 34
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
.line 36
new-instance v0, Landroid/graphics/Matrix;
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mShaderMatrix:Landroid/graphics/Matrix;
.line 37
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapPaint:Landroid/graphics/Paint;
.line 38
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
.line 40
iput v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
.line 41
iput v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
.line 68
sget-object v0, Lcom/baidu/passport/sapi2/R$styleable;->sapi_sdk_circle_image_view:[I
invoke-virtual {p1, p2, v0, p3, v2}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v0
.line 70
sget v1, Lcom/baidu/passport/sapi2/R$styleable;->sapi_sdk_circle_image_view_sapi_sdk_border_width:I
invoke-virtual {v0, v1, v2}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result v1
iput v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
.line 72
sget v1, Lcom/baidu/passport/sapi2/R$styleable;->sapi_sdk_circle_image_view_sapi_sdk_border_color:I
invoke-virtual {v0, v1, v3}, Landroid/content/res/TypedArray;->getColor(II)I
move-result v1
iput v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
.line 75
invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
.line 76
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->init()V
.line 77
return-void
.end method
.method private getBitmapFromDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
.registers 9
.prologue
const/4 v0, 0x0
.line 179
if-nez p1, :cond_4
.line 202
:goto_3
return-object v0
.line 183
:cond_4
instance-of v1, p1, Landroid/graphics/drawable/BitmapDrawable;
if-eqz v1, :cond_f
.line 184
check-cast p1, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {p1}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v0
goto :goto_3
.line 190
:cond_f
:try_start_f
instance-of v1, p1, Landroid/graphics/drawable/ColorDrawable;
if-eqz v1, :cond_32
.line 191
const/4 v1, 0x1
const/4 v2, 0x1
sget-object v3, Lcom/baidu/sapi2/views/CircleImageView;->BITMAP_CONFIG:Landroid/graphics/Bitmap$Config;
invoke-static {v1, v2, v3}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v1
.line 197
:goto_1b
new-instance v2, Landroid/graphics/Canvas;
invoke-direct {v2, v1}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 198
const/4 v3, 0x0
const/4 v4, 0x0
invoke-virtual {v2}, Landroid/graphics/Canvas;->getWidth()I
move-result v5
invoke-virtual {v2}, Landroid/graphics/Canvas;->getHeight()I
move-result v6
invoke-virtual {p1, v3, v4, v5, v6}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
.line 199
invoke-virtual {p1, v2}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
move-object v0, v1
.line 200
goto :goto_3
.line 193
:cond_32
invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v1
.line 194
invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v2
sget-object v3, Lcom/baidu/sapi2/views/CircleImageView;->BITMAP_CONFIG:Landroid/graphics/Bitmap$Config;
.line 193
invoke-static {v1, v2, v3}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
:try_end_3f
.catch Ljava/lang/OutOfMemoryError; {:try_start_f .. :try_end_3f} :catch_41
move-result-object v1
goto :goto_1b
.line 201
:catch_41
move-exception v1
goto :goto_3
.end method
.method private init()V
.registers 2
.prologue
.line 80
sget-object v0, Lcom/baidu/sapi2/views/CircleImageView;->SCALE_TYPE:Landroid/widget/ImageView$ScaleType;
invoke-super {p0, v0}, Landroid/widget/ImageView;->setScaleType(Landroid/widget/ImageView$ScaleType;)V
.line 81
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mReady:Z
.line 83
iget-boolean v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mSetupPending:Z
if-eqz v0, :cond_12
.line 84
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
.line 85
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mSetupPending:Z
.line 87
:cond_12
return-void
.end method
.method private setup()V
.registers 8
.prologue
const/4 v5, 0x0
const/4 v4, 0x1
const/high16 v6, 0x40000000 # 2.0f
.line 207
iget-boolean v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mReady:Z
if-nez v0, :cond_b
.line 208
iput-boolean v4, p0, Lcom/baidu/sapi2/views/CircleImageView;->mSetupPending:Z
.line 238
:cond_a
:goto_a
return-void
.line 212
:cond_b
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_a
.line 216
new-instance v0, Landroid/graphics/BitmapShader;
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
sget-object v2, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
sget-object v3, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
invoke-direct {v0, v1, v2, v3}, Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapShader:Landroid/graphics/BitmapShader;
.line 218
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 219
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapPaint:Landroid/graphics/Paint;
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapShader:Landroid/graphics/BitmapShader;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 221
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
sget-object v1, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 222
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v4}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 223
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
iget v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 224
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
iget v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v1, v1
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 226
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getHeight()I
move-result v0
iput v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapHeight:I
.line 227
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
iput v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapWidth:I
.line 229
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getWidth()I
move-result v1
int-to-float v1, v1
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getHeight()I
move-result v2
int-to-float v2, v2
invoke-virtual {v0, v5, v5, v1, v2}, Landroid/graphics/RectF;->set(FFFF)V
.line 230
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
invoke-virtual {v0}, Landroid/graphics/RectF;->height()F
move-result v0
iget v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v1, v1
sub-float/2addr v0, v1
div-float/2addr v0, v6
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
invoke-virtual {v1}, Landroid/graphics/RectF;->width()F
move-result v1
iget v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v2, v2
sub-float/2addr v1, v2
div-float/2addr v1, v6
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
iput v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRadius:F
.line 232
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v1, v1
iget v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v2, v2
iget-object v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
.line 233
invoke-virtual {v3}, Landroid/graphics/RectF;->width()F
move-result v3
iget v4, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v4, v4
sub-float/2addr v3, v4
iget-object v4, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRect:Landroid/graphics/RectF;
invoke-virtual {v4}, Landroid/graphics/RectF;->height()F
move-result v4
iget v5, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
int-to-float v5, v5
sub-float/2addr v4, v5
.line 232
invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/RectF;->set(FFFF)V
.line 234
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v0}, Landroid/graphics/RectF;->height()F
move-result v0
div-float/2addr v0, v6
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v1}, Landroid/graphics/RectF;->width()F
move-result v1
div-float/2addr v1, v6
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
iput v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRadius:F
.line 236
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->updateShaderMatrix()V
.line 237
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->invalidate()V
goto/16 :goto_a
.end method
.method private updateShaderMatrix()V
.registers 7
.prologue
const/4 v0, 0x0
const/high16 v4, 0x3f000000 # 0.5f
.line 242
.line 245
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mShaderMatrix:Landroid/graphics/Matrix;
const/4 v2, 0x0
invoke-virtual {v1, v2}, Landroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
.line 247
iget v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapWidth:I
int-to-float v1, v1
iget-object v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v2}, Landroid/graphics/RectF;->height()F
move-result v2
mul-float/2addr v1, v2
iget-object v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v2}, Landroid/graphics/RectF;->width()F
move-result v2
iget v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapHeight:I
int-to-float v3, v3
mul-float/2addr v2, v3
cmpl-float v1, v1, v2
if-lez v1, :cond_56
.line 248
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v1}, Landroid/graphics/RectF;->height()F
move-result v1
iget v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapHeight:I
int-to-float v2, v2
div-float v2, v1, v2
.line 249
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v1}, Landroid/graphics/RectF;->width()F
move-result v1
iget v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapWidth:I
int-to-float v3, v3
mul-float/2addr v3, v2
sub-float/2addr v1, v3
mul-float/2addr v1, v4
.line 255
:goto_38
iget-object v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mShaderMatrix:Landroid/graphics/Matrix;
invoke-virtual {v3, v2, v2}, Landroid/graphics/Matrix;->setScale(FF)V
.line 256
iget-object v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mShaderMatrix:Landroid/graphics/Matrix;
add-float/2addr v1, v4
float-to-int v1, v1
iget v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
add-int/2addr v1, v3
int-to-float v1, v1
add-float/2addr v0, v4
float-to-int v0, v0
iget v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
add-int/2addr v0, v3
int-to-float v0, v0
invoke-virtual {v2, v1, v0}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 258
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapShader:Landroid/graphics/BitmapShader;
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mShaderMatrix:Landroid/graphics/Matrix;
invoke-virtual {v0, v1}, Landroid/graphics/BitmapShader;->setLocalMatrix(Landroid/graphics/Matrix;)V
.line 259
return-void
.line 251
:cond_56
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v1}, Landroid/graphics/RectF;->width()F
move-result v1
iget v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapWidth:I
int-to-float v2, v2
div-float v2, v1, v2
.line 252
iget-object v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRect:Landroid/graphics/RectF;
invoke-virtual {v1}, Landroid/graphics/RectF;->height()F
move-result v1
iget v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapHeight:I
int-to-float v3, v3
mul-float/2addr v3, v2
sub-float/2addr v1, v3
mul-float/2addr v1, v4
move v5, v1
move v1, v0
move v0, v5
goto :goto_38
.end method
# virtual methods
.method public getBorderColor()I
.registers 2
.prologue
.line 121
iget v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
return v0
.end method
.method public getBorderWidth()I
.registers 2
.prologue
.line 137
iget v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
return v0
.end method
.method public getScaleType()Landroid/widget/ImageView$ScaleType;
.registers 2
.prologue
.line 91
sget-object v0, Lcom/baidu/sapi2/views/CircleImageView;->SCALE_TYPE:Landroid/widget/ImageView$ScaleType;
return-object v0
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 6
.prologue
.line 103
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-nez v0, :cond_7
.line 111
:cond_6
:goto_6
return-void
.line 107
:cond_7
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
int-to-float v0, v0
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getHeight()I
move-result v1
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
iget v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mDrawableRadius:F
iget-object v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmapPaint:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 108
iget v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
if-eqz v0, :cond_6
.line 109
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
int-to-float v0, v0
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getHeight()I
move-result v1
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
iget v2, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderRadius:F
iget-object v3, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
goto :goto_6
.end method
.method protected onSizeChanged(IIII)V
.registers 5
.prologue
.line 115
invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/ImageView;->onSizeChanged(IIII)V
.line 116
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
.line 117
return-void
.end method
.method public setBorderColor(I)V
.registers 4
.prologue
.line 126
iget v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
if-ne p1, v0, :cond_5
.line 133
:goto_4
return-void
.line 130
:cond_5
iput p1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
.line 131
iget-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderPaint:Landroid/graphics/Paint;
iget v1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderColor:I
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 132
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->invalidate()V
goto :goto_4
.end method
.method public setBorderWidth(I)V
.registers 3
.prologue
.line 142
iget v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
if-ne p1, v0, :cond_5
.line 148
:goto_4
return-void
.line 146
:cond_5
iput p1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBorderWidth:I
.line 147
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
goto :goto_4
.end method
.method public setImageBitmap(Landroid/graphics/Bitmap;)V
.registers 2
.prologue
.line 152
invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
.line 153
iput-object p1, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
.line 154
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
.line 155
return-void
.end method
.method public setImageDrawable(Landroid/graphics/drawable/Drawable;)V
.registers 3
.prologue
.line 159
invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
.line 160
invoke-direct {p0, p1}, Lcom/baidu/sapi2/views/CircleImageView;->getBitmapFromDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
move-result-object v0
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
.line 161
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
.line 162
return-void
.end method
.method public setImageResource(I)V
.registers 3
.prologue
.line 166
invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageResource(I)V
.line 167
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
invoke-direct {p0, v0}, Lcom/baidu/sapi2/views/CircleImageView;->getBitmapFromDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
move-result-object v0
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
.line 168
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
.line 169
return-void
.end method
.method public setImageURI(Landroid/net/Uri;)V
.registers 3
.prologue
.line 173
invoke-super {p0, p1}, Landroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V
.line 174
invoke-virtual {p0}, Lcom/baidu/sapi2/views/CircleImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v0
invoke-direct {p0, v0}, Lcom/baidu/sapi2/views/CircleImageView;->getBitmapFromDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
move-result-object v0
iput-object v0, p0, Lcom/baidu/sapi2/views/CircleImageView;->mBitmap:Landroid/graphics/Bitmap;
.line 175
invoke-direct {p0}, Lcom/baidu/sapi2/views/CircleImageView;->setup()V
.line 176
return-void
.end method
.method public setScaleType(Landroid/widget/ImageView$ScaleType;)V
.registers 2
.prologue
.line 99
return-void
.end method