ReactTypefaceUtils.smali
.class public Lcom/facebook/react/views/text/ReactTypefaceUtils;
.super Ljava/lang/Object;
.source "ReactTypefaceUtils.java"
# static fields
.field public static final UNSET:I
# direct methods
.method static constructor <clinit>()V
.registers 1
const v0, -0x5b
invoke-static {v0}, Lnp/NPFog;->d(I)I
move-result v0
sput v0, Lcom/facebook/react/views/text/ReactTypefaceUtils;->UNSET:I
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static applyStyles(Landroid/graphics/Typeface;IILjava/lang/String;Landroid/content/res/AssetManager;)Landroid/graphics/Typeface;
.registers 10
.param p0 # Landroid/graphics/Typeface;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p1 # I
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, 0x0
if-nez p0, :cond_5
const/4 v1, 0x0
goto :goto_9
:cond_5
invoke-virtual {p0}, Landroid/graphics/Typeface;->getStyle()I
move-result v1
:goto_9
const/4 v2, -0x1
const/4 v3, 0x1
if-eq p2, v3, :cond_13
and-int/lit8 v4, v1, 0x1
if-eqz v4, :cond_14
if-ne p2, v2, :cond_14
:cond_13
const/4 v0, 0x1
:cond_14
const/4 v3, 0x2
if-eq p1, v3, :cond_1c
and-int/2addr v1, v3
if-eqz v1, :cond_1e
if-ne p1, v2, :cond_1e
:cond_1c
or-int/lit8 v0, v0, 0x2
:cond_1e
if-eqz p3, :cond_29
invoke-static {}, Lcom/facebook/react/views/text/ReactFontManager;->getInstance()Lcom/facebook/react/views/text/ReactFontManager;
move-result-object p0
invoke-virtual {p0, p3, v0, p2, p4}, Lcom/facebook/react/views/text/ReactFontManager;->getTypeface(Ljava/lang/String;IILandroid/content/res/AssetManager;)Landroid/graphics/Typeface;
move-result-object p0
goto :goto_2f
:cond_29
if-eqz p0, :cond_2f
invoke-static {p0, v0}, Landroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;
move-result-object p0
:cond_2f
:goto_2f
if-eqz p0, :cond_32
return-object p0
:cond_32
invoke-static {v0}, Landroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface;
move-result-object p0
return-object p0
.end method
.method public static parseFontStyle(Ljava/lang/String;)I
.registers 2
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const-string v0, "italic"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_a
const/4 p0, 0x2
goto :goto_15
:cond_a
const-string v0, "normal"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_14
const/4 p0, 0x0
goto :goto_15
:cond_14
const/4 p0, -0x1
:goto_15
return p0
.end method
.method public static parseFontVariant(Lcom/facebook/react/bridge/ReadableArray;)Ljava/lang/String;
.registers 11
.param p0 # Lcom/facebook/react/bridge/ReadableArray;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-eqz p0, :cond_8d
invoke-interface {p0}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v0
if-nez v0, :cond_a
goto/16 :goto_8d
:cond_a
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const/4 v1, 0x0
const/4 v2, 0x0
:goto_11
invoke-interface {p0}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v3
if-ge v2, v3, :cond_86
invoke-interface {p0, v2}, Lcom/facebook/react/bridge/ReadableArray;->getString(I)Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_83
const/4 v4, -0x1
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v5
const/4 v6, 0x4
const/4 v7, 0x3
const/4 v8, 0x2
const/4 v9, 0x1
sparse-switch v5, :sswitch_data_90
goto :goto_5b
:sswitch_2a
const-string v5, "small-caps"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5b
const/4 v4, 0x0
goto :goto_5b
:sswitch_34
const-string v5, "oldstyle-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5b
const/4 v4, 0x1
goto :goto_5b
:sswitch_3e
const-string v5, "tabular-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5b
const/4 v4, 0x3
goto :goto_5b
:sswitch_48
const-string v5, "lining-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5b
const/4 v4, 0x2
goto :goto_5b
:sswitch_52
const-string v5, "proportional-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_5b
const/4 v4, 0x4
:cond_5b
:goto_5b
if-eqz v4, :cond_7e
if-eq v4, v9, :cond_78
if-eq v4, v8, :cond_72
if-eq v4, v7, :cond_6c
if-eq v4, v6, :cond_66
goto :goto_83
:cond_66
const-string v3, "\'pnum\'"
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_83
:cond_6c
const-string v3, "\'tnum\'"
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_83
:cond_72
const-string v3, "\'lnum\'"
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_83
:cond_78
const-string v3, "\'onum\'"
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_83
:cond_7e
const-string v3, "\'smcp\'"
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:cond_83
:goto_83
add-int/lit8 v2, v2, 0x1
goto :goto_11
:cond_86
const-string p0, ", "
invoke-static {p0, v0}, Landroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
move-result-object p0
return-object p0
:cond_8d
:goto_8d
const/4 p0, 0x0
return-object p0
nop
:sswitch_data_90
.sparse-switch
-0x473fc7cb -> :sswitch_52
-0x3f4391b7 -> :sswitch_48
-0x2e038ca3 -> :sswitch_3e
-0x2751e650 -> :sswitch_34
0x468813e7 -> :sswitch_2a
.end sparse-switch
.end method
.method public static parseFontWeight(Ljava/lang/String;)I
.registers 4
.param p0 # Ljava/lang/String;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
const/4 v0, -0x1
if-eqz p0, :cond_8
invoke-static {p0}, Lcom/facebook/react/views/text/ReactTypefaceUtils;->parseNumericFontWeight(Ljava/lang/String;)I
move-result v1
goto :goto_9
:cond_8
const/4 v1, -0x1
:goto_9
const/4 v2, 0x0
if-eq v1, v0, :cond_d
goto :goto_e
:cond_d
const/4 v1, 0x0
:goto_e
const/16 v0, 0x2bc
if-eq v1, v0, :cond_2a
const-string v0, "bold"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1b
goto :goto_2a
:cond_1b
const/16 v0, 0x190
if-eq v1, v0, :cond_2b
const-string v0, "normal"
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p0
if-eqz p0, :cond_28
goto :goto_2b
:cond_28
move v2, v1
goto :goto_2b
:cond_2a
:goto_2a
const/4 v2, 0x1
:cond_2b
:goto_2b
return v2
.end method
.method public static parseNumericFontWeight(Ljava/lang/String;)I
.registers 4
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
const/4 v1, 0x3
if-ne v0, v1, :cond_29
const-string v0, "00"
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_29
const/4 v0, 0x0
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x39
if-gt v1, v2, :cond_29
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x31
if-lt v1, v2, :cond_29
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result p0
add-int/lit8 p0, p0, -0x30
mul-int/lit8 p0, p0, 0x64
goto :goto_2a
:cond_29
const/4 p0, -0x1
:goto_2a
return p0
.end method