PropHelper.smali

.class public Lcom/horcrux/svg/PropHelper;
.super Ljava/lang/Object;
.source "PropHelper.java"


# static fields
.field public static final inputMatrixDataSize:I


# direct methods
.method static constructor <clinit>()V
    .registers 1

    const v0, 0x5c

    invoke-static {v0}, Lnp/NPFog;->d(I)I

    move-result v0

    sput v0, Lcom/horcrux/svg/PropHelper;->inputMatrixDataSize: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 fromRelative(Lcom/horcrux/svg/SVGLength;DDDD)D
    .registers 14

    if-nez p0, :cond_3

    return-wide p3

    :cond_3
    iget-object v0, p0, Lcom/horcrux/svg/SVGLength;->unit:Lcom/horcrux/svg/SVGLength$UnitType;

    iget-wide v1, p0, Lcom/horcrux/svg/SVGLength;->value:D

    const-wide/high16 v3, 0x3ff0000000000000L    # 1.0

    sget-object p0, Lcom/horcrux/svg/PropHelper$1;->$SwitchMap$com$horcrux$svg$SVGLength$UnitType:[I

    invoke-virtual {v0}, Ljava/lang/Enum;->ordinal()I

    move-result v0

    aget p0, p0, v0

    packed-switch p0, :pswitch_data_3e

    :goto_14
    mul-double v1, v1, p5

    :goto_16
    add-double/2addr v1, p3

    return-wide v1

    :pswitch_18
    const-wide/high16 p7, 0x402e000000000000L    # 15.0

    goto :goto_3b

    :pswitch_1b
    const-wide/high16 p7, 0x3ff4000000000000L    # 1.25

    goto :goto_3b

    :pswitch_1e
    const-wide p7, 0x4056800000000000L    # 90.0

    goto :goto_3b

    :pswitch_24
    const-wide p7, 0x400c58b1572580c3L    # 3.543307

    goto :goto_3b

    :pswitch_2a
    const-wide p7, 0x4041b76ed677707aL    # 35.43307

    goto :goto_3b

    :pswitch_30
    const-wide/high16 p0, 0x4000000000000000L    # 2.0

    div-double/2addr p7, p0

    goto :goto_3b

    :pswitch_34
    const-wide/high16 p5, 0x4059000000000000L    # 100.0

    div-double/2addr v1, p5

    mul-double v1, v1, p1

    goto :goto_16

    :pswitch_3a
    move-wide p7, v3

    :goto_3b
    :pswitch_3b
    mul-double v1, v1, p7

    goto :goto_14

    :pswitch_data_3e
    .packed-switch 0x1
        :pswitch_3a
        :pswitch_3a
        :pswitch_34
        :pswitch_3b
        :pswitch_30
        :pswitch_2a
        :pswitch_24
        :pswitch_1e
        :pswitch_1b
        :pswitch_18
    .end packed-switch
.end method

.method public static fromRelative(Ljava/lang/String;DDD)D
    .registers 14

    invoke-virtual {p0}, Ljava/lang/String;->trim()Ljava/lang/String;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/String;->length()I

    move-result v0

    add-int/lit8 v1, v0, -0x1

    if-eqz v0, :cond_db

    const-string v2, "normal"

    invoke-virtual {p0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_16

    goto/16 :goto_db

    :cond_16
    invoke-virtual {p0, v1}, Ljava/lang/String;->codePointAt(I)I

    move-result v2

    const/16 v3, 0x25

    const/4 v4, 0x0

    if-ne v2, v3, :cond_31

    invoke-virtual {p0, v4, v1}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object p0

    invoke-static {p0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/Double;->doubleValue()D

    move-result-wide p3

    const-wide/high16 p5, 0x4059000000000000L    # 100.0

    div-double/2addr p3, p5

    mul-double p3, p3, p1

    return-wide p3

    :cond_31
    add-int/lit8 p1, v0, -0x2

    if-lez p1, :cond_d2

    invoke-virtual {p0, p1}, Ljava/lang/String;->substring(I)Ljava/lang/String;

    move-result-object p2

    const-wide/high16 v1, 0x3ff0000000000000L    # 1.0

    const/4 v3, -0x1

    invoke-virtual {p2}, Ljava/lang/String;->hashCode()I

    move-result v5

    const/16 v6, 0xc6a

    if-eq v5, v6, :cond_99

    const/16 v6, 0xca8

    if-eq v5, v6, :cond_8f

    const/16 v6, 0xd25

    if-eq v5, v6, :cond_85

    const/16 v6, 0xda0

    if-eq v5, v6, :cond_7b

    const/16 v6, 0xdf3

    if-eq v5, v6, :cond_71

    const/16 v6, 0xe04

    if-eq v5, v6, :cond_67

    const/16 v6, 0xe08

    if-eq v5, v6, :cond_5d

    goto :goto_a2

    :cond_5d
    const-string v5, "px"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x0

    goto :goto_a2

    :cond_67
    const-string v5, "pt"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x2

    goto :goto_a2

    :cond_71
    const-string v5, "pc"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x3

    goto :goto_a2

    :cond_7b
    const-string v5, "mm"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x4

    goto :goto_a2

    :cond_85
    const-string v5, "in"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x6

    goto :goto_a2

    :cond_8f
    const-string v5, "em"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x1

    goto :goto_a2

    :cond_99
    const-string v5, "cm"

    invoke-virtual {p2, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result p2

    if-eqz p2, :cond_a2

    const/4 v3, 0x5

    :cond_a2
    :goto_a2
    packed-switch v3, :pswitch_data_de

    goto :goto_c0

    :pswitch_a6
    const-wide p5, 0x4056800000000000L    # 90.0

    goto :goto_bd

    :pswitch_ac
    const-wide p5, 0x4041b76ed677707aL    # 35.43307

    goto :goto_bd

    :pswitch_b2
    const-wide p5, 0x400c58b1572580c3L    # 3.543307

    goto :goto_bd

    :pswitch_b8
    const-wide/high16 p5, 0x402e000000000000L    # 15.0

    goto :goto_bd

    :pswitch_bb
    const-wide/high16 p5, 0x3ff4000000000000L    # 1.25

    :goto_bd
    :pswitch_bd
    move v0, p1

    goto :goto_c1

    :pswitch_bf
    move v0, p1

    :goto_c0
    move-wide p5, v1

    :goto_c1
    invoke-virtual {p0, v4, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object p0

    invoke-static {p0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/Double;->doubleValue()D

    move-result-wide p0

    mul-double p0, p0, p5

    :goto_cf
    mul-double p0, p0, p3

    return-wide p0

    :cond_d2
    invoke-static {p0}, Ljava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;

    move-result-object p0

    invoke-virtual {p0}, Ljava/lang/Double;->doubleValue()D

    move-result-wide p0

    goto :goto_cf

    :cond_db
    :goto_db
    const-wide/16 p0, 0x0

    return-wide p0

    :pswitch_data_de
    .packed-switch 0x0
        :pswitch_bf
        :pswitch_bd
        :pswitch_bb
        :pswitch_b8
        :pswitch_b2
        :pswitch_ac
        :pswitch_a6
    .end packed-switch
.end method

.method public static toMatrixData(Lcom/facebook/react/bridge/ReadableArray;[FF)I
    .registers 9

    invoke-interface {p0}, Lcom/facebook/react/bridge/ReadableArray;->size()I

    move-result v0

    const/4 v1, 0x6

    if-eq v0, v1, :cond_8

    return v0

    :cond_8
    const/4 v0, 0x0

    invoke-interface {p0, v0}, Lcom/facebook/react/bridge/ReadableArray;->getDouble(I)D

    move-result-wide v2

    double-to-float v2, v2

    aput v2, p1, v0

    const/4 v0, 0x2

    invoke-interface {p0, v0}, Lcom/facebook/react/bridge/ReadableArray;->getDouble(I)D

    move-result-wide v2

    double-to-float v2, v2

    const/4 v3, 0x1

    aput v2, p1, v3

    const/4 v2, 0x4

    invoke-interface {p0, v2}, Lcom/facebook/react/bridge/ReadableArray;->getDouble(I)D

    move-result-wide v4

    double-to-float v4, v4

    mul-float v4, v4, p2

    aput v4, p1, v0

    invoke-interface {p0, v3}, Lcom/facebook/react/bridge/ReadableArray;->getDouble(I)D

    move-result-wide v3

    double-to-float v0, v3

    const/4 v3, 0x3

    aput v0, p1, v3

    invoke-interface {p0, v3}, Lcom/facebook/react/bridge/ReadableArray;->getDouble(I)D

    move-result-wide v3

    double-to-float v0, v3

    aput v0, p1, v2

    const/4 v0, 0x5

    invoke-interface {p0, v0}, Lcom/facebook/react/bridge/ReadableArray;->getDouble(I)D

    move-result-wide v2

    double-to-float p0, v2

    mul-float p0, p0, p2

    aput p0, p1, v0

    return v1
.end method