.class public abstract Landroidx/emoji2/text/EmojiSpan; .super Landroid/text/style/ReplacementSpan; .source "SourceFile" # annotations .annotation build Landroidx/annotation/RequiresApi; value = 0x13 .end annotation # instance fields .field private mHeight:S .field private final mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private mRatio:F .field private final mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt; .field private mWidth:S # direct methods .method public constructor (Landroidx/emoji2/text/TypefaceEmojiRasterizer;)V .locals 1 .param p1 # Landroidx/emoji2/text/TypefaceEmojiRasterizer; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope; } .end annotation .line 74 invoke-direct {p0}, Landroid/text/style/ReplacementSpan;->()V .line 41 new-instance v0, Landroid/graphics/Paint$FontMetricsInt; invoke-direct {v0}, Landroid/graphics/Paint$FontMetricsInt;->()V iput-object v0, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt; const/4 v0, -0x1 iput-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mWidth:S iput-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mHeight:S const/high16 v0, 0x3f800000 # 1.0f iput v0, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F const-string v0, "rasterizer cannot be null" .line 75 invoke-static {p1, v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; iput-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer; return-void .end method # virtual methods .method public final getHeight()I .locals 1 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope; } .end annotation iget-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mHeight:S return v0 .end method .method public final getId()I .locals 1 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->TESTS:Landroidx/annotation/RestrictTo$Scope; } .end annotation .line 148 invoke-virtual {p0}, Landroidx/emoji2/text/EmojiSpan;->getTypefaceRasterizer()Landroidx/emoji2/text/TypefaceEmojiRasterizer; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getId()I move-result v0 return v0 .end method .method public final getRatio()F .locals 1 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope; } .end annotation iget v0, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F return v0 .end method .method public getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I .locals 0 .param p1 # Landroid/graphics/Paint; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Ljava/lang/CharSequence; .annotation build Landroid/annotation/SuppressLint; value = { "UnknownNullness" } .end annotation .end param .param p5 # Landroid/graphics/Paint$FontMetricsInt; .annotation build Landroidx/annotation/Nullable; .end annotation .end param iget-object p2, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt; .line 86 invoke-virtual {p1, p2}, Landroid/graphics/Paint;->getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I iget-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt; .line 87 iget p2, p1, Landroid/graphics/Paint$FontMetricsInt;->descent:I iget p1, p1, Landroid/graphics/Paint$FontMetricsInt;->ascent:I sub-int/2addr p2, p1 invoke-static {p2}, Ljava/lang/Math;->abs(I)I move-result p1 int-to-float p1, p1 const/high16 p2, 0x3f800000 # 1.0f mul-float/2addr p1, p2 iget-object p2, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer; .line 89 invoke-virtual {p2}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getHeight()I move-result p2 int-to-float p2, p2 div-float/2addr p1, p2 iput p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F iget-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer; .line 90 invoke-virtual {p1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getHeight()I move-result p1 int-to-float p1, p1 iget p2, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F mul-float/2addr p1, p2 float-to-int p1, p1 int-to-short p1, p1 iput-short p1, p0, Landroidx/emoji2/text/EmojiSpan;->mHeight:S iget-object p1, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer; .line 91 invoke-virtual {p1}, Landroidx/emoji2/text/TypefaceEmojiRasterizer;->getWidth()I move-result p1 int-to-float p1, p1 iget p2, p0, Landroidx/emoji2/text/EmojiSpan;->mRatio:F mul-float/2addr p1, p2 float-to-int p1, p1 int-to-short p1, p1 iput-short p1, p0, Landroidx/emoji2/text/EmojiSpan;->mWidth:S if-eqz p5, :cond_0 iget-object p2, p0, Landroidx/emoji2/text/EmojiSpan;->mTmpFontMetrics:Landroid/graphics/Paint$FontMetricsInt; .line 94 iget p3, p2, Landroid/graphics/Paint$FontMetricsInt;->ascent:I iput p3, p5, Landroid/graphics/Paint$FontMetricsInt;->ascent:I .line 95 iget p3, p2, Landroid/graphics/Paint$FontMetricsInt;->descent:I iput p3, p5, Landroid/graphics/Paint$FontMetricsInt;->descent:I .line 96 iget p3, p2, Landroid/graphics/Paint$FontMetricsInt;->top:I iput p3, p5, Landroid/graphics/Paint$FontMetricsInt;->top:I .line 97 iget p2, p2, Landroid/graphics/Paint$FontMetricsInt;->bottom:I iput p2, p5, Landroid/graphics/Paint$FontMetricsInt;->bottom:I :cond_0 return p1 .end method .method public final getTypefaceRasterizer()Landroidx/emoji2/text/TypefaceEmojiRasterizer; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation iget-object v0, p0, Landroidx/emoji2/text/EmojiSpan;->mRasterizer:Landroidx/emoji2/text/TypefaceEmojiRasterizer; return-object v0 .end method .method public final getWidth()I .locals 1 .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope; } .end annotation iget-short v0, p0, Landroidx/emoji2/text/EmojiSpan;->mWidth:S return v0 .end method