CircleProgressView.smali
.class public Lcom/sandboxol/center/view/widget/CircleProgressView;
.super Landroid/view/View;
.source "CircleProgressView.java"
# annotations
.annotation runtime Ljava/lang/Deprecated;
.end annotation
# instance fields
.field private circleColor:I
.field private mPaint:Landroid/graphics/Paint;
.field private maxProgress:I
.field private progress:I
.field private progressColor:I
.field private progressWidth:I
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
.line 1
invoke-direct {p0, p1, v0}, Lcom/sandboxol/center/view/widget/CircleProgressView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
const/4 v0, 0x0
.line 2
invoke-direct {p0, p1, p2, v0}, Lcom/sandboxol/center/view/widget/CircleProgressView;-><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 3
invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
const/4 v0, 0x0
.line 4
iput v0, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progress:I
const/4 v0, 0x1
.line 5
iput v0, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->maxProgress:I
const/16 v0, 0x14
.line 6
iput v0, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressWidth:I
.line 7
invoke-direct {p0, p1, p2, p3}, Lcom/sandboxol/center/view/widget/CircleProgressView;->init(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 6
.line 1
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
.line 2
invoke-virtual {p1}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme;
move-result-object p1
sget-object v0, Lcom/sandboxol/center/R$styleable;->CircleProgressBar:[I
const/4 v1, 0x0
invoke-virtual {p1, p2, v0, p3, v1}, Landroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p1
.line 3
sget p2, Lcom/sandboxol/center/R$styleable;->CircleProgressBar_circleColor:I
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object p3
sget v0, Lcom/sandboxol/center/R$color;->colorPrimaryDark:I
invoke-virtual {p3, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p3
invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getColor(II)I
move-result p2
iput p2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->circleColor:I
.line 4
sget p2, Lcom/sandboxol/center/R$styleable;->CircleProgressBar_progressColor:I
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object p3
sget v0, Lcom/sandboxol/center/R$color;->colorAccent:I
invoke-virtual {p3, v0}, Landroid/content/res/Resources;->getColor(I)I
move-result p3
invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getColor(II)I
move-result p2
iput p2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressColor:I
.line 5
sget p2, Lcom/sandboxol/center/R$styleable;->CircleProgressBar_progressWidth:I
iget p3, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressWidth:I
invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getDimensionPixelOffset(II)I
move-result p2
iput p2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressWidth:I
.line 6
sget p2, Lcom/sandboxol/center/R$styleable;->CircleProgressBar_progress:I
invoke-virtual {p1, p2, v1}, Landroid/content/res/TypedArray;->getInt(II)I
move-result p2
iput p2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progress:I
.line 7
sget p2, Lcom/sandboxol/center/R$styleable;->CircleProgressBar_maxProgress:I
const/4 p3, 0x1
invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getInt(II)I
move-result p2
iput p2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->maxProgress:I
.line 8
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
return-void
.end method
# virtual methods
.method public dp2px(Landroid/content/Context;F)I
.registers 3
.line 1
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
iget p1, p1, Landroid/util/DisplayMetrics;->density:F
mul-float p2, p2, p1
const/high16 p1, 0x3f000000 # 0.5f
add-float/2addr p2, p1
float-to-int p1, p2
return p1
.end method
.method public draw(Landroid/graphics/Canvas;)V
.registers 12
.line 1
invoke-super {p0, p1}, Landroid/view/View;->draw(Landroid/graphics/Canvas;)V
.line 2
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
.line 3
iget v1, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressWidth:I
div-int/lit8 v1, v1, 0x2
sub-int v1, v0, v1
.line 4
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
iget v3, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->circleColor:I
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setColor(I)V
.line 5
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
sget-object v3, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 6
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
iget v3, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressWidth:I
int-to-float v3, v3
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 7
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
const/4 v3, 0x1
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setAntiAlias(Z)V
int-to-float v2, v0
int-to-float v4, v1
.line 8
iget-object v5, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
invoke-virtual {p1, v2, v2, v4, v5}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 9
iget v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progress:I
mul-int/lit16 v2, v2, 0x168
iget v4, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->maxProgress:I
div-int/2addr v2, v4
int-to-float v7, v2
.line 10
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
iget v4, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progressColor:I
invoke-virtual {v2, v4}, Landroid/graphics/Paint;->setColor(I)V
.line 11
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setDither(Z)V
.line 12
iget-object v2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
sget-object v3, Landroid/graphics/Paint$Cap;->ROUND:Landroid/graphics/Paint$Cap;
invoke-virtual {v2, v3}, Landroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V
.line 13
new-instance v5, Landroid/graphics/RectF;
sub-int v2, v0, v1
int-to-float v2, v2
add-int/2addr v0, v1
int-to-float v0, v0
invoke-direct {v5, v2, v2, v0, v0}, Landroid/graphics/RectF;-><init>(FFFF)V
.line 14
iget-object v9, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->mPaint:Landroid/graphics/Paint;
const/high16 v6, -0x3d4c0000 # -90.0f
const/4 v8, 0x0
move-object v4, p1
invoke-virtual/range {v4 .. v9}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
return-void
.end method
.method public setProgress(I)V
.registers 2
.line 1
iput p1, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progress:I
.line 2
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method public setProgressPercent(II)V
.registers 3
.line 1
iput p1, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->progress:I
.line 2
iput p2, p0, Lcom/sandboxol/center/view/widget/CircleProgressView;->maxProgress:I
.line 3
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method