.class public Lcom/moji/circleprogress/SectorProgressView; .super Landroid/view/View; .source "SectorProgressView.java" # instance fields .field private a:Landroid/graphics/Paint; .field private b:F .field private c:F .field private d:Landroid/graphics/RectF; .field private e:F .field private f:I .field private g:F # direct methods .method public constructor (Landroid/content/Context;)V .locals 1 const/4 v0, 0x0 .line 40 invoke-direct {p0, p1, v0}, Lcom/moji/circleprogress/SectorProgressView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 const/4 v0, 0x0 .line 44 invoke-direct {p0, p1, p2, v0}, Lcom/moji/circleprogress/SectorProgressView;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 0 .line 48 invoke-direct {p0, p1, p2, p3}, Landroid/view/View;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 49 invoke-direct {p0, p1, p2, p3}, Lcom/moji/circleprogress/SectorProgressView;->a(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method private a(FFF)F .locals 1 cmpg-float v0, p3, p1 if-gez v0, :cond_0 goto :goto_0 :cond_0 cmpl-float p1, p3, p2 if-lez p1, :cond_1 move p1, p2 goto :goto_0 :cond_1 move p1, p3 :goto_0 return p1 .end method .method private final a(Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 2 .line 53 sget-object v0, Lcom/moji/widget/R$styleable;->SectorProgress:[I const/4 v1, 0x0 invoke-virtual {p1, p2, v0, p3, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object p2 .line 55 sget p3, Lcom/moji/widget/R$styleable;->SectorProgress_sectorProgress:I const/4 v0, 0x0 invoke-virtual {p2, p3, v0}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result p3 iput p3, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F .line 56 sget p3, Lcom/moji/widget/R$styleable;->SectorProgress_sectorMax:I const/high16 v1, 0x3f800000 # 1.0f invoke-virtual {p2, p3, v1}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result p3 iput p3, p0, Lcom/moji/circleprogress/SectorProgressView;->c:F .line 57 sget p3, Lcom/moji/widget/R$styleable;->SectorProgress_shapeColor:I invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p1 sget v1, Lcom/moji/widget/R$color;->black_50p:I invoke-virtual {p1, v1}, Landroid/content/res/Resources;->getColor(I)I move-result p1 invoke-virtual {p2, p3, p1}, Landroid/content/res/TypedArray;->getColor(II)I move-result p1 iput p1, p0, Lcom/moji/circleprogress/SectorProgressView;->f:I .line 58 sget p1, Lcom/moji/widget/R$styleable;->SectorProgress_startPosition:I invoke-virtual {p2, p1, v0}, Landroid/content/res/TypedArray;->getFloat(IF)F move-result p1 iput p1, p0, Lcom/moji/circleprogress/SectorProgressView;->g:F .line 59 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V .line 61 iget p1, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F iget p2, p0, Lcom/moji/circleprogress/SectorProgressView;->c:F div-float/2addr p1, p2 const/high16 p2, 0x43b40000 # 360.0f mul-float p1, p1, p2 iput p1, p0, Lcom/moji/circleprogress/SectorProgressView;->e:F .line 62 new-instance p1, Landroid/graphics/RectF; invoke-direct {p1}, Landroid/graphics/RectF;->()V iput-object p1, p0, Lcom/moji/circleprogress/SectorProgressView;->d:Landroid/graphics/RectF; .line 64 new-instance p1, Landroid/graphics/Paint; invoke-direct {p1}, Landroid/graphics/Paint;->()V iput-object p1, p0, Lcom/moji/circleprogress/SectorProgressView;->a:Landroid/graphics/Paint; .line 65 iget-object p1, p0, Lcom/moji/circleprogress/SectorProgressView;->a:Landroid/graphics/Paint; const/4 p2, 0x1 invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 66 iget-object p1, p0, Lcom/moji/circleprogress/SectorProgressView;->a:Landroid/graphics/Paint; sget-object p2, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style; invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V .line 67 iget-object p1, p0, Lcom/moji/circleprogress/SectorProgressView;->a:Landroid/graphics/Paint; iget p2, p0, Lcom/moji/circleprogress/SectorProgressView;->f:I invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setColor(I)V return-void .end method # virtual methods .method public getMax()F .locals 1 .line 122 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->c:F return v0 .end method .method public getProgress()D .locals 2 .line 130 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F float-to-double v0, v0 return-wide v0 .end method .method public getStartPosition()F .locals 1 .line 137 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->g:F return v0 .end method .method protected onDraw(Landroid/graphics/Canvas;)V .locals 10 .line 72 invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V .line 73 iget-object v0, p0, Lcom/moji/circleprogress/SectorProgressView;->d:Landroid/graphics/RectF; invoke-virtual {v0}, Landroid/graphics/RectF;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 .line 74 iget-object v0, p0, Lcom/moji/circleprogress/SectorProgressView;->d:Landroid/graphics/RectF; invoke-virtual {p0}, Lcom/moji/circleprogress/SectorProgressView;->getWidth()I move-result v2 int-to-float v2, v2 invoke-virtual {p0}, Lcom/moji/circleprogress/SectorProgressView;->getHeight()I move-result v3 int-to-float v3, v3 invoke-virtual {v0, v1, v1, v2, v3}, Landroid/graphics/RectF;->set(FFFF)V .line 76 :cond_0 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F iget v2, p0, Lcom/moji/circleprogress/SectorProgressView;->c:F div-float/2addr v0, v2 const/high16 v2, 0x43b40000 # 360.0f mul-float v0, v0, v2 iput v0, p0, Lcom/moji/circleprogress/SectorProgressView;->e:F .line 77 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->e:F iget v3, p0, Lcom/moji/circleprogress/SectorProgressView;->g:F add-float/2addr v0, v3 const/high16 v3, 0x42b40000 # 90.0f sub-float v6, v0, v3 const/high16 v0, 0x43870000 # 270.0f sub-float/2addr v0, v6 .line 78 invoke-direct {p0, v1, v2, v0}, Lcom/moji/circleprogress/SectorProgressView;->a(FFF)F move-result v7 .line 79 iget-object v5, p0, Lcom/moji/circleprogress/SectorProgressView;->d:Landroid/graphics/RectF; const/4 v8, 0x1 iget-object v9, p0, Lcom/moji/circleprogress/SectorProgressView;->a:Landroid/graphics/Paint; 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 setMax(F)V .locals 2 .line 111 iput p1, p0, Lcom/moji/circleprogress/SectorProgressView;->c:F .line 112 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->e:F const/high16 v1, 0x43b40000 # 360.0f div-float/2addr v0, v1 mul-float v0, v0, p1 iput v0, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F .line 113 invoke-virtual {p0}, Lcom/moji/circleprogress/SectorProgressView;->invalidate()V return-void .end method .method public setProgress(F)V .locals 2 .line 97 iget v0, p0, Lcom/moji/circleprogress/SectorProgressView;->c:F div-float v0, p1, v0 const/high16 v1, 0x43b40000 # 360.0f mul-float v0, v0, v1 .line 98 iget v1, p0, Lcom/moji/circleprogress/SectorProgressView;->e:F sub-float/2addr v0, v1 invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 .line 99 iget v1, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F cmpl-float v1, p1, v1 if-eqz v1, :cond_0 const/high16 v1, 0x3f800000 # 1.0f cmpl-float v0, v0, v1 if-lez v0, :cond_0 .line 100 invoke-virtual {p0}, Lcom/moji/circleprogress/SectorProgressView;->invalidate()V .line 102 :cond_0 iput p1, p0, Lcom/moji/circleprogress/SectorProgressView;->b:F return-void .end method .method public setStartPosition(F)V .locals 0 .line 146 iput p1, p0, Lcom/moji/circleprogress/SectorProgressView;->g:F .line 147 invoke-virtual {p0}, Lcom/moji/circleprogress/SectorProgressView;->invalidate()V return-void .end method