ReactTypefaceUtils.smali
.class public Lcom/facebook/react/views/text/ReactTypefaceUtils;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final UNSET:I = -0x1
# direct methods
.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
const/4 v0, 0x0
if-nez p0, :cond_5
const/4 v1, 0x0
goto :goto_9
.line 1
: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
.line 2
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
.line 3
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
.line 4
: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
const-string v0, "italic"
.line 1
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"
.line 2
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 7
if-eqz p0, :cond_87
.line 1
invoke-interface {p0}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v0
if-nez v0, :cond_a
goto/16 :goto_87
.line 2
:cond_a
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
const/4 v1, 0x0
const/4 v2, 0x0
.line 3
:goto_11
invoke-interface {p0}, Lcom/facebook/react/bridge/ReadableArray;->size()I
move-result v3
if-ge v2, v3, :cond_80
.line 4
invoke-interface {p0, v2}, Lcom/facebook/react/bridge/ReadableArray;->getString(I)Ljava/lang/String;
move-result-object v3
if-eqz v3, :cond_7d
const/4 v4, -0x1
.line 5
invoke-virtual {v3}, Ljava/lang/String;->hashCode()I
move-result v5
sparse-switch v5, :sswitch_data_8a
goto :goto_5c
:sswitch_26
const-string v5, "small-caps"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_2f
goto :goto_5c
:cond_2f
const/4 v4, 0x4
goto :goto_5c
:sswitch_31
const-string v5, "oldstyle-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_3a
goto :goto_5c
:cond_3a
const/4 v4, 0x3
goto :goto_5c
:sswitch_3c
const-string v5, "tabular-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_45
goto :goto_5c
:cond_45
const/4 v4, 0x2
goto :goto_5c
:sswitch_47
const-string v5, "lining-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_50
goto :goto_5c
:cond_50
const/4 v4, 0x1
goto :goto_5c
:sswitch_52
const-string v5, "proportional-nums"
invoke-virtual {v3, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-nez v3, :cond_5b
goto :goto_5c
:cond_5b
const/4 v4, 0x0
:goto_5c
packed-switch v4, :pswitch_data_a0
goto :goto_7d
:pswitch_60
const-string v3, "\'smcp\'"
.line 6
invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_7d
:pswitch_66
const-string v3, "\'onum\'"
.line 7
invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_7d
:pswitch_6c
const-string v3, "\'tnum\'"
.line 8
invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_7d
:pswitch_72
const-string v3, "\'lnum\'"
.line 9
invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_7d
:pswitch_78
const-string v3, "\'pnum\'"
.line 10
invoke-virtual {v0, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
:cond_7d
:goto_7d
add-int/lit8 v2, v2, 0x1
goto :goto_11
:cond_80
const-string p0, ", "
.line 11
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_87
:goto_87
const/4 p0, 0x0
return-object p0
nop
:sswitch_data_8a
.sparse-switch
-0x473fc7cb -> :sswitch_52
-0x3f4391b7 -> :sswitch_47
-0x2e038ca3 -> :sswitch_3c
-0x2751e650 -> :sswitch_31
0x468813e7 -> :sswitch_26
.end sparse-switch
:pswitch_data_a0
.packed-switch 0x0
:pswitch_78
:pswitch_72
:pswitch_6c
:pswitch_66
:pswitch_60
.end packed-switch
.end method
.method public static parseFontWeight(Ljava/lang/String;)I
.registers 4
const/4 v0, -0x1
if-eqz p0, :cond_8
.line 1
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"
.line 2
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"
.line 3
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 private static parseNumericFontWeight(Ljava/lang/String;)I
.registers 4
.line 1
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"
.line 2
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_29
const/4 v0, 0x0
.line 3
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x39
if-gt v1, v2, :cond_29
.line 4
invoke-virtual {p0, v0}, Ljava/lang/String;->charAt(I)C
move-result v1
const/16 v2, 0x31
if-lt v1, v2, :cond_29
.line 5
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