.class Landroidx/emoji2/text/DefaultGlyphChecker; .super Ljava/lang/Object; .source "SourceFile" # interfaces .implements Landroidx/emoji2/text/EmojiCompat$GlyphChecker; # annotations .annotation build Landroidx/annotation/AnyThread; .end annotation .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY:Landroidx/annotation/RestrictTo$Scope; } .end annotation # static fields .field private static final PAINT_TEXT_SIZE:I = 0xa .field private static final sStringBuilder:Ljava/lang/ThreadLocal; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/ThreadLocal<", "Ljava/lang/StringBuilder;", ">;" } .end annotation .end field # instance fields .field private final mTextPaint:Landroid/text/TextPaint; # direct methods .method static constructor ()V .locals 1 .line 46 new-instance v0, Ljava/lang/ThreadLocal; invoke-direct {v0}, Ljava/lang/ThreadLocal;->()V sput-object v0, Landroidx/emoji2/text/DefaultGlyphChecker;->sStringBuilder:Ljava/lang/ThreadLocal; return-void .end method .method public constructor ()V .locals 2 .line 53 invoke-direct {p0}, Ljava/lang/Object;->()V .line 54 new-instance v0, Landroid/text/TextPaint; invoke-direct {v0}, Landroid/text/TextPaint;->()V iput-object v0, p0, Landroidx/emoji2/text/DefaultGlyphChecker;->mTextPaint:Landroid/text/TextPaint; const/high16 v1, 0x41200000 # 10.0f .line 55 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setTextSize(F)V return-void .end method .method private static getStringBuilder()Ljava/lang/StringBuilder; .locals 2 sget-object v0, Landroidx/emoji2/text/DefaultGlyphChecker;->sStringBuilder:Ljava/lang/ThreadLocal; .line 84 invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v1 if-nez v1, :cond_0 .line 85 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;->()V invoke-virtual {v0, v1}, Ljava/lang/ThreadLocal;->set(Ljava/lang/Object;)V .line 87 :cond_0 invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/StringBuilder; return-object v0 .end method # virtual methods .method public hasGlyph(Ljava/lang/CharSequence;III)Z .locals 1 .param p1 # Ljava/lang/CharSequence; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 72 invoke-static {}, Landroidx/emoji2/text/DefaultGlyphChecker;->getStringBuilder()Ljava/lang/StringBuilder; move-result-object p4 const/4 v0, 0x0 .line 73 invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->setLength(I)V :goto_0 if-ge p2, p3, :cond_0 .line 76 invoke-interface {p1, p2}, Ljava/lang/CharSequence;->charAt(I)C move-result v0 invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; add-int/lit8 p2, p2, 0x1 goto :goto_0 :cond_0 iget-object p1, p0, Landroidx/emoji2/text/DefaultGlyphChecker;->mTextPaint:Landroid/text/TextPaint; .line 80 invoke-virtual {p4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-static {p1, p2}, Landroidx/core/graphics/PaintCompat;->hasGlyph(Landroid/graphics/Paint;Ljava/lang/String;)Z move-result p1 return p1 .end method