.class public Landroidx/emoji2/text/EmojiMetadata; .super Ljava/lang/Object; .source "EmojiMetadata.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/emoji2/text/EmojiMetadata$HasGlyph; } .end annotation # static fields .field public static final HAS_GLYPH_ABSENT:I = 0x1 .field public static final HAS_GLYPH_EXISTS:I = 0x2 .field public static final HAS_GLYPH_UNKNOWN:I .field private static final sMetadataItem:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Landroidx/emoji2/text/flatbuffer/MetadataItem;", ">;" } .end annotation .end field # instance fields .field private volatile mHasGlyph:I .field private final mIndex:I .field private final mMetadataRepo:Landroidx/emoji2/text/MetadataRepo; # direct methods .method static constructor ()V .locals 1 .line 73 new-instance v0, Ljava/lang/ThreadLocal; invoke-direct {v0}, Ljava/lang/ThreadLocal;->()V sput-object v0, Landroidx/emoji2/text/EmojiMetadata;->sMetadataItem:Ljava/lang/ThreadLocal; return-void .end method .method constructor (Landroidx/emoji2/text/MetadataRepo;I)V .locals 1 .line 92 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 89 iput v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mHasGlyph:I .line 93 iput-object p1, p0, Landroidx/emoji2/text/EmojiMetadata;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo; .line 94 iput p2, p0, Landroidx/emoji2/text/EmojiMetadata;->mIndex:I return-void .end method .method private getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; .locals 3 .line 132 sget-object v0, Landroidx/emoji2/text/EmojiMetadata;->sMetadataItem:Ljava/lang/ThreadLocal; invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/emoji2/text/flatbuffer/MetadataItem; if-nez v1, :cond_0 .line 134 new-instance v1, Landroidx/emoji2/text/flatbuffer/MetadataItem; invoke-direct {v1}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->()V .line 135 invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V .line 144 :cond_0 iget-object v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo; invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getMetadataList()Landroidx/emoji2/text/flatbuffer/MetadataList; move-result-object v0 iget v2, p0, Landroidx/emoji2/text/EmojiMetadata;->mIndex:I invoke-virtual {v0, v1, v2}, Landroidx/emoji2/text/flatbuffer/MetadataList;->list(Landroidx/emoji2/text/flatbuffer/MetadataItem;I)Landroidx/emoji2/text/flatbuffer/MetadataItem; return-object v1 .end method # virtual methods .method public draw(Landroid/graphics/Canvas;FFLandroid/graphics/Paint;)V .locals 9 .line 108 iget-object v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo; invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getTypeface()Landroid/graphics/Typeface; move-result-object v0 .line 109 invoke-virtual {p4}, Landroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface; move-result-object v1 .line 110 invoke-virtual {p4, v0}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; .line 115 iget v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mIndex:I mul-int/lit8 v4, v0, 0x2 .line 116 iget-object v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo; invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getEmojiCharArray()[C move-result-object v3 const/4 v5, 0x2 move-object v2, p1 move v6, p2 move v7, p3 move-object v8, p4 invoke-virtual/range {v2 .. v8}, Landroid/graphics/Canvas;->drawText([CIIFFLandroid/graphics/Paint;)V .line 117 invoke-virtual {p4, v1}, Landroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface; return-void .end method .method public getCodepointAt(I)I .locals 1 .line 230 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0, p1}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->codepoints(I)I move-result p1 return p1 .end method .method public getCodepointsLength()I .locals 1 .line 237 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->codepointsLength()I move-result v0 return v0 .end method .method public getCompatAdded()S .locals 1 .line 173 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->compatAdded()S move-result v0 return v0 .end method .method public getHasGlyph()I .locals 1 .line 190 iget v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mHasGlyph:I return v0 .end method .method public getHeight()S .locals 1 .line 166 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->height()S move-result v0 return v0 .end method .method public getId()I .locals 1 .line 152 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->id()I move-result v0 return v0 .end method .method public getSdkAdded()S .locals 1 .line 180 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->sdkAdded()S move-result v0 return v0 .end method .method public getTypeface()Landroid/graphics/Typeface; .locals 1 .line 125 iget-object v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mMetadataRepo:Landroidx/emoji2/text/MetadataRepo; invoke-virtual {v0}, Landroidx/emoji2/text/MetadataRepo;->getTypeface()Landroid/graphics/Typeface; move-result-object v0 return-object v0 .end method .method public getWidth()S .locals 1 .line 159 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->width()S move-result v0 return v0 .end method .method public isDefaultEmoji()Z .locals 1 .line 221 invoke-direct {p0}, Landroidx/emoji2/text/EmojiMetadata;->getMetadataItem()Landroidx/emoji2/text/flatbuffer/MetadataItem; move-result-object v0 invoke-virtual {v0}, Landroidx/emoji2/text/flatbuffer/MetadataItem;->emojiStyle()Z move-result v0 return v0 .end method .method public resetHasGlyphCache()V .locals 1 const/4 v0, 0x0 .line 203 iput v0, p0, Landroidx/emoji2/text/EmojiMetadata;->mHasGlyph:I return-void .end method .method public setHasGlyph(Z)V .locals 0 if-eqz p1, :cond_0 const/4 p1, 0x2 goto :goto_0 :cond_0 const/4 p1, 0x1 .line 213 :goto_0 iput p1, p0, Landroidx/emoji2/text/EmojiMetadata;->mHasGlyph:I return-void .end method .method public toString()Ljava/lang/String; .locals 4 .line 242 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 243 invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 244 const-string v1, ", id:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 245 invoke-virtual {p0}, Landroidx/emoji2/text/EmojiMetadata;->getId()I move-result v1 invoke-static {v1}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 246 const-string v1, ", codepoints:" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 247 invoke-virtual {p0}, Landroidx/emoji2/text/EmojiMetadata;->getCodepointsLength()I move-result v1 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_0 .line 249 invoke-virtual {p0, v2}, Landroidx/emoji2/text/EmojiMetadata;->getCodepointAt(I)I move-result v3 invoke-static {v3}, Ljava/lang/Integer;->toHexString(I)Ljava/lang/String; move-result-object v3 invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 250 const-string v3, " " invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 252 :cond_0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method