TextPaintImageReceiverSpan.smali

.class public Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;
.super Landroid/text/style/ReplacementSpan;
.source "TextPaintImageReceiverSpan.java"


# instance fields
.field private alignTop:Z

.field private height:I

.field private imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

.field private width:I


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

    return-void
.end method

.method public constructor <init>(Landroid/view/View;Lim/tpelyyftgw/tgnet/TLRPC$Document;Ljava/lang/Object;IIZZ)V
    .registers 24
    .param p1, "parentView"    # Landroid/view/View;
    .param p2, "document"    # Lim/tpelyyftgw/tgnet/TLRPC$Document;
    .param p3, "parentObject"    # Ljava/lang/Object;
    .param p4, "w"    # I
    .param p5, "h"    # I
    .param p6, "top"    # Z
    .param p7, "invert"    # Z

    .line 26
    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct/range {p0 .. p0}, Landroid/text/style/ReplacementSpan;-><init>()V

    .line 27
    sget-object v2, Ljava/util/Locale;->US:Ljava/util/Locale;

    const/4 v3, 0x2

    new-array v3, v3, [Ljava/lang/Object;

    invoke-static/range {p4 .. p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    const/4 v5, 0x0

    aput-object v4, v3, v5

    invoke-static/range {p5 .. p5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v4

    const/4 v5, 0x1

    aput-object v4, v3, v5

    const-string v4, "%d_%d_i"

    invoke-static {v2, v4, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v2

    .line 28
    .local v2, "filter":Ljava/lang/String;
    move/from16 v3, p4

    iput v3, v0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->width:I

    .line 29
    move/from16 v4, p5

    iput v4, v0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->height:I

    .line 30
    new-instance v6, Lim/tpelyyftgw/messenger/ImageReceiver;

    move-object/from16 v15, p1

    invoke-direct {v6, v15}, Lim/tpelyyftgw/messenger/ImageReceiver;-><init>(Landroid/view/View;)V

    iput-object v6, v0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

    .line 31
    invoke-virtual {v6, v5}, Lim/tpelyyftgw/messenger/ImageReceiver;->setInvalidateAll(Z)V

    .line 32
    if-eqz p7, :cond_3d

    .line 33
    iget-object v5, v0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

    sget-object v6, Lim/tpelyyftgw/ui/components/-$$Lambda$TextPaintImageReceiverSpan$GeEAZhcSrfX_j62xO2YrYMoPiNk;->INSTANCE:Lim/tpelyyftgw/ui/components/-$$Lambda$TextPaintImageReceiverSpan$GeEAZhcSrfX_j62xO2YrYMoPiNk;

    invoke-virtual {v5, v6}, Lim/tpelyyftgw/messenger/ImageReceiver;->setDelegate(Lim/tpelyyftgw/messenger/ImageReceiver$ImageReceiverDelegate;)V

    .line 46
    :cond_3d
    iget-object v5, v1, Lim/tpelyyftgw/tgnet/TLRPC$Document;->thumbs:Ljava/util/ArrayList;

    const/16 v6, 0x5a

    invoke-static {v5, v6}, Lim/tpelyyftgw/messenger/FileLoader;->getClosestPhotoSizeWithSize(Ljava/util/ArrayList;I)Lim/tpelyyftgw/tgnet/TLRPC$PhotoSize;

    move-result-object v5

    .line 47
    .local v5, "thumb":Lim/tpelyyftgw/tgnet/TLRPC$PhotoSize;
    iget-object v6, v0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

    invoke-static/range {p2 .. p2}, Lim/tpelyyftgw/messenger/ImageLocation;->getForDocument(Lim/tpelyyftgw/tgnet/TLRPC$Document;)Lim/tpelyyftgw/messenger/ImageLocation;

    move-result-object v7

    invoke-static {v5, 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 v11, -0x1

    const/4 v12, 0x0

    const/4 v14, 0x1

    move-object v8, v2

    move-object v10, v2

    move-object/from16 v13, p3

    invoke-virtual/range {v6 .. v14}, Lim/tpelyyftgw/messenger/ImageReceiver;->setImage(Lim/tpelyyftgw/messenger/ImageLocation;Ljava/lang/String;Lim/tpelyyftgw/messenger/ImageLocation;Ljava/lang/String;ILjava/lang/String;Ljava/lang/Object;I)V

    .line 48
    move/from16 v6, p6

    iput-boolean v6, v0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->alignTop:Z

    .line 49
    return-void
.end method

.method static synthetic lambda$new$0(Lim/tpelyyftgw/messenger/ImageReceiver;ZZ)V
    .registers 5
    .param p0, "imageReceiver"    # Lim/tpelyyftgw/messenger/ImageReceiver;
    .param p1, "set"    # Z
    .param p2, "thumb"    # Z

    .line 34
    invoke-virtual {p0}, Lim/tpelyyftgw/messenger/ImageReceiver;->canInvertBitmap()Z

    move-result v0

    if-nez v0, :cond_7

    .line 35
    return-void

    .line 37
    :cond_7
    const/16 v0, 0x14

    new-array v0, v0, [F

    fill-array-data v0, :array_18

    .line 43
    .local v0, "NEGATIVE":[F
    new-instance v1, Landroid/graphics/ColorMatrixColorFilter;

    invoke-direct {v1, v0}, Landroid/graphics/ColorMatrixColorFilter;-><init>([F)V

    invoke-virtual {p0, v1}, Lim/tpelyyftgw/messenger/ImageReceiver;->setColorFilter(Landroid/graphics/ColorFilter;)V

    .line 44
    return-void

    nop

    :array_18
    .array-data 4
        -0x40800000    # -1.0f
        0x0
        0x0
        0x0
        0x437f0000    # 255.0f
        0x0
        -0x40800000    # -1.0f
        0x0
        0x0
        0x437f0000    # 255.0f
        0x0
        0x0
        -0x40800000    # -1.0f
        0x0
        0x437f0000    # 255.0f
        0x0
        0x0
        0x0
        0x3f800000    # 1.0f
        0x0
    .end array-data
.end method


# virtual methods
.method public draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
    .registers 16
    .param p1, "canvas"    # Landroid/graphics/Canvas;
    .param p2, "text"    # Ljava/lang/CharSequence;
    .param p3, "start"    # I
    .param p4, "end"    # I
    .param p5, "x"    # F
    .param p6, "top"    # I
    .param p7, "y"    # I
    .param p8, "bottom"    # I
    .param p9, "paint"    # Landroid/graphics/Paint;

    .line 68
    invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I

    .line 69
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->alignTop:Z

    if-eqz v0, :cond_14

    .line 70
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

    float-to-int v1, p5

    add-int/lit8 v2, p6, -0x1

    iget v3, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->width:I

    iget v4, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->height:I

    invoke-virtual {v0, v1, v2, v3, v4}, Lim/tpelyyftgw/messenger/ImageReceiver;->setImageCoords(IIII)V

    goto :goto_2c

    .line 72
    :cond_14
    const/high16 v0, 0x40800000    # 4.0f

    invoke-static {v0}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v0

    sub-int v0, p8, v0

    sub-int/2addr v0, p6

    .line 73
    .local v0, "h":I
    iget-object v1, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

    float-to-int v2, p5

    iget v3, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->height:I

    sub-int v4, v0, v3

    div-int/lit8 v4, v4, 0x2

    add-int/2addr v4, p6

    iget v5, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->width:I

    invoke-virtual {v1, v2, v4, v5, v3}, Lim/tpelyyftgw/messenger/ImageReceiver;->setImageCoords(IIII)V

    .line 75
    .end local v0    # "h":I
    :goto_2c
    iget-object v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->imageReceiver:Lim/tpelyyftgw/messenger/ImageReceiver;

    invoke-virtual {v0, p1}, Lim/tpelyyftgw/messenger/ImageReceiver;->draw(Landroid/graphics/Canvas;)Z

    .line 76
    invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V

    .line 77
    return-void
.end method

.method public getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
    .registers 9
    .param p1, "paint"    # Landroid/graphics/Paint;
    .param p2, "text"    # Ljava/lang/CharSequence;
    .param p3, "start"    # I
    .param p4, "end"    # I
    .param p5, "fm"    # Landroid/graphics/Paint$FontMetricsInt;

    .line 53
    if-eqz p5, :cond_3c

    .line 54
    iget-boolean v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->alignTop:Z

    const/high16 v1, 0x40800000    # 4.0f

    if-eqz v0, :cond_20

    .line 55
    iget v0, p5, Landroid/graphics/Paint$FontMetricsInt;->descent:I

    iget v2, p5, Landroid/graphics/Paint$FontMetricsInt;->ascent:I

    sub-int/2addr v0, v2

    invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v1

    sub-int/2addr v0, v1

    .line 56
    .local v0, "h":I
    iget v1, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->height:I

    sub-int/2addr v1, v0

    iput v1, p5, Landroid/graphics/Paint$FontMetricsInt;->descent:I

    iput v1, p5, Landroid/graphics/Paint$FontMetricsInt;->bottom:I

    .line 57
    rsub-int/lit8 v1, v0, 0x0

    iput v1, p5, Landroid/graphics/Paint$FontMetricsInt;->ascent:I

    iput v1, p5, Landroid/graphics/Paint$FontMetricsInt;->top:I

    .line 58
    .end local v0    # "h":I
    goto :goto_3c

    .line 59
    :cond_20
    iget v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->height:I

    neg-int v0, v0

    div-int/lit8 v0, v0, 0x2

    invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v2

    sub-int/2addr v0, v2

    iput v0, p5, Landroid/graphics/Paint$FontMetricsInt;->ascent:I

    iput v0, p5, Landroid/graphics/Paint$FontMetricsInt;->top:I

    .line 60
    iget v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->height:I

    div-int/lit8 v2, v0, 0x2

    sub-int/2addr v0, v2

    invoke-static {v1}, Lim/tpelyyftgw/messenger/AndroidUtilities;->dp(F)I

    move-result v1

    sub-int/2addr v0, v1

    iput v0, p5, Landroid/graphics/Paint$FontMetricsInt;->descent:I

    iput v0, p5, Landroid/graphics/Paint$FontMetricsInt;->bottom:I

    .line 63
    :cond_3c
    :goto_3c
    iget v0, p0, Lim/tpelyyftgw/ui/components/TextPaintImageReceiverSpan;->width:I

    return v0
.end method