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