ToggleButton.smali
.class public Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;
.super Landroid/view/View;
.source "ToggleButton.java"
# static fields
.field private static final DEFAULT_SCALE:F = 0.75f
# instance fields
.field private mArgbEvaluator:Landroid/animation/ArgbEvaluator;
.field private mBorderColors:[I
.field private mBorderPaint:Landroid/graphics/Paint;
.field private mCircleColors:[I
.field private mCirclePaint:Landroid/graphics/Paint;
.field private mFraction:F
.field private mHeight:F
.field private mOffsetLength:F
.field private mOffsetX:F
.field private mOvalBgPaint:Landroid/graphics/Paint;
.field private mOvalColors:[I
.field private mOvalRect:Landroid/graphics/RectF;
.field private mRaidus:F
.field private mScale:F
.field private mWidth:F
# direct methods
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
.prologue
.line 35
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.line 36
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
.prologue
.line 39
const/4 v0, 0x0
invoke-direct {p0, p1, p2, v0}, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 40
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 8
.prologue
const/4 v1, 0x2
const/4 v3, 0x1
const/4 v2, 0x0
.line 43
invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 24
new-array v0, v1, [I
fill-array-data v0, :array_7c
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalColors:[I
.line 25
new-array v0, v1, [I
fill-array-data v0, :array_84
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCircleColors:[I
.line 26
new-array v0, v1, [I
fill-array-data v0, :array_8c
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderColors:[I
.line 27
const/high16 v0, 0x3f400000 # 0.75f
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mScale:F
.line 44
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCirclePaint:Landroid/graphics/Paint;
.line 45
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCirclePaint:Landroid/graphics/Paint;
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCircleColors:[I
aget v1, v1, v2
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 46
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCirclePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 48
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
.line 49
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalColors:[I
aget v1, v1, v2
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 50
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 51
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
.line 53
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderPaint:Landroid/graphics/Paint;
.line 54
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 55
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->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 56
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderPaint:Landroid/graphics/Paint;
const/high16 v1, 0x3f800000 # 1.0f
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 57
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderPaint:Landroid/graphics/Paint;
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderColors:[I
aget v1, v1, v2
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 59
new-instance v0, Landroid/animation/ArgbEvaluator;
invoke-direct {v0}, Landroid/animation/ArgbEvaluator;-><init>()V
iput-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mArgbEvaluator:Landroid/animation/ArgbEvaluator;
.line 60
return-void
.line 24
nop
:array_7c
.array-data 4
-0x666667
-0x651a39
.end array-data
.line 25
:array_84
.array-data 4
-0x1
-0xff468d
.end array-data
.line 26
:array_8c
.array-data 4
-0x272728
-0xff468d
.end array-data
.end method
# virtual methods
.method public init()V
.registers 4
.prologue
const/4 v2, 0x0
const/4 v0, 0x0
.line 121
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mFraction:F
.line 122
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOffsetX:F
.line 123
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCirclePaint:Landroid/graphics/Paint;
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCircleColors:[I
aget v1, v1, v2
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 124
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalColors:[I
aget v1, v1, v2
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 125
invoke-virtual {p0}, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->invalidate()V
.line 126
return-void
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 14
.prologue
const/4 v11, 0x0
const/high16 v10, 0x40000000 # 2.0f
const/high16 v9, 0x3f800000 # 1.0f
const/4 v8, 0x0
const/4 v4, 0x1
.line 73
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 76
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mArgbEvaluator:Landroid/animation/ArgbEvaluator;
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mFraction:F
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalColors:[I
aget v3, v3, v11
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
iget-object v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalColors:[I
aget v5, v5, v4
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-virtual {v0, v2, v3, v5}, Landroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 77
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mHeight:F
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mScale:F
sub-float v1, v9, v1
mul-float/2addr v0, v1
div-float v6, v0, v10
.line 78
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mHeight:F
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mScale:F
mul-float v7, v0, v1
.line 79
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
add-float v1, v8, v6
iput v1, v0, Landroid/graphics/RectF;->top:F
.line 80
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mHeight:F
sub-float/2addr v1, v6
iput v1, v0, Landroid/graphics/RectF;->bottom:F
.line 81
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iput v8, v0, Landroid/graphics/RectF;->left:F
.line 82
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iput v7, v0, Landroid/graphics/RectF;->right:F
.line 83
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
const/high16 v2, 0x42b40000 # 90.0f
const/high16 v3, 0x43340000 # 180.0f
iget-object v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
move-object v0, p1
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
.line 85
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
add-float v1, v8, v6
iput v1, v0, Landroid/graphics/RectF;->top:F
.line 86
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mHeight:F
sub-float/2addr v1, v6
iput v1, v0, Landroid/graphics/RectF;->bottom:F
.line 87
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mWidth:F
sub-float/2addr v1, v7
sub-float/2addr v1, v9
iput v1, v0, Landroid/graphics/RectF;->left:F
.line 88
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mWidth:F
iput v1, v0, Landroid/graphics/RectF;->right:F
.line 89
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
const/high16 v2, -0x3d4c0000 # -90.0f
const/high16 v3, 0x43340000 # 180.0f
iget-object v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
move-object v0, p1
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
.line 91
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
add-float v1, v8, v6
iput v1, v0, Landroid/graphics/RectF;->top:F
.line 92
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mHeight:F
sub-float/2addr v1, v6
iput v1, v0, Landroid/graphics/RectF;->bottom:F
.line 93
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
sub-float v1, v7, v9
div-float/2addr v1, v10
iput v1, v0, Landroid/graphics/RectF;->left:F
.line 94
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mWidth:F
add-float v2, v7, v9
div-float/2addr v2, v10
sub-float/2addr v1, v2
iput v1, v0, Landroid/graphics/RectF;->right:F
.line 95
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalRect:Landroid/graphics/RectF;
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalBgPaint:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
.line 98
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCirclePaint:Landroid/graphics/Paint;
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mArgbEvaluator:Landroid/animation/ArgbEvaluator;
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mFraction:F
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCircleColors:[I
aget v3, v3, v11
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
iget-object v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCircleColors:[I
aget v5, v5, v4
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v5
invoke-virtual {v0, v2, v3, v5}, Landroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 99
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOffsetX:F
add-float/2addr v0, v1
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCirclePaint:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 101
iget-object v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderPaint:Landroid/graphics/Paint;
iget-object v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mArgbEvaluator:Landroid/animation/ArgbEvaluator;
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mFraction:F
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderColors:[I
aget v3, v3, v11
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
iget-object v5, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderColors:[I
aget v4, v5, v4
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
invoke-virtual {v0, v2, v3, v4}, Landroid/animation/ArgbEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setColor(I)V
.line 102
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOffsetX:F
add-float/2addr v0, v1
iget v1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
iget v2, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
iget-object v3, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mBorderPaint:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 103
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
.line 104
return-void
.end method
.method protected onSizeChanged(IIII)V
.registers 7
.prologue
.line 64
invoke-super {p0, p1, p2, p3, p4}, Landroid/view/View;->onSizeChanged(IIII)V
.line 65
int-to-float v0, p2
const/high16 v1, 0x40000000 # 2.0f
div-float/2addr v0, v1
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mRaidus:F
.line 66
int-to-float v0, p1
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mWidth:F
.line 67
int-to-float v0, p2
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mHeight:F
.line 68
sub-int v0, p1, p2
int-to-float v0, v0
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOffsetLength:F
.line 69
return-void
.end method
.method public setCirclePaint([I)V
.registers 2
.prologue
.line 117
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mCircleColors:[I
.line 118
return-void
.end method
.method public setFraction(F)V
.registers 3
.prologue
.line 107
iput p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mFraction:F
.line 108
iget v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOffsetLength:F
mul-float/2addr v0, p1
iput v0, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOffsetX:F
.line 109
invoke-static {p0}, Landroid/support/v4/view/ViewCompat;->postInvalidateOnAnimation(Landroid/view/View;)V
.line 110
return-void
.end method
.method public setOvalColors([I)V
.registers 2
.prologue
.line 113
iput-object p1, p0, Lcom/cleanmaster/hpsharelib/base/widget/ToggleButton;->mOvalColors:[I
.line 114
return-void
.end method