.class public Lcom/moji/circleprogress/DonutProgress; .super Landroid/view/View; .source "DonutProgress.java" # instance fields .field private final A:I .field private final B:I .field private final C:I .field private final D:I .field private final E:I .field private final F:I .field private final G:I .field private final H:F .field private final I:F .field private final J:I .field private K:Landroid/graphics/Paint; .field private L:Ljava/lang/String; .field private M:F .field private N:I .field private a:Landroid/graphics/Paint; .field protected b:Landroid/graphics/Paint; .field protected c:Landroid/graphics/Paint; .field protected d:Landroid/graphics/Paint; .field protected e:Landroid/graphics/RectF; .field protected f:F .field protected g:I .field protected h:I .field private i:Landroid/graphics/Paint; .field private j:F .field private k:I .field private l:I .field private m:I .field private n:I .field private o:I .field private p:I .annotation build Landroid/support/annotation/ColorInt; .end annotation .end field .field private q:I .annotation build Landroid/support/annotation/ColorInt; .end annotation .end field .field private r:I .field private s:I .field private t:Ljava/lang/String; .field private u:Ljava/lang/String; .field private v:Ljava/lang/String; .field private w:F .field private x:Ljava/lang/String; .field private y:F .field private final z:F # direct methods .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 const/4 v0, 0x0 .line 104 invoke-direct {p0, p1, p2, v0}, Lcom/moji/circleprogress/DonutProgress;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;I)V .locals 5 .line 108 invoke-direct {p0, p1, p2, p3}, Landroid/view/View;->(Landroid/content/Context;Landroid/util/AttributeSet;I)V .line 35 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->e:Landroid/graphics/RectF; const/4 v0, 0x0 .line 40 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->m:I const/16 v1, 0x1f4 .line 41 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->n:I const/16 v1, 0x3c .line 42 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->o:I const-string v1, "" .line 53 iput-object v1, p0, Lcom/moji/circleprogress/DonutProgress;->t:Ljava/lang/String; const-string v1, "%" .line 54 iput-object v1, p0, Lcom/moji/circleprogress/DonutProgress;->u:Ljava/lang/String; const/4 v1, 0x0 .line 55 iput-object v1, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; const/16 v1, 0xf1 const/16 v2, 0x91 const/16 v3, 0x42 .line 61 invoke-static {v3, v2, v1}, Landroid/graphics/Color;->rgb(III)I move-result v4 iput v4, p0, Lcom/moji/circleprogress/DonutProgress;->A:I const/16 v4, 0xcc .line 62 invoke-static {v4, v4, v4}, Landroid/graphics/Color;->rgb(III)I move-result v4 iput v4, p0, Lcom/moji/circleprogress/DonutProgress;->B:I .line 63 invoke-static {v3, v2, v1}, Landroid/graphics/Color;->rgb(III)I move-result v4 iput v4, p0, Lcom/moji/circleprogress/DonutProgress;->C:I .line 64 invoke-static {v3, v2, v1}, Landroid/graphics/Color;->rgb(III)I move-result v1 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->D:I .line 65 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->E:I const/16 v1, 0x64 .line 66 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->F:I .line 67 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->G:I const/high16 v1, 0x41900000 # 18.0f .line 110 invoke-virtual {p0, v1}, Lcom/moji/circleprogress/DonutProgress;->a(F)I move-result v2 int-to-float v2, v2 iput v2, p0, Lcom/moji/circleprogress/DonutProgress;->H:F const/high16 v2, 0x42c80000 # 100.0f .line 111 invoke-virtual {p0, v2}, Lcom/moji/circleprogress/DonutProgress;->b(F)I move-result v2 iput v2, p0, Lcom/moji/circleprogress/DonutProgress;->J:I const/high16 v2, 0x41200000 # 10.0f .line 112 invoke-virtual {p0, v2}, Lcom/moji/circleprogress/DonutProgress;->b(F)I move-result v3 int-to-float v3, v3 iput v3, p0, Lcom/moji/circleprogress/DonutProgress;->z:F .line 113 invoke-virtual {p0, v1}, Lcom/moji/circleprogress/DonutProgress;->a(F)I move-result v1 int-to-float v1, v1 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->I:F .line 115 invoke-virtual {p0, v2}, Lcom/moji/circleprogress/DonutProgress;->b(F)I move-result v1 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->g:I const/high16 v1, 0x42700000 # 60.0f .line 116 invoke-virtual {p0, v1}, Lcom/moji/circleprogress/DonutProgress;->b(F)I move-result v1 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->h:I const/high16 v1, 0x41800000 # 16.0f .line 118 invoke-virtual {p0, v1}, Lcom/moji/circleprogress/DonutProgress;->b(F)I move-result v1 int-to-float v1, v1 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->M:F const/16 v1, 0xff .line 119 invoke-static {v1, v1, v1, v1}, Landroid/graphics/Color;->argb(IIII)I move-result v1 iput v1, p0, Lcom/moji/circleprogress/DonutProgress;->N:I .line 121 invoke-virtual {p1}, Landroid/content/Context;->getTheme()Landroid/content/res/Resources$Theme; move-result-object p1 sget-object v1, Lcom/moji/widget/R$styleable;->DonutProgress:[I invoke-virtual {p1, p2, v1, p3, v0}, Landroid/content/res/Resources$Theme;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object p1 .line 122 invoke-virtual {p0, p1}, Lcom/moji/circleprogress/DonutProgress;->a(Landroid/content/res/TypedArray;)V .line 123 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V .line 125 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->b()V return-void .end method .method private a(I)I .locals 3 .line 335 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v0 .line 336 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result p1 const/high16 v1, 0x40000000 # 2.0f if-ne v0, v1, :cond_0 goto :goto_0 .line 340 :cond_0 iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->J:I const/high16 v2, -0x80000000 if-ne v0, v2, :cond_1 .line 342 invoke-static {v1, p1}, Ljava/lang/Math;->min(II)I move-result p1 goto :goto_0 :cond_1 move p1, v1 :goto_0 return p1 .end method .method private getProgressAngle()F .locals 2 .line 201 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getProgress()I move-result v0 int-to-float v0, v0 iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->n:I int-to-float v1, v1 div-float/2addr v0, v1 const/high16 v1, 0x43b40000 # 360.0f mul-float v0, v0, v1 return v0 .end method # virtual methods .method public a(F)I .locals 2 .line 436 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getContext()Landroid/content/Context; move-result-object v0 invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v0 const/4 v1, 0x2 invoke-static {v1, p1, v0}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F move-result p1 float-to-int p1, p1 return p1 .end method .method protected a(Landroid/content/res/TypedArray;)V .locals 3 .line 162 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_finished_color:I iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->A:I invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getColor(II)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->p:I .line 163 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_unfinished_color:I iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->B:I invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getColor(II)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->q:I .line 164 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_text_color:I iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->C:I invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getColor(II)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->k:I .line 165 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_text_size:I iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->H:F invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->j:F .line 167 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_max:I const/16 v1, 0x64 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I move-result v0 invoke-virtual {p0, v0}, Lcom/moji/circleprogress/DonutProgress;->setMax(I)V .line 168 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_progress:I const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I move-result v0 invoke-virtual {p0, v0}, Lcom/moji/circleprogress/DonutProgress;->setProgress(I)V .line 169 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_finished_stroke_width:I iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->z:F invoke-virtual {p1, v0, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->f:F .line 170 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_unfinished_stroke_width:I iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->z:F invoke-virtual {p1, v0, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->f:F .line 171 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_prefix_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_0 .line 172 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_prefix_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->t:Ljava/lang/String; .line 174 :cond_0 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_suffix_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_1 .line 175 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_suffix_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->u:Ljava/lang/String; .line 177 :cond_1 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 if-eqz v0, :cond_2 .line 178 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; .line 180 :cond_2 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_background_color:I invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getColor(II)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->s:I .line 182 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_inner_bottom_text_size:I iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->I:F invoke-virtual {p1, v0, v2}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->w:F .line 183 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_inner_bottom_text_color:I iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->D:I invoke-virtual {p1, v0, v2}, Landroid/content/res/TypedArray;->getColor(II)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->l:I .line 184 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_inner_bottom_text:I invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->x:Ljava/lang/String; .line 186 sget v0, Lcom/moji/widget/R$styleable;->DonutProgress_donut_circle_starting_degree:I invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getInt(II)I move-result p1 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->r:I return-void .end method .method public b(F)I .locals 2 .line 443 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getContext()Landroid/content/Context; move-result-object v0 invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v0 const/4 v1, 0x1 invoke-static {v1, p1, v0}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F move-result p1 float-to-int p1, p1 return p1 .end method .method protected b()V .locals 3 .line 129 new-instance v0, Landroid/text/TextPaint; invoke-direct {v0}, Landroid/text/TextPaint;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; .line 130 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->N:I invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V .line 131 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->M:F invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setTextSize(F)V .line 132 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; const/4 v1, 0x1 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 134 new-instance v0, Landroid/text/TextPaint; invoke-direct {v0}, Landroid/text/TextPaint;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; .line 135 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->k:I invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 136 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->j:F invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setTextSize(F)V .line 137 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 139 new-instance v0, Landroid/text/TextPaint; invoke-direct {v0}, Landroid/text/TextPaint;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->d:Landroid/graphics/Paint; .line 140 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->d:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->l:I invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 141 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->d:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->w:F invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setTextSize(F)V .line 142 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->d:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 144 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->b:Landroid/graphics/Paint; .line 145 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->b:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->p:I invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 146 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->b:Landroid/graphics/Paint; sget-object v2, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style; invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V .line 147 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->b:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 148 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->b:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->f:F invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setStrokeWidth(F)V .line 150 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->a:Landroid/graphics/Paint; .line 151 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->a:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->q:I invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 152 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->a:Landroid/graphics/Paint; sget-object v2, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style; invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V .line 153 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->a:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 154 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->a:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->f:F invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setStrokeWidth(F)V .line 156 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->i:Landroid/graphics/Paint; .line 157 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->i:Landroid/graphics/Paint; iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->s:I invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 158 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->i:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V return-void .end method .method public getCircleStrokeWidth()F .locals 1 .line 196 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->f:F return v0 .end method .method public getFinishedStrokeColor()I .locals 1 .line 263 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->p:I return v0 .end method .method public getInnerBackgroundColor()I .locals 1 .line 296 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->s:I return v0 .end method .method public getInnerBottomText()Ljava/lang/String; .locals 1 .line 301 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->x:Ljava/lang/String; return-object v0 .end method .method public getInnerBottomTextColor()I .locals 1 .line 311 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->l:I return v0 .end method .method public getInnerBottomTextSize()F .locals 1 .line 306 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->w:F return v0 .end method .method public getMax()I .locals 1 .line 225 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->n:I return v0 .end method .method public getMin()I .locals 1 .line 236 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->o:I return v0 .end method .method public getPrefixText()Ljava/lang/String; .locals 1 .line 291 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->t:Ljava/lang/String; return-object v0 .end method .method public getProgress()I .locals 1 .line 205 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->m:I return v0 .end method .method public getStartingDegree()I .locals 1 .line 316 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->r:I return v0 .end method .method public getSuffixText()Ljava/lang/String; .locals 1 .line 286 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->u:Ljava/lang/String; return-object v0 .end method .method public getText()Ljava/lang/String; .locals 1 .line 277 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; return-object v0 .end method .method public getTextColor()I .locals 1 .line 254 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->k:I return v0 .end method .method public getTextSize()F .locals 1 .line 245 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->j:F return v0 .end method .method public getUnfinishedStrokeColor()I .locals 1 .line 272 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->q:I return v0 .end method .method public invalidate()V .locals 0 .line 191 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->b()V .line 192 invoke-super {p0}, Landroid/view/View;->invalidate()V return-void .end method .method protected onDraw(Landroid/graphics/Canvas;)V .locals 11 .line 350 invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V .line 352 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->e:Landroid/graphics/RectF; iget v1, p0, Lcom/moji/circleprogress/DonutProgress;->f:F iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->h:I int-to-float v2, v2 add-float/2addr v1, v2 iget v2, p0, Lcom/moji/circleprogress/DonutProgress;->f:F .line 354 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getWidth()I move-result v3 int-to-float v3, v3 iget v4, p0, Lcom/moji/circleprogress/DonutProgress;->f:F sub-float/2addr v3, v4 iget v4, p0, Lcom/moji/circleprogress/DonutProgress;->h:I int-to-float v4, v4 sub-float/2addr v3, v4 .line 355 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getHeight()I move-result v4 int-to-float v4, v4 iget v5, p0, Lcom/moji/circleprogress/DonutProgress;->f:F sub-float/2addr v4, v5 .line 352 invoke-virtual {v0, v1, v2, v3, v4}, Landroid/graphics/RectF;->set(FFFF)V .line 356 iget-object v6, p0, Lcom/moji/circleprogress/DonutProgress;->e:Landroid/graphics/RectF; iget-object v10, p0, Lcom/moji/circleprogress/DonutProgress;->b:Landroid/graphics/Paint; const/4 v7, 0x0 const/high16 v8, 0x43b40000 # 360.0f const/4 v9, 0x0 move-object v5, p1 invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V .line 359 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->L:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_0 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v0 if-nez v0, :cond_0 .line 360 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; invoke-virtual {v0}, Landroid/graphics/Paint;->descent()F move-result v0 iget-object v1, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; invoke-virtual {v1}, Landroid/graphics/Paint;->ascent()F move-result v1 add-float/2addr v0, v1 .line 361 iget-object v1, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; invoke-virtual {v1}, Landroid/graphics/Paint;->descent()F move-result v1 iget-object v2, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; invoke-virtual {v2}, Landroid/graphics/Paint;->ascent()F move-result v2 add-float/2addr v1, v2 .line 363 iget-object v2, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; .line 364 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getWidth()I move-result v3 int-to-float v3, v3 iget-object v4, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; iget-object v5, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; invoke-virtual {v4, v5}, Landroid/graphics/Paint;->measureText(Ljava/lang/String;)F move-result v4 sub-float/2addr v3, v4 const/high16 v4, 0x40000000 # 2.0f div-float/2addr v3, v4 .line 365 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getHeight()I move-result v5 int-to-float v5, v5 sub-float/2addr v5, v1 div-float/2addr v5, v4 sub-float/2addr v5, v0 iget-object v6, p0, Lcom/moji/circleprogress/DonutProgress;->c:Landroid/graphics/Paint; .line 363 invoke-virtual {p1, v2, v3, v5, v6}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V .line 370 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getWidth()I move-result v2 int-to-float v2, v2 iget-object v3, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; iget-object v5, p0, Lcom/moji/circleprogress/DonutProgress;->L:Ljava/lang/String; invoke-virtual {v3, v5}, Landroid/graphics/Paint;->measureText(Ljava/lang/String;)F move-result v3 sub-float/2addr v2, v3 div-float/2addr v2, v4 .line 372 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getHeight()I move-result v3 int-to-float v3, v3 invoke-static {v1}, Ljava/lang/Math;->abs(F)F move-result v1 sub-float/2addr v3, v1 div-float/2addr v3, v4 invoke-static {v0}, Ljava/lang/Math;->abs(F)F move-result v0 div-float/2addr v0, v4 sub-float/2addr v3, v0 .line 373 iget-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->L:Ljava/lang/String; iget-object v1, p0, Lcom/moji/circleprogress/DonutProgress;->K:Landroid/graphics/Paint; invoke-virtual {p1, v0, v2, v3, v1}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V :cond_0 return-void .end method .method protected onMeasure(II)V .locals 1 .line 326 invoke-super {p0, p1, p2}, Landroid/view/View;->onMeasure(II)V .line 327 invoke-direct {p0, p1}, Lcom/moji/circleprogress/DonutProgress;->a(I)I move-result p1 iget v0, p0, Lcom/moji/circleprogress/DonutProgress;->h:I mul-int/lit8 v0, v0, 0x2 add-int/2addr p1, v0 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result p2 invoke-virtual {p0, p1, p2}, Lcom/moji/circleprogress/DonutProgress;->setMeasuredDimension(II)V .line 330 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getHeight()I move-result p1 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getHeight()I move-result p2 mul-int/lit8 p2, p2, 0x3 div-int/lit8 p2, p2, 0x4 sub-int/2addr p1, p2 int-to-float p1, p1 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->y:F return-void .end method .method protected onRestoreInstanceState(Landroid/os/Parcelable;)V .locals 1 .line 407 instance-of v0, p1, Landroid/os/Bundle; if-eqz v0, :cond_0 .line 408 check-cast p1, Landroid/os/Bundle; const-string v0, "text_color" .line 409 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->k:I const-string v0, "text_size" .line 410 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->j:F const-string v0, "inner_bottom_text_size" .line 411 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->w:F const-string v0, "inner_bottom_text" .line 412 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->x:Ljava/lang/String; const-string v0, "inner_bottom_text_color" .line 413 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->l:I const-string v0, "finished_stroke_color" .line 414 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->p:I const-string v0, "unfinished_stroke_color" .line 415 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->q:I const-string v0, "finished_stroke_width" .line 416 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getFloat(Ljava/lang/String;)F move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->f:F const-string v0, "inner_background_color" .line 417 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 iput v0, p0, Lcom/moji/circleprogress/DonutProgress;->s:I .line 418 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->b()V const-string v0, "max" .line 419 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 invoke-virtual {p0, v0}, Lcom/moji/circleprogress/DonutProgress;->setMax(I)V const-string v0, "starting_degree" .line 420 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 invoke-virtual {p0, v0}, Lcom/moji/circleprogress/DonutProgress;->setStartingDegree(I)V const-string v0, "progress" .line 421 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result v0 invoke-virtual {p0, v0}, Lcom/moji/circleprogress/DonutProgress;->setProgress(I)V const-string v0, "prefix" .line 422 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->t:Ljava/lang/String; const-string v0, "suffix" .line 423 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->u:Ljava/lang/String; const-string v0, "text" .line 424 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getString(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; const-string v0, "saved_instance" .line 425 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object p1 invoke-super {p0, p1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .line 428 :cond_0 invoke-super {p0, p1}, Landroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V return-void .end method .method protected onSaveInstanceState()Landroid/os/Parcelable; .locals 3 .line 384 new-instance v0, Landroid/os/Bundle; invoke-direct {v0}, Landroid/os/Bundle;->()V const-string v1, "saved_instance" .line 385 invoke-super {p0}, Landroid/view/View;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V const-string v1, "text_color" .line 386 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getTextColor()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "text_size" .line 387 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getTextSize()F move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "inner_bottom_text_size" .line 388 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getInnerBottomTextSize()F move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "inner_bottom_text_color" .line 389 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getInnerBottomTextColor()I move-result v2 int-to-float v2, v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "inner_bottom_text" .line 390 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getInnerBottomText()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V const-string v1, "inner_bottom_text_color" .line 391 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getInnerBottomTextColor()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "finished_stroke_color" .line 392 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getFinishedStrokeColor()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "unfinished_stroke_color" .line 393 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getUnfinishedStrokeColor()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "max" .line 394 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getMax()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "starting_degree" .line 395 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getStartingDegree()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "progress" .line 396 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getProgress()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V const-string v1, "suffix" .line 397 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getSuffixText()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V const-string v1, "prefix" .line 398 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getPrefixText()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V const-string v1, "text" .line 399 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getText()Ljava/lang/String; move-result-object v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V const-string v1, "finished_stroke_width" .line 400 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getCircleStrokeWidth()F move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putFloat(Ljava/lang/String;F)V const-string v1, "inner_background_color" .line 401 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getInnerBackgroundColor()I move-result v2 invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V return-object v0 .end method .method public setFinishedStrokeColor(I)V .locals 0 .param p1 # I .annotation build Landroid/support/annotation/ColorInt; .end annotation .end param .line 267 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->p:I .line 268 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method .method public setMax(I)V .locals 0 if-lez p1, :cond_0 .line 230 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->n:I .line 231 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V :cond_0 return-void .end method .method public setMin(I)V .locals 0 .line 240 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->o:I .line 241 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method .method public setProgress(I)V .locals 0 .line 209 invoke-virtual {p0, p1}, Lcom/moji/circleprogress/DonutProgress;->setProgressValue(I)V .line 210 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method .method protected setProgressValue(I)V .locals 1 .line 214 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->m:I .line 215 iget p1, p0, Lcom/moji/circleprogress/DonutProgress;->m:I invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getMax()I move-result v0 if-le p1, v0, :cond_0 .line 216 iget p1, p0, Lcom/moji/circleprogress/DonutProgress;->m:I invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->getMax()I move-result v0 rem-int/2addr p1, v0 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->m:I :cond_0 return-void .end method .method public setStartingDegree(I)V .locals 0 .line 320 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->r:I .line 321 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method .method public setText(Ljava/lang/String;)V .locals 0 .line 281 iput-object p1, p0, Lcom/moji/circleprogress/DonutProgress;->v:Ljava/lang/String; .line 282 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method .method public setTextColor(I)V .locals 0 .line 258 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->k:I .line 259 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method .method public setTextDesc(Ljava/lang/String;)V .locals 0 .line 221 iput-object p1, p0, Lcom/moji/circleprogress/DonutProgress;->L:Ljava/lang/String; return-void .end method .method public setTextSize(F)V .locals 0 .line 249 iput p1, p0, Lcom/moji/circleprogress/DonutProgress;->j:F .line 250 invoke-virtual {p0}, Lcom/moji/circleprogress/DonutProgress;->invalidate()V return-void .end method