StickerView.smali
.class public Lim/tpelyyftgw/ui/components/paint/views/StickerView;
.super Lim/tpelyyftgw/ui/components/paint/views/EntityView;
.source "StickerView.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lim/tpelyyftgw/ui/components/paint/views/StickerView$StickerViewSelectionView;,
Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
}
.end annotation
# instance fields
.field private anchor:I
.field private baseSize:Lim/tpelyyftgw/ui/components/Size;
.field private centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
.field private containerView:Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
.field private mirrored:Z
.field private parentObject:Ljava/lang/Object;
.field private sticker:Lim/tpelyyftgw/tgnet/TLRPC$Document;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Lim/tpelyyftgw/ui/components/Point;FFLim/tpelyyftgw/ui/components/Size;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;)V
.registers 24
.param p1, "context" # Landroid/content/Context;
.param p2, "position" # Lim/tpelyyftgw/ui/components/Point;
.param p3, "angle" # F
.param p4, "scale" # F
.param p5, "baseSize" # Lim/tpelyyftgw/ui/components/Size;
.param p6, "sticker" # Lim/tpelyyftgw/tgnet/TLRPC$Document;
.param p7, "parentObject" # Ljava/lang/Object;
.line 49
move-object/from16 v0, p0
move-object/from16 v1, p6
invoke-direct/range {p0 .. p2}, Lim/tpelyyftgw/ui/components/paint/views/EntityView;-><init>(Landroid/content/Context;Lim/tpelyyftgw/ui/components/Point;)V
.line 37
const/4 v2, -0x1
iput v2, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->anchor:I
.line 38
const/4 v3, 0x0
iput-boolean v3, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->mirrored:Z
.line 42
new-instance v3, Lim/tpelyyftgw/messenger/ImageReceiver;
invoke-direct {v3}, Lim/tpelyyftgw/messenger/ImageReceiver;-><init>()V
iput-object v3, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
.line 50
move/from16 v3, p3
invoke-virtual {v0, v3}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->setRotation(F)V
.line 51
move/from16 v4, p4
invoke-virtual {v0, v4}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->setScale(F)V
.line 53
iput-object v1, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->sticker:Lim/tpelyyftgw/tgnet/TLRPC$Document;
.line 54
move-object/from16 v5, p5
iput-object v5, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
.line 55
move-object/from16 v14, p7
iput-object v14, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->parentObject:Ljava/lang/Object;
.line 57
const/4 v6, 0x0
.local v6, "a":I
:goto_29
iget-object v7, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->attributes:Ljava/util/ArrayList;
invoke-virtual {v7}, Ljava/util/ArrayList;->size()I
move-result v7
if-ge v6, v7, :cond_4b
.line 58
iget-object v7, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->attributes:Ljava/util/ArrayList;
invoke-virtual {v7, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v7
check-cast v7, Lim/tpelyyftgw/tgnet/TLRPC$DocumentAttribute;
.line 59
.local v7, "attribute":Lim/tpelyyftgw/tgnet/TLRPC$DocumentAttribute;
instance-of v8, v7, Lim/tpelyyftgw/tgnet/TLRPC$TL_documentAttributeSticker;
if-eqz v8, :cond_48
.line 60
iget-object v8, v7, Lim/tpelyyftgw/tgnet/TLRPC$DocumentAttribute;->mask_coords:Lim/tpelyyftgw/tgnet/TLRPC$TL_maskCoords;
if-eqz v8, :cond_4b
.line 61
iget-object v8, v7, Lim/tpelyyftgw/tgnet/TLRPC$DocumentAttribute;->mask_coords:Lim/tpelyyftgw/tgnet/TLRPC$TL_maskCoords;
iget v8, v8, Lim/tpelyyftgw/tgnet/TLRPC$TL_maskCoords;->n:I
iput v8, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->anchor:I
goto :goto_4b
.line 57
.end local v7 # "attribute":Lim/tpelyyftgw/tgnet/TLRPC$DocumentAttribute;
:cond_48
add-int/lit8 v6, v6, 0x1
goto :goto_29
.line 66
.end local v6 # "a":I
:cond_4b
:goto_4b
new-instance v6, Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
move-object/from16 v15, p1
invoke-direct {v6, v0, v15}, Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;-><init>(Lim/tpelyyftgw/ui/components/paint/views/StickerView;Landroid/content/Context;)V
iput-object v6, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->containerView:Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
.line 67
const/high16 v7, -0x40800000 # -1.0f
invoke-static {v2, v7}, Lim/tpelyyftgw/ui/components/LayoutHelper;->createFrame(IF)Landroid/widget/FrameLayout$LayoutParams;
move-result-object v2
invoke-virtual {v0, v6, v2}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
.line 69
iget-object v2, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
const/4 v6, 0x1
invoke-virtual {v2, v6}, Lim/tpelyyftgw/messenger/ImageReceiver;->setAspectFit(Z)V
.line 70
iget-object v2, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
invoke-virtual {v2, v6}, Lim/tpelyyftgw/messenger/ImageReceiver;->setInvalidateAll(Z)V
.line 71
iget-object v2, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
iget-object v6, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->containerView:Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
invoke-virtual {v2, v6}, Lim/tpelyyftgw/messenger/ImageReceiver;->setParentView(Landroid/view/View;)V
.line 72
iget-object v2, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->thumbs:Ljava/util/ArrayList;
const/16 v6, 0x5a
invoke-static {v2, v6}, Lim/tpelyyftgw/messenger/FileLoader;->getClosestPhotoSizeWithSize(Ljava/util/ArrayList;I)Lim/tpelyyftgw/tgnet/TLRPC$PhotoSize;
move-result-object v2
.line 73
.local v2, "thumb":Lim/tpelyyftgw/tgnet/TLRPC$PhotoSize;
iget-object v6, v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
invoke-static/range {p6 .. p6}, Lim/tpelyyftgw/messenger/ImageLocation;->getForDocument(Lim/tpelyyftgw/tgnet/TLRPC$Document;)Lim/tpelyyftgw/messenger/ImageLocation;
move-result-object v7
const/4 v8, 0x0
invoke-static {v2, v1}, Lim/tpelyyftgw/messenger/ImageLocation;->getForDocument(Lim/tpelyyftgw/tgnet/TLRPC$PhotoSize;Lim/tpelyyftgw/tgnet/TLRPC$Document;)Lim/tpelyyftgw/messenger/ImageLocation;
move-result-object v9
const/4 v10, 0x0
const/4 v13, 0x1
const-string v11, "webp"
move-object/from16 v12, p7
invoke-virtual/range {v6 .. v13}, Lim/tpelyyftgw/messenger/ImageReceiver;->setImage(Lim/tpelyyftgw/messenger/ImageLocation;Ljava/lang/String;Lim/tpelyyftgw/messenger/ImageLocation;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;I)V
.line 75
invoke-virtual/range {p0 .. p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->updatePosition()V
.line 76
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Lim/tpelyyftgw/ui/components/Point;Lim/tpelyyftgw/ui/components/Size;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;)V
.registers 14
.param p1, "context" # Landroid/content/Context;
.param p2, "position" # Lim/tpelyyftgw/ui/components/Point;
.param p3, "baseSize" # Lim/tpelyyftgw/ui/components/Size;
.param p4, "sticker" # Lim/tpelyyftgw/tgnet/TLRPC$Document;
.param p5, "parentObject" # Ljava/lang/Object;
.line 45
const/4 v3, 0x0
const/high16 v4, 0x3f800000 # 1.0f
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v5, p3
move-object v6, p4
move-object v7, p5
invoke-direct/range {v0 .. v7}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;-><init>(Landroid/content/Context;Lim/tpelyyftgw/ui/components/Point;FFLim/tpelyyftgw/ui/components/Size;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;)V
.line 46
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Lim/tpelyyftgw/ui/components/paint/views/StickerView;Lim/tpelyyftgw/ui/components/Point;)V
.registers 12
.param p1, "context" # Landroid/content/Context;
.param p2, "stickerView" # Lim/tpelyyftgw/ui/components/paint/views/StickerView;
.param p3, "position" # Lim/tpelyyftgw/ui/components/Point;
.line 79
invoke-virtual {p2}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->getRotation()F
move-result v3
invoke-virtual {p2}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->getScale()F
move-result v4
iget-object v5, p2, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget-object v6, p2, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->sticker:Lim/tpelyyftgw/tgnet/TLRPC$Document;
iget-object v7, p2, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->parentObject:Ljava/lang/Object;
move-object v0, p0
move-object v1, p1
move-object v2, p3
invoke-direct/range {v0 .. v7}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;-><init>(Landroid/content/Context;Lim/tpelyyftgw/ui/components/Point;FFLim/tpelyyftgw/ui/components/Size;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;)V
.line 80
iget-boolean v0, p2, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->mirrored:Z
if-eqz v0, :cond_1b
.line 81
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->mirror()V
.line 83
:cond_1b
return-void
.end method
# virtual methods
.method protected createSelectionView()Lim/tpelyyftgw/ui/components/paint/views/EntityView$SelectionView;
.registers 3
.line 136
new-instance v0, Lim/tpelyyftgw/ui/components/paint/views/StickerView$StickerViewSelectionView;
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->getContext()Landroid/content/Context;
move-result-object v1
invoke-direct {v0, p0, v1}, Lim/tpelyyftgw/ui/components/paint/views/StickerView$StickerViewSelectionView;-><init>(Lim/tpelyyftgw/ui/components/paint/views/StickerView;Landroid/content/Context;)V
return-object v0
.end method
.method public getAnchor()I
.registers 2
.line 86
iget v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->anchor:I
return v0
.end method
.method protected getSelectionBounds()Lim/tpelyyftgw/ui/components/Rect;
.registers 9
.line 127
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->getParent()Landroid/view/ViewParent;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
.line 128
.local v0, "parentView":Landroid/view/ViewGroup;
invoke-virtual {v0}, Landroid/view/ViewGroup;->getScaleX()F
move-result v1
.line 130
.local v1, "scale":F
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->getWidth()I
move-result v2
int-to-float v2, v2
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->getScale()F
move-result v3
const v4, 0x3ecccccd # 0.4f
add-float/2addr v3, v4
mul-float v2, v2, v3
.line 131
.local v2, "side":F
new-instance v3, Lim/tpelyyftgw/ui/components/Rect;
iget-object v4, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->position:Lim/tpelyyftgw/ui/components/Point;
iget v4, v4, Lim/tpelyyftgw/ui/components/Point;->x:F
const/high16 v5, 0x40000000 # 2.0f
div-float v6, v2, v5
sub-float/2addr v4, v6
mul-float v4, v4, v1
iget-object v6, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->position:Lim/tpelyyftgw/ui/components/Point;
iget v6, v6, Lim/tpelyyftgw/ui/components/Point;->y:F
div-float v5, v2, v5
sub-float/2addr v6, v5
mul-float v6, v6, v1
mul-float v5, v2, v1
mul-float v7, v2, v1
invoke-direct {v3, v4, v6, v5, v7}, Lim/tpelyyftgw/ui/components/Rect;-><init>(FFFF)V
return-object v3
.end method
.method public getSticker()Lim/tpelyyftgw/tgnet/TLRPC$Document;
.registers 2
.line 140
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->sticker:Lim/tpelyyftgw/tgnet/TLRPC$Document;
return-object v0
.end method
.method public mirror()V
.registers 2
.line 90
iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->mirrored:Z
xor-int/lit8 v0, v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->mirrored:Z
.line 91
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->containerView:Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
invoke-virtual {v0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;->invalidate()V
.line 92
return-void
.end method
.method protected onMeasure(II)V
.registers 6
.param p1, "widthMeasureSpec" # I
.param p2, "heightMeasureSpec" # I
.line 122
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v0, v0, Lim/tpelyyftgw/ui/components/Size;->width:F
float-to-int v0, v0
const/high16 v1, 0x40000000 # 2.0f
invoke-static {v0, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
iget-object v2, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v2, v2, Lim/tpelyyftgw/ui/components/Size;->height:F
float-to-int v2, v2
invoke-static {v2, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v1
invoke-super {p0, v0, v1}, Lim/tpelyyftgw/ui/components/paint/views/EntityView;->onMeasure(II)V
.line 123
return-void
.end method
.method protected stickerDraw(Landroid/graphics/Canvas;)V
.registers 7
.param p1, "canvas" # Landroid/graphics/Canvas;
.line 103
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->containerView:Lim/tpelyyftgw/ui/components/paint/views/StickerView$FrameLayoutDrawer;
if-nez v0, :cond_5
.line 104
return-void
.line 107
:cond_5
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 108
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
invoke-virtual {v0}, Lim/tpelyyftgw/messenger/ImageReceiver;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v0
.line 109
.local v0, "bitmap":Landroid/graphics/Bitmap;
if-eqz v0, :cond_39
.line 110
iget-boolean v1, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->mirrored:Z
if-eqz v1, :cond_24
.line 111
const/high16 v1, -0x40800000 # -1.0f
const/high16 v2, 0x3f800000 # 1.0f
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->scale(FF)V
.line 112
iget-object v1, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v1, v1, Lim/tpelyyftgw/ui/components/Size;->width:F
neg-float v1, v1
const/4 v2, 0x0
invoke-virtual {p1, v1, v2}, Landroid/graphics/Canvas;->translate(FF)V
.line 114
:cond_24
iget-object v1, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
iget-object v2, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v2, v2, Lim/tpelyyftgw/ui/components/Size;->width:F
float-to-int v2, v2
iget-object v3, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v3, v3, Lim/tpelyyftgw/ui/components/Size;->height:F
float-to-int v3, v3
const/4 v4, 0x0
invoke-virtual {v1, v4, v4, v2, v3}, Lim/tpelyyftgw/messenger/ImageReceiver;->setImageCoords(IIII)V
.line 115
iget-object v1, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->centerImage:Lim/tpelyyftgw/messenger/ImageReceiver;
invoke-virtual {v1, p1}, Lim/tpelyyftgw/messenger/ImageReceiver;->draw(Landroid/graphics/Canvas;)Z
.line 117
:cond_39
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
.line 118
return-void
.end method
.method protected updatePosition()V
.registers 4
.line 95
iget-object v0, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v0, v0, Lim/tpelyyftgw/ui/components/Size;->width:F
const/high16 v1, 0x40000000 # 2.0f
div-float/2addr v0, v1
.line 96
.local v0, "halfWidth":F
iget-object v2, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->baseSize:Lim/tpelyyftgw/ui/components/Size;
iget v2, v2, Lim/tpelyyftgw/ui/components/Size;->height:F
div-float/2addr v2, v1
.line 97
.local v2, "halfHeight":F
iget-object v1, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->position:Lim/tpelyyftgw/ui/components/Point;
iget v1, v1, Lim/tpelyyftgw/ui/components/Point;->x:F
sub-float/2addr v1, v0
invoke-virtual {p0, v1}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->setX(F)V
.line 98
iget-object v1, p0, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->position:Lim/tpelyyftgw/ui/components/Point;
iget v1, v1, Lim/tpelyyftgw/ui/components/Point;->y:F
sub-float/2addr v1, v2
invoke-virtual {p0, v1}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->setY(F)V
.line 99
invoke-virtual {p0}, Lim/tpelyyftgw/ui/components/paint/views/StickerView;->updateSelectionView()V
.line 100
return-void
.end method