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