CloseProgressDrawable2.smali
.class public Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;
.super Landroid/graphics/drawable/Drawable;
.source "CloseProgressDrawable2.java"
# instance fields
.field private angle:F
.field private animating:Z
.field private interpolator:Landroid/view/animation/DecelerateInterpolator;
.field private lastFrameTime:J
.field private paint:Landroid/graphics/Paint;
.field private rect:Landroid/graphics/RectF;
.field private side:I
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 3
.line 26
invoke-direct {p0}, Landroid/graphics/drawable/Drawable;-><init>()V
.line 17
new-instance v0, Landroid/graphics/Paint;
const/4 v1, 0x1
invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
.line 19
new-instance v0, Landroid/view/animation/DecelerateInterpolator;
invoke-direct {v0}, Landroid/view/animation/DecelerateInterpolator;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->interpolator:Landroid/view/animation/DecelerateInterpolator;
.line 20
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->rect:Landroid/graphics/RectF;
.line 27
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
const/4 v1, -0x1
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 28
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
const/high16 v1, 0x40000000 # 2.0f
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
int-to-float v1, v1
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V
.line 29
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
sget-object v1, Landroid/graphics/Paint$Cap;->ROUND:Landroid/graphics/Paint$Cap;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V
.line 30
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint: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 31
const/high16 v0, 0x41000000 # 8.0f
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v0
iput v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
.line 32
return-void
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.registers 22
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 58
move-object/from16 v0, p0
move-object/from16 v7, p1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v8
.line 59
.local v8, "newTime":J
const/4 v10, 0x0
.line 60
.local v10, "invalidate":Z
iget-wide v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->lastFrameTime:J
const/high16 v11, 0x44340000 # 720.0f
const/4 v12, 0x0
const-wide/16 v3, 0x0
cmp-long v5, v1, v3
if-eqz v5, :cond_46
.line 61
sub-long v1, v8, v1
.line 62
.local v1, "dt":J
iget-boolean v3, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->animating:Z
if-nez v3, :cond_20
iget v3, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
cmpl-float v3, v3, v12
if-eqz v3, :cond_46
.line 63
:cond_20
iget v3, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const-wide/16 v4, 0x168
mul-long v4, v4, v1
long-to-float v4, v4
const/high16 v5, 0x43fa0000 # 500.0f
div-float/2addr v4, v5
add-float/2addr v3, v4
iput v3, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
.line 64
iget-boolean v4, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->animating:Z
if-nez v4, :cond_38
cmpl-float v3, v3, v11
if-ltz v3, :cond_38
.line 65
iput v12, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
goto :goto_43
.line 67
:cond_38
iget v3, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
div-float v4, v3, v11
float-to-int v4, v4
mul-int/lit16 v4, v4, 0x2d0
int-to-float v4, v4
sub-float/2addr v3, v4
iput v3, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
.line 69
:goto_43
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->invalidateSelf()V
.line 73
.end local v1 # "dt":J
:cond_46
invoke-virtual/range {p1 .. p1}, Landroid/graphics/Canvas;->save()I
.line 74
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->getIntrinsicWidth()I
move-result v1
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->getIntrinsicHeight()I
move-result v2
div-int/lit8 v2, v2, 0x2
int-to-float v2, v2
invoke-virtual {v7, v1, v2}, Landroid/graphics/Canvas;->translate(FF)V
.line 75
const/high16 v1, -0x3dcc0000 # -45.0f
invoke-virtual {v7, v1}, Landroid/graphics/Canvas;->rotate(F)V
.line 76
const/high16 v1, 0x3f800000 # 1.0f
.line 77
.local v1, "progress1":F
const/high16 v2, 0x3f800000 # 1.0f
.line 78
.local v2, "progress2":F
const/high16 v3, 0x3f800000 # 1.0f
.line 79
.local v3, "progress3":F
const/4 v4, 0x0
.line 80
.local v4, "progress4":F
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const/high16 v13, 0x3f800000 # 1.0f
const/high16 v14, 0x43b40000 # 360.0f
const/high16 v6, 0x42b40000 # 90.0f
cmpl-float v15, v5, v12
if-ltz v15, :cond_82
cmpg-float v15, v5, v6
if-gez v15, :cond_82
.line 81
div-float/2addr v5, v6
sub-float v1, v13, v5
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto/16 :goto_13b
.line 82
:cond_82
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const/high16 v15, 0x43340000 # 180.0f
cmpl-float v16, v5, v6
if-ltz v16, :cond_9c
cmpg-float v16, v5, v15
if-gez v16, :cond_9c
.line 83
const/4 v1, 0x0
.line 84
sub-float/2addr v5, v6
div-float/2addr v5, v6
sub-float v2, v13, v5
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto/16 :goto_13b
.line 85
:cond_9c
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const/high16 v16, 0x43870000 # 270.0f
cmpl-float v17, v5, v15
if-ltz v17, :cond_b7
cmpg-float v17, v5, v16
if-gez v17, :cond_b7
.line 86
move v2, v12
move v1, v12
.line 87
sub-float/2addr v5, v15
div-float/2addr v5, v6
sub-float v3, v13, v5
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto/16 :goto_13b
.line 88
:cond_b7
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
cmpl-float v15, v5, v16
if-ltz v15, :cond_d1
cmpg-float v15, v5, v14
if-gez v15, :cond_d1
.line 89
move v3, v12
move v2, v12
move v1, v12
.line 90
sub-float v5, v5, v16
div-float v4, v5, v6
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto/16 :goto_13b
.line 91
:cond_d1
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const/high16 v15, 0x43e10000 # 450.0f
cmpl-float v16, v5, v14
if-ltz v16, :cond_ec
cmpg-float v16, v5, v15
if-gez v16, :cond_ec
.line 92
move v3, v12
move v2, v12
move v1, v12
.line 93
sub-float/2addr v5, v14
div-float/2addr v5, v6
sub-float v4, v13, v5
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto :goto_13b
.line 94
:cond_ec
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const/high16 v16, 0x44070000 # 540.0f
cmpl-float v17, v5, v15
if-ltz v17, :cond_105
cmpg-float v17, v5, v16
if-gez v17, :cond_105
.line 95
move v3, v12
move v2, v12
.line 96
sub-float/2addr v5, v15
div-float v1, v5, v6
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto :goto_13b
.line 97
:cond_105
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
const v15, 0x441d8000 # 630.0f
cmpl-float v17, v5, v16
if-ltz v17, :cond_11f
cmpg-float v17, v5, v15
if-gez v17, :cond_11f
.line 98
const/4 v3, 0x0
.line 99
sub-float v5, v5, v16
div-float v2, v5, v6
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto :goto_13b
.line 100
:cond_11f
iget v5, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
cmpl-float v16, v5, v15
if-ltz v16, :cond_134
cmpg-float v16, v5, v11
if-gez v16, :cond_134
.line 101
sub-float/2addr v5, v15
div-float v3, v5, v6
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
goto :goto_13b
.line 104
:cond_134
move v15, v1
move/from16 v16, v2
move/from16 v17, v3
move/from16 v18, v4
.end local v1 # "progress1":F
.end local v2 # "progress2":F
.end local v3 # "progress3":F
.end local v4 # "progress4":F
.local v15, "progress1":F
.local v16, "progress2":F
.local v17, "progress3":F
.local v18, "progress4":F
:goto_13b
cmpl-float v1, v15, v12
if-eqz v1, :cond_14e
.line 105
const/4 v2, 0x0
const/4 v3, 0x0
const/4 v4, 0x0
iget v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
int-to-float v1, v1
mul-float v5, v1, v15
iget-object v6, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
move-object/from16 v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 107
:cond_14e
cmpl-float v1, v16, v12
if-eqz v1, :cond_162
.line 108
iget v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
neg-int v1, v1
int-to-float v1, v1
mul-float v2, v1, v16
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v5, 0x0
iget-object v6, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
move-object/from16 v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 110
:cond_162
cmpl-float v1, v17, v12
if-eqz v1, :cond_176
.line 111
const/4 v2, 0x0
iget v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
neg-int v1, v1
int-to-float v1, v1
mul-float v3, v1, v17
const/4 v4, 0x0
const/4 v5, 0x0
iget-object v6, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
move-object/from16 v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 113
:cond_176
cmpl-float v1, v18, v13
if-eqz v1, :cond_189
.line 114
iget v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
int-to-float v2, v1
mul-float v2, v2, v18
const/4 v3, 0x0
int-to-float v4, v1
const/4 v5, 0x0
iget-object v6, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
move-object/from16 v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
.line 117
:cond_189
invoke-virtual/range {p1 .. p1}, Landroid/graphics/Canvas;->restore()V
.line 119
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->getBounds()Landroid/graphics/Rect;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Rect;->centerX()I
move-result v13
.line 120
.local v13, "cx":I
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->getBounds()Landroid/graphics/Rect;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Rect;->centerY()I
move-result v19
.line 121
.local v19, "cy":I
iget-object v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->rect:Landroid/graphics/RectF;
iget v2, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
sub-int v3, v13, v2
int-to-float v3, v3
sub-int v4, v19, v2
int-to-float v4, v4
add-int v5, v13, v2
int-to-float v5, v5
add-int v2, v19, v2
int-to-float v2, v2
invoke-virtual {v1, v3, v4, v5, v2}, Landroid/graphics/RectF;->set(FFFF)V
.line 122
iget-object v2, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->rect:Landroid/graphics/RectF;
iget v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
cmpg-float v3, v1, v14
if-gez v3, :cond_1b8
goto :goto_1ba
:cond_1b8
sub-float v12, v1, v14
:goto_1ba
const/high16 v1, 0x42340000 # 45.0f
sub-float v3, v12, v1
iget v1, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->angle:F
cmpg-float v4, v1, v14
if-gez v4, :cond_1c6
move v4, v1
goto :goto_1c8
:cond_1c6
sub-float/2addr v11, v1
move v4, v11
:goto_1c8
const/4 v5, 0x0
iget-object v6, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
move-object/from16 v1, p1
invoke-virtual/range {v1 .. v6}, Landroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
.line 124
iput-wide v8, v0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->lastFrameTime:J
.line 125
return-void
.end method
.method public getIntrinsicHeight()I
.registers 2
.line 149
const/high16 v0, 0x41c00000 # 24.0f
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v0
return v0
.end method
.method public getIntrinsicWidth()I
.registers 2
.line 144
const/high16 v0, 0x41c00000 # 24.0f
invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v0
return v0
.end method
.method public getOpacity()I
.registers 2
.line 139
const/4 v0, -0x2
return v0
.end method
.method public isAnimating()Z
.registers 2
.line 45
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->animating:Z
return v0
.end method
.method public setAlpha(I)V
.registers 2
.param p1, "alpha" # I
.line 130
return-void
.end method
.method public setColor(I)V
.registers 3
.param p1, "value" # I
.line 49
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V
.line 50
return-void
.end method
.method public setColorFilter(Landroid/graphics/ColorFilter;)V
.registers 3
.param p1, "cf" # Landroid/graphics/ColorFilter;
.line 134
iget-object v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->paint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
.line 135
return-void
.end method
.method public setSide(I)V
.registers 2
.param p1, "value" # I
.line 53
iput p1, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->side:I
.line 54
return-void
.end method
.method public startAnimation()V
.registers 3
.line 35
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->animating:Z
.line 36
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->lastFrameTime:J
.line 37
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->invalidateSelf()V
.line 38
return-void
.end method
.method public stopAnimation()V
.registers 2
.line 41
const/4 v0, 0x0
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/CloseProgressDrawable2;->animating:Z
.line 42
return-void
.end method