AnimatedArrowDrawable.smali
.class public Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;
.super Landroid/graphics/drawable/Drawable;
.source "AnimatedArrowDrawable.java"
# instance fields
.field private animProgress:F
.field private animateToProgress:F
.field private isSmall:Z
.field private lastUpdateTime:J
.field private paint:Landroid/graphics/Paint;
.field private path:Landroid/graphics/Path;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(IZ)V
.registers 5
.param p1, "color" # I
.param p2, "small" # Z
.line 23
invoke-direct {p0}, Landroid/graphics/drawable/Drawable;-><init>()V
.line 17
new-instance v0, Landroid/graphics/Path;
invoke-direct {v0}, Landroid/graphics/Path;-><init>()V
iput-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
.line 24
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/AnimatedArrowDrawable;->paint:Landroid/graphics/Paint;
.line 25
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 26
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->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 27
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->paint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V
.line 28
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->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 29
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->paint:Landroid/graphics/Paint;
sget-object v1, Landroid/graphics/Paint$Join;->ROUND:Landroid/graphics/Paint$Join;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V
.line 30
iput-boolean p2, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->isSmall:Z
.line 32
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->updatePath()V
.line 33
return-void
.end method
.method private checkAnimation()V
.registers 9
.line 73
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animateToProgress:F
iget v1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
cmpl-float v0, v0, v1
if-eqz v0, :cond_39
.line 74
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
.line 75
.local v0, "newTime":J
iget-wide v2, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->lastUpdateTime:J
sub-long v2, v0, v2
.line 76
.local v2, "dt":J
iput-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->lastUpdateTime:J
.line 77
iget v4, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
iget v5, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animateToProgress:F
const/high16 v6, 0x43340000 # 180.0f
cmpg-float v7, v4, v5
if-gez v7, :cond_28
.line 78
long-to-float v7, v2
div-float/2addr v7, v6
add-float/2addr v4, v7
iput v4, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
.line 79
cmpl-float v4, v4, v5
if-lez v4, :cond_33
.line 80
iput v5, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
goto :goto_33
.line 83
:cond_28
long-to-float v7, v2
div-float/2addr v7, v6
sub-float/2addr v4, v7
iput v4, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
.line 84
cmpg-float v4, v4, v5
if-gez v4, :cond_33
.line 85
iput v5, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
.line 88
:cond_33
:goto_33
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->updatePath()V
.line 89
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->invalidateSelf()V
.line 91
.end local v0 # "newTime":J
.end local v2 # "dt":J
:cond_39
return-void
.end method
.method private updatePath()V
.registers 9
.line 42
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
invoke-virtual {v0}, Landroid/graphics/Path;->reset()V
.line 43
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
const/high16 v1, 0x40000000 # 2.0f
mul-float v0, v0, v1
const/high16 v2, 0x3f800000 # 1.0f
sub-float/2addr v0, v2
.line 44
.local v0, "p":F
iget-boolean v2, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->isSmall:Z
const/high16 v3, 0x41500000 # 13.0f
if-eqz v2, :cond_60
.line 45
iget-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
const/high16 v4, 0x40400000 # 3.0f
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v4
int-to-float v4, v4
const/high16 v5, 0x40c00000 # 6.0f
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v6
int-to-float v6, v6
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v7
int-to-float v7, v7
mul-float v7, v7, v0
sub-float/2addr v6, v7
invoke-virtual {v2, v4, v6}, Landroid/graphics/Path;->moveTo(FF)V
.line 46
iget-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
const/high16 v4, 0x41000000 # 8.0f
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v4
int-to-float v4, v4
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v6
int-to-float v6, v6
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v7
int-to-float v7, v7
mul-float v7, v7, v0
add-float/2addr v6, v7
invoke-virtual {v2, v4, v6}, Landroid/graphics/Path;->lineTo(FF)V
.line 47
iget-object v2, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
invoke-static {v3}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v3
int-to-float v3, v3
invoke-static {v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v4
int-to-float v4, v4
invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v1
int-to-float v1, v1
mul-float v1, v1, v0
sub-float/2addr v4, v1
invoke-virtual {v2, v3, v4}, Landroid/graphics/Path;->lineTo(FF)V
goto :goto_ad
.line 49
:cond_60
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
const/high16 v2, 0x40900000 # 4.5f
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v2
int-to-float v2, v2
const/high16 v4, 0x41400000 # 12.0f
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v5
int-to-float v5, v5
const/high16 v6, 0x40800000 # 4.0f
invoke-static {v6}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v7
int-to-float v7, v7
mul-float v7, v7, v0
sub-float/2addr v5, v7
invoke-virtual {v1, v2, v5}, Landroid/graphics/Path;->moveTo(FF)V
.line 50
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
invoke-static {v3}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v2
int-to-float v2, v2
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v3
int-to-float v3, v3
invoke-static {v6}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v5
int-to-float v5, v5
mul-float v5, v5, v0
add-float/2addr v3, v5
invoke-virtual {v1, v2, v3}, Landroid/graphics/Path;->lineTo(FF)V
.line 51
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
const/high16 v2, 0x41ac0000 # 21.5f
invoke-static {v2}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v2
int-to-float v2, v2
invoke-static {v4}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v3
int-to-float v3, v3
invoke-static {v6}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I
move-result v4
int-to-float v4, v4
mul-float v4, v4, v0
sub-float/2addr v3, v4
invoke-virtual {v1, v2, v3}, Landroid/graphics/Path;->lineTo(FF)V
.line 53
:goto_ad
return-void
.end method
# virtual methods
.method public draw(Landroid/graphics/Canvas;)V
.registers 4
.param p1, "c" # Landroid/graphics/Canvas;
.line 37
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->path:Landroid/graphics/Path;
iget-object v1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->paint:Landroid/graphics/Paint;
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
.line 38
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->checkAnimation()V
.line 39
return-void
.end method
.method public getAnimationProgress()F
.registers 2
.line 98
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
return v0
.end method
.method public getIntrinsicHeight()I
.registers 2
.line 123
const/high16 v0, 0x41d00000 # 26.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 118
const/high16 v0, 0x41d00000 # 26.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 113
const/4 v0, -0x2
return v0
.end method
.method public setAlpha(I)V
.registers 2
.param p1, "alpha" # I
.line 104
return-void
.end method
.method public setAnimationProgress(F)V
.registers 2
.param p1, "progress" # F
.line 57
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animProgress:F
.line 58
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animateToProgress:F
.line 59
invoke-direct {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->updatePath()V
.line 60
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->invalidateSelf()V
.line 61
return-void
.end method
.method public setAnimationProgressAnimated(F)V
.registers 4
.param p1, "progress" # F
.line 64
iget v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animateToProgress:F
cmpl-float v0, v0, p1
if-nez v0, :cond_7
.line 65
return-void
.line 67
:cond_7
iput p1, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->animateToProgress:F
.line 68
invoke-static {}, Landroid/os/SystemClock;->elapsedRealtime()J
move-result-wide v0
iput-wide v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->lastUpdateTime:J
.line 69
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->invalidateSelf()V
.line 70
return-void
.end method
.method public setColor(I)V
.registers 3
.param p1, "color" # I
.line 94
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->paint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V
.line 95
return-void
.end method
.method public setColorFilter(Landroid/graphics/ColorFilter;)V
.registers 3
.param p1, "colorFilter" # Landroid/graphics/ColorFilter;
.line 108
iget-object v0, p0, Lim/tpelyyftgw/ui/components/AnimatedArrowDrawable;->paint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
.line 109
return-void
.end method