RoundedImageView.smali
.class public Lcom/cm/coordinator/screensaver/widget/RoundedImageView;
.super Landroid/widget/ImageView;
.source "RoundedImageView.java"
# instance fields
.field a:Landroid/graphics/Paint;
.field b:Landroid/graphics/PorterDuffXfermode;
.field c:Landroid/graphics/DrawFilter;
.field d:F
.field private e:F
.field private f:Z
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 26
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 27
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.prologue
.line 30
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 31
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 8
.prologue
const/4 v3, 0x0
const/4 v2, 0x1
.line 38
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/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a:Landroid/graphics/Paint;
.line 57
iput-boolean v2, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->f:Z
.line 39
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
sget v1, Lcom/cm/screensaver/coordinator/R$color;->color_message_text:I
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getColor(I)I
move-result v0
.line 40
iget-object v1, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a:Landroid/graphics/Paint;
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 41
iget-object v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a:Landroid/graphics/Paint;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setDither(Z)V
.line 42
iget-object v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a:Landroid/graphics/Paint;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 43
iget-object v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a: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 44
new-instance v0, Landroid/graphics/PorterDuffXfermode;
sget-object v1, Landroid/graphics/PorterDuff$Mode;->SRC_IN:Landroid/graphics/PorterDuff$Mode;
invoke-direct {v0, v1}, Landroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V
iput-object v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->b:Landroid/graphics/PorterDuffXfermode;
.line 45
new-instance v0, Landroid/graphics/PaintFlagsDrawFilter;
const/4 v1, 0x0
const/4 v2, 0x3
invoke-direct {v0, v1, v2}, Landroid/graphics/PaintFlagsDrawFilter;-><init>(II)V
iput-object v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->c:Landroid/graphics/DrawFilter;
.line 48
sget-object v0, Lcom/cm/screensaver/coordinator/R$styleable;->LoRoundedImageView:[I
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
move-result-object v0
.line 49
if-eqz v0, :cond_62
.line 50
sget v1, Lcom/cm/screensaver/coordinator/R$styleable;->LoRoundedImageView_ss_corner_radius:I
invoke-virtual {v0, v1, v3}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
iput v1, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
.line 51
sget v1, Lcom/cm/screensaver/coordinator/R$styleable;->LoRoundedImageView_ss_stroke_width:I
invoke-virtual {v0, v1, v3}, Landroid/content/res/TypedArray;->getDimension(IF)F
move-result v1
iput v1, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->d:F
.line 52
iget-object v1, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a:Landroid/graphics/Paint;
iget v2, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->d:F
invoke-virtual {v1, v2}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 53
invoke-virtual {v0}, Landroid/content/res/TypedArray;->recycle()V
.line 55
:cond_62
return-void
.end method
# virtual methods
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 10
.prologue
const/4 v1, 0x0
.line 64
invoke-virtual {p0}, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
move-result-object v7
.line 65
instance-of v0, v7, Landroid/graphics/drawable/BitmapDrawable;
if-eqz v0, :cond_7b
move-object v0, v7
.line 66
check-cast v0, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {v0}, Landroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v0
.line 67
if-eqz v0, :cond_18
invoke-virtual {v0}, Landroid/graphics/Bitmap;->isRecycled()Z
move-result v0
if-eqz v0, :cond_19
.line 90
:cond_18
:goto_18
return-void
.line 68
:cond_19
iget-boolean v0, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->f:Z
if-eqz v0, :cond_77
.line 69
invoke-virtual {p0}, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->getWidth()I
move-result v0
int-to-float v3, v0
invoke-virtual {p0}, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->getHeight()I
move-result v0
int-to-float v4, v0
const/4 v5, 0x0
const/4 v6, 0x4
move-object v0, p1
move v2, v1
invoke-virtual/range {v0 .. v6}, Landroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I
move-result v0
.line 71
check-cast v7, Landroid/graphics/drawable/BitmapDrawable;
invoke-virtual {v7}, Landroid/graphics/drawable/BitmapDrawable;->getPaint()Landroid/graphics/Paint;
move-result-object v1
.line 72
invoke-virtual {p1}, Landroid/graphics/Canvas;->getDrawFilter()Landroid/graphics/DrawFilter;
move-result-object v2
.line 73
iget-object v3, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->c:Landroid/graphics/DrawFilter;
invoke-virtual {p1, v3}, Landroid/graphics/Canvas;->setDrawFilter(Landroid/graphics/DrawFilter;)V
.line 74
iget v3, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
iget v4, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
iget v5, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
iget v6, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->d:F
sub-float/2addr v5, v6
invoke-virtual {p1, v3, v4, v5, v1}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 75
invoke-virtual {v1}, Landroid/graphics/Paint;->getXfermode()Landroid/graphics/Xfermode;
move-result-object v3
.line 76
const/4 v4, 0x1
invoke-virtual {v1, v4}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 77
const/high16 v4, -0x1000000
invoke-virtual {v1, v4}, Landroid/graphics/Paint;->setColor(I)V
.line 78
iget-object v4, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->b:Landroid/graphics/PorterDuffXfermode;
invoke-virtual {v1, v4}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
.line 79
invoke-super {p0, p1}, Landroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V
.line 80
invoke-virtual {v1, v3}, Landroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
.line 81
iget v1, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
iget v3, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
iget v4, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->e:F
iget v5, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->d:F
sub-float/2addr v4, v5
iget-object v5, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->a:Landroid/graphics/Paint;
invoke-virtual {p1, v1, v3, v4, v5}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 82
invoke-virtual {p1, v2}, Landroid/graphics/Canvas;->setDrawFilter(Landroid/graphics/DrawFilter;)V
.line 83
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->restoreToCount(I)V
goto :goto_18
.line 85
:cond_77
invoke-super {p0, p1}, Landroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V
goto :goto_18
.line 88
:cond_7b
invoke-super {p0, p1}, Landroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V
goto :goto_18
.end method
.method public setRoundEnable(Z)V
.registers 2
.prologue
.line 59
iput-boolean p1, p0, Lcom/cm/coordinator/screensaver/widget/RoundedImageView;->f:Z
.line 60
return-void
.end method