CheckBoxSquare.smali
.class public Lim/tpelyyftgw/ui/components/CheckBoxSquare;
.super Landroid/view/View;
.source "CheckBoxSquare.java"
# static fields
.field private static final progressBounceDiff:F = 0.2f
# instance fields
.field private attachedToWindow:Z
.field private checkAnimator:Landroid/animation/ObjectAnimator;
.field private drawBitmap:Landroid/graphics/Bitmap;
.field private drawCanvas:Landroid/graphics/Canvas;
.field private isAlert:Z
.field private isChecked:Z
.field private isDisabled:Z
.field private progress:F
.field private rectF:Landroid/graphics/RectF;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Z)V
.registers 6
.param p1, "context" # Landroid/content/Context;
.param p2, "alert" # Z
.line 34
invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V
.line 35
sget-object v0, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_backgroundPaint:Landroid/graphics/Paint;
if-nez v0, :cond_a
.line 36
invoke-static {p1}, Lim/tpelyyftgw/ui/actionbar/Theme;->createCommonResources(Landroid/content/Context;)V
.line 38
:cond_a
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->rectF:Landroid/graphics/RectF;
.line 39
const/high16 v0, 0x41900000 # 18.0f
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v0
sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_4444:Landroid/graphics/Bitmap$Config;
invoke-static {v1, v0, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawBitmap:Landroid/graphics/Bitmap;
.line 40
new-instance v0, Landroid/graphics/Canvas;
iget-object v1, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawBitmap:Landroid/graphics/Bitmap;
invoke-direct {v0, v1}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawCanvas:Landroid/graphics/Canvas;
.line 41
iput-boolean p2, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isAlert:Z
.line 42
return-void
.end method
.method private animateToCheckedState(Z)V
.registers 5
.param p1, "newCheckedState" # Z
.line 64
const/4 v0, 0x1
new-array v0, v0, [F
if-eqz p1, :cond_8
const/high16 v1, 0x3f800000 # 1.0f
goto :goto_9
:cond_8
const/4 v1, 0x0
:goto_9
const/4 v2, 0x0
aput v1, v0, v2
const-string v1, "progress"
invoke-static {p0, v1, v0}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->checkAnimator:Landroid/animation/ObjectAnimator;
.line 65
const-wide/16 v1, 0x12c
invoke-virtual {v0, v1, v2}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator;
.line 66
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->checkAnimator:Landroid/animation/ObjectAnimator;
invoke-virtual {v0}, Landroid/animation/ObjectAnimator;->start()V
.line 67
return-void
.end method
.method private cancelCheckAnimator()V
.registers 2
.line 58
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->checkAnimator:Landroid/animation/ObjectAnimator;
if-eqz v0, :cond_7
.line 59
invoke-virtual {v0}, Landroid/animation/ObjectAnimator;->cancel()V
.line 61
:cond_7
return-void
.end method
# virtual methods
.method public getProgress()F
.registers 2
.line 54
iget v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->progress:F
return v0
.end method
.method public isChecked()Z
.registers 2
.line 105
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isChecked:Z
return v0
.end method
.method protected onAttachedToWindow()V
.registers 2
.line 71
invoke-super {p0}, Landroid/view/View;->onAttachedToWindow()V
.line 72
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->attachedToWindow:Z
.line 73
return-void
.end method
.method protected onDetachedFromWindow()V
.registers 2
.line 77
invoke-super {p0}, Landroid/view/View;->onDetachedFromWindow()V
.line 78
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->attachedToWindow:Z
.line 79
return-void
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 19
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 110
move-object/from16 v0, p0
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->getVisibility()I
move-result v1
if-eqz v1, :cond_9
.line 111
return-void
.line 116
:cond_9
iget-boolean v1, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isAlert:Z
if-eqz v1, :cond_10
const-string v1, "dialogCheckboxSquareUnchecked"
goto :goto_12
:cond_10
const-string v1, "checkboxSquareUnchecked"
:goto_12
invoke-static {v1}, Lim/tpelyyftgw/ui/actionbar/Theme;->getColor(Ljava/lang/String;)I
move-result v1
.line 117
.local v1, "uncheckedColor":I
iget-boolean v2, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isAlert:Z
if-eqz v2, :cond_1d
const-string v2, "dialogCheckboxSquareBackground"
goto :goto_1f
:cond_1d
const-string v2, "checkboxSquareBackground"
:goto_1f
invoke-static {v2}, Lim/tpelyyftgw/ui/actionbar/Theme;->getColor(Ljava/lang/String;)I
move-result v2
.line 118
.local v2, "color":I
iget v3, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->progress:F
const/high16 v4, 0x3f000000 # 0.5f
const/high16 v5, 0x40000000 # 2.0f
cmpg-float v6, v3, v4
if-gtz v6, :cond_6f
.line 119
div-float/2addr v3, v4
move v6, v3
.line 120
.local v3, "bounceProgress":F
.local v6, "checkProgress":F
invoke-static {v2}, Landroid/graphics/Color;->red(I)I
move-result v7
invoke-static {v1}, Landroid/graphics/Color;->red(I)I
move-result v8
sub-int/2addr v7, v8
int-to-float v7, v7
mul-float v7, v7, v6
float-to-int v7, v7
.line 121
.local v7, "rD":I
invoke-static {v2}, Landroid/graphics/Color;->green(I)I
move-result v8
invoke-static {v1}, Landroid/graphics/Color;->green(I)I
move-result v9
sub-int/2addr v8, v9
int-to-float v8, v8
mul-float v8, v8, v6
float-to-int v8, v8
.line 122
.local v8, "gD":I
invoke-static {v2}, Landroid/graphics/Color;->blue(I)I
move-result v9
invoke-static {v1}, Landroid/graphics/Color;->blue(I)I
move-result v10
sub-int/2addr v9, v10
int-to-float v9, v9
mul-float v9, v9, v6
float-to-int v9, v9
.line 123
.local v9, "bD":I
invoke-static {v1}, Landroid/graphics/Color;->red(I)I
move-result v10
add-int/2addr v10, v7
invoke-static {v1}, Landroid/graphics/Color;->green(I)I
move-result v11
add-int/2addr v11, v8
invoke-static {v1}, Landroid/graphics/Color;->blue(I)I
move-result v12
add-int/2addr v12, v9
invoke-static {v10, v11, v12}, Landroid/graphics/Color;->rgb(III)I
move-result v10
.line 124
.local v10, "c":I
sget-object v11, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_backgroundPaint:Landroid/graphics/Paint;
invoke-virtual {v11, v10}, Landroid/graphics/Paint;->setColor(I)V
.line 125
.end local v7 # "rD":I
.end local v8 # "gD":I
.end local v9 # "bD":I
.end local v10 # "c":I
goto :goto_79
.line 126
.end local v3 # "bounceProgress":F
.end local v6 # "checkProgress":F
:cond_6f
div-float/2addr v3, v4
sub-float v3, v5, v3
.line 127
.restart local v3 # "bounceProgress":F
const/high16 v6, 0x3f800000 # 1.0f
.line 128
.restart local v6 # "checkProgress":F
sget-object v7, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_backgroundPaint:Landroid/graphics/Paint;
invoke-virtual {v7, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 130
:goto_79
iget-boolean v7, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isDisabled:Z
if-eqz v7, :cond_8f
.line 131
sget-object v7, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_backgroundPaint:Landroid/graphics/Paint;
iget-boolean v8, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isAlert:Z
if-eqz v8, :cond_86
const-string v8, "dialogCheckboxSquareDisabled"
goto :goto_88
:cond_86
const-string v8, "checkboxSquareDisabled"
:goto_88
invoke-static {v8}, Lim/tpelyyftgw/ui/actionbar/Theme;->getColor(Ljava/lang/String;)I
move-result v8
invoke-virtual {v7, v8}, Landroid/graphics/Paint;->setColor(I)V
.line 133
:cond_8f
const/high16 v7, 0x3f800000 # 1.0f
invoke-static {v7}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v8
int-to-float v8, v8
mul-float v8, v8, v3
.line 134
.local v8, "bounce":F
iget-object v9, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->rectF:Landroid/graphics/RectF;
const/high16 v10, 0x41900000 # 18.0f
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v11
int-to-float v11, v11
sub-float/2addr v11, v8
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v10
int-to-float v10, v10
sub-float/2addr v10, v8
invoke-virtual {v9, v8, v8, v11, v10}, Landroid/graphics/RectF;->set(FFFF)V
.line 136
iget-object v9, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawBitmap:Landroid/graphics/Bitmap;
const/4 v10, 0x0
invoke-virtual {v9, v10}, Landroid/graphics/Bitmap;->eraseColor(I)V
.line 137
iget-object v9, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawCanvas:Landroid/graphics/Canvas;
iget-object v10, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->rectF:Landroid/graphics/RectF;
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v11
int-to-float v11, v11
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v12
int-to-float v12, v12
sget-object v13, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_backgroundPaint:Landroid/graphics/Paint;
invoke-virtual {v9, v10, v11, v12, v13}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
.line 138
cmpl-float v9, v6, v7
if-eqz v9, :cond_103
.line 139
const/high16 v9, 0x40e00000 # 7.0f
invoke-static {v9}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v10
int-to-float v10, v10
invoke-static {v9}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v9
int-to-float v9, v9
mul-float v9, v9, v6
add-float/2addr v9, v8
invoke-static {v10, v9}, Ljava/lang/Math;->min(FF)F
move-result v9
.line 140
.local v9, "rad":F
iget-object v10, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->rectF:Landroid/graphics/RectF;
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v11
int-to-float v11, v11
add-float/2addr v11, v9
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v5
int-to-float v5, v5
add-float/2addr v5, v9
const/high16 v12, 0x41800000 # 16.0f
invoke-static {v12}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v13
int-to-float v13, v13
sub-float/2addr v13, v9
invoke-static {v12}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v12
int-to-float v12, v12
sub-float/2addr v12, v9
invoke-virtual {v10, v11, v5, v13, v12}, Landroid/graphics/RectF;->set(FFFF)V
.line 141
iget-object v5, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawCanvas:Landroid/graphics/Canvas;
iget-object v10, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->rectF:Landroid/graphics/RectF;
sget-object v11, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_eraserPaint:Landroid/graphics/Paint;
invoke-virtual {v5, v10, v11}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
.line 144
.end local v9 # "rad":F
:cond_103
iget v5, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->progress:F
cmpl-float v4, v5, v4
if-lez v4, :cond_18a
.line 145
sget-object v4, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_checkPaint:Landroid/graphics/Paint;
iget-boolean v5, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isAlert:Z
if-eqz v5, :cond_112
const-string v5, "dialogCheckboxSquareCheck"
goto :goto_114
:cond_112
const-string v5, "checkboxSquareCheck"
:goto_114
invoke-static {v5}, Lim/tpelyyftgw/ui/actionbar/Theme;->getColor(Ljava/lang/String;)I
move-result v5
invoke-virtual {v4, v5}, Landroid/graphics/Paint;->setColor(I)V
.line 146
const/high16 v4, 0x40f00000 # 7.5f
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v5
int-to-float v5, v5
const/high16 v9, 0x40a00000 # 5.0f
invoke-static {v9}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v10
int-to-float v10, v10
sub-float v11, v7, v3
mul-float v10, v10, v11
sub-float/2addr v5, v10
float-to-int v5, v5
.line 147
.local v5, "endX":I
const/high16 v10, 0x41580000 # 13.5f
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dpf2(F)F
move-result v11
invoke-static {v9}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v9
int-to-float v9, v9
sub-float v12, v7, v3
mul-float v9, v9, v12
sub-float/2addr v11, v9
float-to-int v9, v11
.line 148
.local v9, "endY":I
iget-object v11, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawCanvas:Landroid/graphics/Canvas;
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v4
int-to-float v12, v4
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dpf2(F)F
move-result v4
float-to-int v4, v4
int-to-float v13, v4
int-to-float v14, v5
int-to-float v15, v9
sget-object v16, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_checkPaint:Landroid/graphics/Paint;
invoke-virtual/range {v11 .. v16}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 149
const/high16 v4, 0x40d00000 # 6.5f
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dpf2(F)F
move-result v11
const/high16 v12, 0x41100000 # 9.0f
invoke-static {v12}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v13
int-to-float v13, v13
sub-float v14, v7, v3
mul-float v13, v13, v14
add-float/2addr v11, v13
float-to-int v5, v11
.line 150
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dpf2(F)F
move-result v11
invoke-static {v12}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v12
int-to-float v12, v12
sub-float/2addr v7, v3
mul-float v12, v12, v7
sub-float/2addr v11, v12
float-to-int v7, v11
.line 151
.end local v9 # "endY":I
.local v7, "endY":I
iget-object v11, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawCanvas:Landroid/graphics/Canvas;
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dpf2(F)F
move-result v4
float-to-int v4, v4
int-to-float v12, v4
invoke-static {v10}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dpf2(F)F
move-result v4
float-to-int v4, v4
int-to-float v13, v4
int-to-float v14, v5
int-to-float v15, v7
sget-object v16, Lim/tpelyyftgw/ui/actionbar/Theme;->checkboxSquare_checkPaint:Landroid/graphics/Paint;
invoke-virtual/range {v11 .. v16}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 153
.end local v5 # "endX":I
.end local v7 # "endY":I
:cond_18a
iget-object v4, v0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->drawBitmap:Landroid/graphics/Bitmap;
const/4 v5, 0x0
const/4 v7, 0x0
move-object/from16 v9, p1
invoke-virtual {v9, v4, v7, v7, v5}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
.line 154
return-void
.end method
.method protected onLayout(ZIIII)V
.registers 6
.param p1, "changed" # Z
.param p2, "left" # I
.param p3, "top" # I
.param p4, "right" # I
.param p5, "bottom" # I
.line 83
invoke-super/range {p0 .. p5}, Landroid/view/View;->onLayout(ZIIII)V
.line 84
return-void
.end method
.method public setChecked(ZZ)V
.registers 4
.param p1, "checked" # Z
.param p2, "animated" # Z
.line 87
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isChecked:Z
if-ne p1, v0, :cond_5
.line 88
return-void
.line 90
:cond_5
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isChecked:Z
.line 91
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->attachedToWindow:Z
if-eqz v0, :cond_11
if-eqz p2, :cond_11
.line 92
invoke-direct {p0, p1}, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->animateToCheckedState(Z)V
goto :goto_1d
.line 94
:cond_11
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->cancelCheckAnimator()V
.line 95
if-eqz p1, :cond_19
const/high16 v0, 0x3f800000 # 1.0f
goto :goto_1a
:cond_19
const/4 v0, 0x0
:goto_1a
invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->setProgress(F)V
.line 97
:goto_1d
return-void
.end method
.method public setDisabled(Z)V
.registers 2
.param p1, "disabled" # Z
.line 100
iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->isDisabled:Z
.line 101
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->invalidate()V
.line 102
return-void
.end method
.method public setProgress(F)V
.registers 3
.param p1, "value" # F
.line 46
iget v0, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->progress:F
cmpl-float v0, v0, p1
if-nez v0, :cond_7
.line 47
return-void
.line 49
:cond_7
iput p1, p0, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->progress:F
.line 50
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/CheckBoxSquare;->invalidate()V
.line 51
return-void
.end method