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