ClippingImageView.smali

.class public Lim/tpelyyftgw/ui/components/ClippingImageView;
.super Landroid/view/View;
.source "ClippingImageView.java"


# instance fields
.field private animationProgress:F

.field private animationValues:[[F

.field private bitmapRect:Landroid/graphics/RectF;

.field private bitmapShader:Landroid/graphics/BitmapShader;

.field private bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

.field private clipBottom:I

.field private clipLeft:I

.field private clipRight:I

.field private clipTop:I

.field private drawRect:Landroid/graphics/RectF;

.field private imageX:I

.field private imageY:I

.field private matrix:Landroid/graphics/Matrix;

.field private needRadius:Z

.field private orientation:I

.field private paint:Landroid/graphics/Paint;

.field private radius:I

.field private roundPaint:Landroid/graphics/Paint;

.field private roundRect:Landroid/graphics/RectF;

.field private shaderMatrix:Landroid/graphics/Matrix;


# direct methods
.method static constructor <clinit>()V
    .registers 1

    return-void
.end method

.method public constructor <init>(Landroid/content/Context;)V
    .registers 4
    .param p1, "context"    # Landroid/content/Context;

    .line 46
    invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V

    .line 47
    new-instance v0, Landroid/graphics/Paint;

    const/4 v1, 0x2

    invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->paint:Landroid/graphics/Paint;

    .line 48
    const/4 v1, 0x1

    invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setFilterBitmap(Z)V

    .line 49
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    .line 50
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    .line 51
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    .line 52
    new-instance v0, Landroid/graphics/Paint;

    const/4 v1, 0x3

    invoke-direct {v0, v1}, Landroid/graphics/Paint;-><init>(I)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundPaint:Landroid/graphics/Paint;

    .line 54
    new-instance v0, Landroid/graphics/RectF;

    invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundRect:Landroid/graphics/RectF;

    .line 55
    new-instance v0, Landroid/graphics/Matrix;

    invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->shaderMatrix:Landroid/graphics/Matrix;

    .line 56
    return-void
.end method


# virtual methods
.method public getAnimationProgress()F
    .registers 2

    .line 64
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    return v0
.end method

.method public getBitmap()Landroid/graphics/Bitmap;
    .registers 2

    .line 232
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    if-eqz v0, :cond_7

    iget-object v0, v0, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->bitmap:Landroid/graphics/Bitmap;

    goto :goto_8

    :cond_7
    const/4 v0, 0x0

    :goto_8
    return-object v0
.end method

.method public getClipBottom()I
    .registers 2

    .line 105
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipBottom:I

    return v0
.end method

.method public getClipHorizontal()I
    .registers 2

    .line 109
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    return v0
.end method

.method public getClipLeft()I
    .registers 2

    .line 113
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipLeft:I

    return v0
.end method

.method public getClipRight()I
    .registers 2

    .line 117
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    return v0
.end method

.method public getClipTop()I
    .registers 2

    .line 121
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipTop:I

    return v0
.end method

.method public getClippedVisibleRect(Landroid/graphics/RectF;)V
    .registers 5
    .param p1, "rect"    # Landroid/graphics/RectF;

    .line 92
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getTranslationX()F

    move-result v0

    iput v0, p1, Landroid/graphics/RectF;->left:F

    .line 93
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getTranslationY()F

    move-result v0

    iput v0, p1, Landroid/graphics/RectF;->top:F

    .line 94
    iget v0, p1, Landroid/graphics/RectF;->left:F

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getMeasuredWidth()I

    move-result v1

    int-to-float v1, v1

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getScaleX()F

    move-result v2

    mul-float v1, v1, v2

    add-float/2addr v0, v1

    iput v0, p1, Landroid/graphics/RectF;->right:F

    .line 95
    iget v0, p1, Landroid/graphics/RectF;->top:F

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getMeasuredHeight()I

    move-result v1

    int-to-float v1, v1

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getScaleY()F

    move-result v2

    mul-float v1, v1, v2

    add-float/2addr v0, v1

    iput v0, p1, Landroid/graphics/RectF;->bottom:F

    .line 97
    iget v0, p1, Landroid/graphics/RectF;->left:F

    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipLeft:I

    int-to-float v1, v1

    add-float/2addr v0, v1

    iput v0, p1, Landroid/graphics/RectF;->left:F

    .line 98
    iget v0, p1, Landroid/graphics/RectF;->top:F

    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipTop:I

    int-to-float v1, v1

    add-float/2addr v0, v1

    iput v0, p1, Landroid/graphics/RectF;->top:F

    .line 99
    iget v0, p1, Landroid/graphics/RectF;->right:F

    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    int-to-float v1, v1

    sub-float/2addr v0, v1

    iput v0, p1, Landroid/graphics/RectF;->right:F

    .line 100
    iget v0, p1, Landroid/graphics/RectF;->bottom:F

    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipBottom:I

    int-to-float v1, v1

    sub-float/2addr v0, v1

    iput v0, p1, Landroid/graphics/RectF;->bottom:F

    .line 101
    return-void
.end method

.method public getOrientation()I
    .registers 2

    .line 236
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->orientation:I

    return v0
.end method

.method public getRadius()I
    .registers 2

    .line 125
    iget v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->radius:I

    return v0
.end method

.method public onDraw(Landroid/graphics/Canvas;)V
    .registers 10
    .param p1, "canvas"    # Landroid/graphics/Canvas;

    .line 129
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getVisibility()I

    move-result v0

    if-eqz v0, :cond_7

    .line 130
    return-void

    .line 132
    :cond_7
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    if-eqz v0, :cond_184

    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->isRecycled()Z

    move-result v0

    if-nez v0, :cond_184

    .line 133
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getScaleY()F

    move-result v0

    .line 134
    .local v0, "scaleY":F
    invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I

    .line 136
    iget-boolean v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->needRadius:Z

    const/4 v2, 0x0

    if-eqz v1, :cond_95

    .line 137
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->shaderMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v1}, Landroid/graphics/Matrix;->reset()V

    .line 138
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundRect:Landroid/graphics/RectF;

    iget v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->imageX:I

    int-to-float v3, v3

    div-float/2addr v3, v0

    iget v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->imageY:I

    int-to-float v4, v4

    div-float/2addr v4, v0

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v5

    int-to-float v5, v5

    iget v6, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->imageX:I

    int-to-float v6, v6

    div-float/2addr v6, v0

    sub-float/2addr v5, v6

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v6

    int-to-float v6, v6

    iget v7, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->imageY:I

    int-to-float v7, v7

    div-float/2addr v7, v0

    sub-float/2addr v6, v7

    invoke-virtual {v1, v3, v4, v5, v6}, Landroid/graphics/RectF;->set(FFFF)V

    .line 139
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    invoke-virtual {v3}, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->getWidth()I

    move-result v3

    int-to-float v3, v3

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    invoke-virtual {v4}, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->getHeight()I

    move-result v4

    int-to-float v4, v4

    invoke-virtual {v1, v2, v2, v3, v4}, Landroid/graphics/RectF;->set(FFFF)V

    .line 140
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->shaderMatrix:Landroid/graphics/Matrix;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundRect:Landroid/graphics/RectF;

    iget v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->orientation:I

    const/4 v5, 0x0

    invoke-static {v1, v2, v3, v4, v5}, Lim/tpelyyftgw/messenger/AndroidUtilities;->setRectToRect(Landroid/graphics/Matrix;Landroid/graphics/RectF;Landroid/graphics/RectF;IZ)V

    .line 141
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapShader:Landroid/graphics/BitmapShader;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->shaderMatrix:Landroid/graphics/Matrix;

    invoke-virtual {v1, v2}, Landroid/graphics/BitmapShader;->setLocalMatrix(Landroid/graphics/Matrix;)V

    .line 142
    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipLeft:I

    int-to-float v1, v1

    div-float/2addr v1, v0

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipTop:I

    int-to-float v2, v2

    div-float/2addr v2, v0

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v3

    int-to-float v3, v3

    iget v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    int-to-float v4, v4

    div-float/2addr v4, v0

    sub-float/2addr v3, v4

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v4

    int-to-float v4, v4

    iget v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipBottom:I

    int-to-float v5, v5

    div-float/2addr v5, v0

    sub-float/2addr v4, v5

    invoke-virtual {p1, v1, v2, v3, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z

    .line 143
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundRect:Landroid/graphics/RectF;

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->radius:I

    int-to-float v3, v2

    int-to-float v2, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundPaint:Landroid/graphics/Paint;

    invoke-virtual {p1, v1, v3, v2, v4}, Landroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V

    goto/16 :goto_181

    .line 145
    :cond_95
    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->orientation:I

    const/16 v3, 0x5a

    if-eq v1, v3, :cond_109

    const/16 v3, 0x10e

    if-ne v1, v3, :cond_a0

    goto :goto_109

    .line 150
    :cond_a0
    const/16 v3, 0xb4

    if-ne v1, v3, :cond_ee

    .line 151
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v3

    neg-int v3, v3

    div-int/lit8 v3, v3, 0x2

    int-to-float v3, v3

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v4

    neg-int v4, v4

    div-int/lit8 v4, v4, 0x2

    int-to-float v4, v4

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v5

    div-int/lit8 v5, v5, 0x2

    int-to-float v5, v5

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v6

    div-int/lit8 v6, v6, 0x2

    int-to-float v6, v6

    invoke-virtual {v1, v3, v4, v5, v6}, Landroid/graphics/RectF;->set(FFFF)V

    .line 152
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    sget-object v5, Landroid/graphics/Matrix$ScaleToFit;->FILL:Landroid/graphics/Matrix$ScaleToFit;

    invoke-virtual {v1, v3, v4, v5}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z

    .line 153
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    iget v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->orientation:I

    int-to-float v3, v3

    invoke-virtual {v1, v3, v2, v2}, Landroid/graphics/Matrix;->postRotate(FFF)Z

    .line 154
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v2

    div-int/lit8 v2, v2, 0x2

    int-to-float v2, v2

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v3

    div-int/lit8 v3, v3, 0x2

    int-to-float v3, v3

    invoke-virtual {v1, v2, v3}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    goto :goto_152

    .line 156
    :cond_ee
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v3

    int-to-float v3, v3

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v4

    int-to-float v4, v4

    invoke-virtual {v1, v2, v2, v3, v4}, Landroid/graphics/RectF;->set(FFFF)V

    .line 157
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    sget-object v4, Landroid/graphics/Matrix$ScaleToFit;->FILL:Landroid/graphics/Matrix$ScaleToFit;

    invoke-virtual {v1, v2, v3, v4}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z

    goto :goto_152

    .line 146
    :cond_109
    :goto_109
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v3

    neg-int v3, v3

    div-int/lit8 v3, v3, 0x2

    int-to-float v3, v3

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v4

    neg-int v4, v4

    div-int/lit8 v4, v4, 0x2

    int-to-float v4, v4

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v5

    div-int/lit8 v5, v5, 0x2

    int-to-float v5, v5

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v6

    div-int/lit8 v6, v6, 0x2

    int-to-float v6, v6

    invoke-virtual {v1, v3, v4, v5, v6}, Landroid/graphics/RectF;->set(FFFF)V

    .line 147
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->drawRect:Landroid/graphics/RectF;

    sget-object v5, Landroid/graphics/Matrix$ScaleToFit;->FILL:Landroid/graphics/Matrix$ScaleToFit;

    invoke-virtual {v1, v3, v4, v5}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z

    .line 148
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    iget v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->orientation:I

    int-to-float v3, v3

    invoke-virtual {v1, v3, v2, v2}, Landroid/graphics/Matrix;->postRotate(FFF)Z

    .line 149
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v2

    div-int/lit8 v2, v2, 0x2

    int-to-float v2, v2

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v3

    div-int/lit8 v3, v3, 0x2

    int-to-float v3, v3

    invoke-virtual {v1, v2, v3}, Landroid/graphics/Matrix;->postTranslate(FF)Z

    .line 160
    :goto_152
    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipLeft:I

    int-to-float v1, v1

    div-float/2addr v1, v0

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipTop:I

    int-to-float v2, v2

    div-float/2addr v2, v0

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getWidth()I

    move-result v3

    int-to-float v3, v3

    iget v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    int-to-float v4, v4

    div-float/2addr v4, v0

    sub-float/2addr v3, v4

    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->getHeight()I

    move-result v4

    int-to-float v4, v4

    iget v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipBottom:I

    int-to-float v5, v5

    div-float/2addr v5, v0

    sub-float/2addr v4, v5

    invoke-virtual {p1, v1, v2, v3, v4}, Landroid/graphics/Canvas;->clipRect(FFFF)Z

    .line 162
    :try_start_171
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->bitmap:Landroid/graphics/Bitmap;

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->matrix:Landroid/graphics/Matrix;

    iget-object v3, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->paint:Landroid/graphics/Paint;

    invoke-virtual {p1, v1, v2, v3}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
    :try_end_17c
    .catch Ljava/lang/Exception; {:try_start_171 .. :try_end_17c} :catch_17d

    .line 165
    goto :goto_181

    .line 163
    :catch_17d
    move-exception v1

    .line 164
    .local v1, "e":Ljava/lang/Exception;
    invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V

    .line 167
    .end local v1    # "e":Ljava/lang/Exception;
    :goto_181
    invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V

    .line 169
    .end local v0    # "scaleY":F
    :cond_184
    return-void
.end method

.method public setAnimationProgress(F)V
    .registers 8
    .param p1, "progress"    # F

    .line 69
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    .line 71
    :try_start_2
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    const/4 v1, 0x0

    aget-object v0, v0, v1

    aget v0, v0, v1

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    const/4 v3, 0x1

    aget-object v2, v2, v3

    aget v2, v2, v1

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v1

    aget v4, v4, v1

    sub-float/2addr v2, v4

    mul-float v2, v2, p1

    add-float/2addr v0, v2

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setScaleX(F)V

    .line 72
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    aget v0, v0, v3

    iget-object v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v2, v2, v3

    aget v2, v2, v3

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v1

    aget v4, v4, v3

    sub-float/2addr v2, v4

    iget v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v2, v2, v4

    add-float/2addr v0, v2

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setScaleY(F)V

    .line 73
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/4 v2, 0x2

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setTranslationX(F)V

    .line 74
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/4 v2, 0x3

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setTranslationY(F)V

    .line 75
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/4 v2, 0x4

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    float-to-int v0, v0

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setClipHorizontal(I)V

    .line 76
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/4 v2, 0x5

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    float-to-int v0, v0

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setClipTop(I)V

    .line 77
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/4 v2, 0x6

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    float-to-int v0, v0

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setClipBottom(I)V

    .line 78
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/4 v2, 0x7

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    float-to-int v0, v0

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setRadius(I)V

    .line 79
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    array-length v0, v0

    const/16 v2, 0x8

    if-le v0, v2, :cond_127

    .line 80
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v4, v4, v3

    aget v4, v4, v2

    iget-object v5, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v5, v5, v1

    aget v2, v5, v2

    sub-float/2addr v4, v2

    iget v2, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v4, v4, v2

    add-float/2addr v0, v4

    float-to-int v0, v0

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setImageY(I)V

    .line 81
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v0, v0, v1

    const/16 v2, 0x9

    aget v0, v0, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v3, v4, v3

    aget v3, v3, v2

    iget-object v4, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    aget-object v1, v4, v1

    aget v1, v1, v2

    sub-float/2addr v3, v1

    iget v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationProgress:F

    mul-float v3, v3, v1

    add-float/2addr v0, v3

    float-to-int v0, v0

    invoke-virtual {p0, v0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->setImageX(I)V
    :try_end_127
    .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_127} :catch_128

    .line 85
    :cond_127
    goto :goto_12c

    .line 83
    :catch_128
    move-exception v0

    .line 84
    .local v0, "e":Ljava/lang/Exception;
    invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V

    .line 87
    .end local v0    # "e":Ljava/lang/Exception;
    :goto_12c
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 88
    return-void
.end method

.method public setAnimationValues([[F)V
    .registers 2
    .param p1, "values"    # [[F

    .line 59
    iput-object p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->animationValues:[[F

    .line 60
    return-void
.end method

.method public setClipBottom(I)V
    .registers 2
    .param p1, "value"    # I

    .line 172
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipBottom:I

    .line 173
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 174
    return-void
.end method

.method public setClipHorizontal(I)V
    .registers 2
    .param p1, "value"    # I

    .line 177
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    .line 178
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipLeft:I

    .line 179
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 180
    return-void
.end method

.method public setClipLeft(I)V
    .registers 2
    .param p1, "value"    # I

    .line 183
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipLeft:I

    .line 184
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 185
    return-void
.end method

.method public setClipRight(I)V
    .registers 2
    .param p1, "value"    # I

    .line 188
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipRight:I

    .line 189
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 190
    return-void
.end method

.method public setClipTop(I)V
    .registers 2
    .param p1, "value"    # I

    .line 193
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipTop:I

    .line 194
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 195
    return-void
.end method

.method public setClipVertical(I)V
    .registers 2
    .param p1, "value"    # I

    .line 198
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipBottom:I

    .line 199
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->clipTop:I

    .line 200
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 201
    return-void
.end method

.method public setImageBitmap(Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;)V
    .registers 6
    .param p1, "bitmap"    # Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    .line 216
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    if-eqz v0, :cond_a

    .line 217
    invoke-virtual {v0}, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->release()V

    .line 218
    const/4 v0, 0x0

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapShader:Landroid/graphics/BitmapShader;

    .line 220
    :cond_a
    iput-object p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    .line 221
    if-eqz p1, :cond_3a

    iget-object v0, p1, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->bitmap:Landroid/graphics/Bitmap;

    if-eqz v0, :cond_3a

    .line 222
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapRect:Landroid/graphics/RectF;

    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->getWidth()I

    move-result v1

    int-to-float v1, v1

    invoke-virtual {p1}, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->getHeight()I

    move-result v2

    int-to-float v2, v2

    const/4 v3, 0x0

    invoke-virtual {v0, v3, v3, v1, v2}, Landroid/graphics/RectF;->set(FFFF)V

    .line 223
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->needRadius:Z

    if-eqz v0, :cond_3a

    .line 224
    new-instance v0, Landroid/graphics/BitmapShader;

    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bmp:Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;

    iget-object v1, v1, Lim/tpelyyftgw/messenger/ImageReceiver$BitmapHolder;->bitmap:Landroid/graphics/Bitmap;

    sget-object v2, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;

    sget-object v3, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;

    invoke-direct {v0, v1, v2, v3}, Landroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V

    iput-object v0, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->bitmapShader:Landroid/graphics/BitmapShader;

    .line 225
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->roundPaint:Landroid/graphics/Paint;

    invoke-virtual {v1, v0}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;

    .line 228
    :cond_3a
    invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/ClippingImageView;->invalidate()V

    .line 229
    return-void
.end method

.method public setImageX(I)V
    .registers 2
    .param p1, "value"    # I

    .line 208
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->imageX:I

    .line 209
    return-void
.end method

.method public setImageY(I)V
    .registers 2
    .param p1, "value"    # I

    .line 204
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->imageY:I

    .line 205
    return-void
.end method

.method public setNeedRadius(Z)V
    .registers 2
    .param p1, "value"    # Z

    .line 240
    iput-boolean p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->needRadius:Z

    .line 241
    return-void
.end method

.method public setOrientation(I)V
    .registers 2
    .param p1, "angle"    # I

    .line 212
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->orientation:I

    .line 213
    return-void
.end method

.method public setRadius(I)V
    .registers 2
    .param p1, "value"    # I

    .line 244
    iput p1, p0, Lim/tpelyyftgw/ui/components/ClippingImageView;->radius:I

    .line 245
    return-void
.end method