YogaValue.smali
.class public Lcom/facebook/yoga/YogaValue;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field public static final AUTO:Lcom/facebook/yoga/YogaValue;
.field public static final UNDEFINED:Lcom/facebook/yoga/YogaValue;
.field public static final ZERO:Lcom/facebook/yoga/YogaValue;
# instance fields
.field public final unit:Lcom/facebook/yoga/YogaUnit;
.field public final value:F
# direct methods
.method public static constructor <clinit>()V
.registers 4
.line 1
new-instance v0, Lcom/facebook/yoga/YogaValue;
sget-object v1, Lcom/facebook/yoga/YogaUnit;->UNDEFINED:Lcom/facebook/yoga/YogaUnit;
const/high16 v2, 0x7fc00000 # Float.NaN
invoke-direct {v0, v2, v1}, Lcom/facebook/yoga/YogaValue;-><init>(FLcom/facebook/yoga/YogaUnit;)V
sput-object v0, Lcom/facebook/yoga/YogaValue;->UNDEFINED:Lcom/facebook/yoga/YogaValue;
.line 2
new-instance v0, Lcom/facebook/yoga/YogaValue;
sget-object v1, Lcom/facebook/yoga/YogaUnit;->POINT:Lcom/facebook/yoga/YogaUnit;
const/4 v3, 0x0
invoke-direct {v0, v3, v1}, Lcom/facebook/yoga/YogaValue;-><init>(FLcom/facebook/yoga/YogaUnit;)V
sput-object v0, Lcom/facebook/yoga/YogaValue;->ZERO:Lcom/facebook/yoga/YogaValue;
.line 3
new-instance v0, Lcom/facebook/yoga/YogaValue;
sget-object v1, Lcom/facebook/yoga/YogaUnit;->AUTO:Lcom/facebook/yoga/YogaUnit;
invoke-direct {v0, v2, v1}, Lcom/facebook/yoga/YogaValue;-><init>(FLcom/facebook/yoga/YogaUnit;)V
sput-object v0, Lcom/facebook/yoga/YogaValue;->AUTO:Lcom/facebook/yoga/YogaValue;
return-void
.end method
.method public constructor <init>(FI)V
.registers 3
.line 4
invoke-static {p2}, Lcom/facebook/yoga/YogaUnit;->fromInt(I)Lcom/facebook/yoga/YogaUnit;
move-result-object p2
invoke-direct {p0, p1, p2}, Lcom/facebook/yoga/YogaValue;-><init>(FLcom/facebook/yoga/YogaUnit;)V
return-void
.end method
.method public constructor <init>(FLcom/facebook/yoga/YogaUnit;)V
.registers 3
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
iput p1, p0, Lcom/facebook/yoga/YogaValue;->value:F
.line 3
iput-object p2, p0, Lcom/facebook/yoga/YogaValue;->unit:Lcom/facebook/yoga/YogaUnit;
return-void
.end method
.method public static parse(Ljava/lang/String;)Lcom/facebook/yoga/YogaValue;
.registers 4
if-nez p0, :cond_4
const/4 p0, 0x0
return-object p0
:cond_4
const-string v0, "undefined"
.line 1
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_f
.line 2
sget-object p0, Lcom/facebook/yoga/YogaValue;->UNDEFINED:Lcom/facebook/yoga/YogaValue;
return-object p0
:cond_f
const-string v0, "auto"
.line 3
invoke-virtual {v0, p0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1a
.line 4
sget-object p0, Lcom/facebook/yoga/YogaValue;->AUTO:Lcom/facebook/yoga/YogaValue;
return-object p0
:cond_1a
const-string v0, "%"
.line 5
invoke-virtual {p0, v0}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result v0
if-eqz v0, :cond_39
.line 6
new-instance v0, Lcom/facebook/yoga/YogaValue;
const/4 v1, 0x0
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
add-int/lit8 v2, v2, -0x1
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result p0
sget-object v1, Lcom/facebook/yoga/YogaUnit;->PERCENT:Lcom/facebook/yoga/YogaUnit;
invoke-direct {v0, p0, v1}, Lcom/facebook/yoga/YogaValue;-><init>(FLcom/facebook/yoga/YogaUnit;)V
return-object v0
.line 7
:cond_39
new-instance v0, Lcom/facebook/yoga/YogaValue;
invoke-static {p0}, Ljava/lang/Float;->parseFloat(Ljava/lang/String;)F
move-result p0
sget-object v1, Lcom/facebook/yoga/YogaUnit;->POINT:Lcom/facebook/yoga/YogaUnit;
invoke-direct {v0, p0, v1}, Lcom/facebook/yoga/YogaValue;-><init>(FLcom/facebook/yoga/YogaUnit;)V
return-object v0
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 5
.line 1
instance-of v0, p1, Lcom/facebook/yoga/YogaValue;
const/4 v1, 0x0
if-eqz v0, :cond_20
.line 2
check-cast p1, Lcom/facebook/yoga/YogaValue;
.line 3
iget-object v0, p0, Lcom/facebook/yoga/YogaValue;->unit:Lcom/facebook/yoga/YogaUnit;
iget-object v2, p1, Lcom/facebook/yoga/YogaValue;->unit:Lcom/facebook/yoga/YogaUnit;
if-ne v0, v2, :cond_20
.line 4
sget-object v2, Lcom/facebook/yoga/YogaUnit;->UNDEFINED:Lcom/facebook/yoga/YogaUnit;
if-eq v0, v2, :cond_1f
sget-object v2, Lcom/facebook/yoga/YogaUnit;->AUTO:Lcom/facebook/yoga/YogaUnit;
if-eq v0, v2, :cond_1f
iget v0, p0, Lcom/facebook/yoga/YogaValue;->value:F
iget p1, p1, Lcom/facebook/yoga/YogaValue;->value:F
.line 5
invoke-static {v0, p1}, Ljava/lang/Float;->compare(FF)I
move-result p1
if-nez p1, :cond_20
:cond_1f
const/4 v1, 0x1
:cond_20
return v1
.end method
.method public hashCode()I
.registers 3
iget v0, p0, Lcom/facebook/yoga/YogaValue;->value:F
invoke-static {v0}, Ljava/lang/Float;->floatToIntBits(F)I
move-result v0
iget-object v1, p0, Lcom/facebook/yoga/YogaValue;->unit:Lcom/facebook/yoga/YogaUnit;
invoke-virtual {v1}, Lcom/facebook/yoga/YogaUnit;->intValue()I
move-result v1
add-int/2addr v1, v0
return v1
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 1
sget-object v0, Lcom/facebook/yoga/YogaValue$1;->$SwitchMap$com$facebook$yoga$YogaUnit:[I
iget-object v1, p0, Lcom/facebook/yoga/YogaValue;->unit:Lcom/facebook/yoga/YogaUnit;
invoke-virtual {v1}, Ljava/lang/Enum;->ordinal()I
move-result v1
aget v0, v0, v1
const/4 v1, 0x1
if-eq v0, v1, :cond_3a
const/4 v1, 0x2
if-eq v0, v1, :cond_33
const/4 v1, 0x3
if-eq v0, v1, :cond_1f
const/4 v1, 0x4
if-ne v0, v1, :cond_19
const-string v0, "auto"
return-object v0
.line 2
:cond_19
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
throw v0
.line 3
:cond_1f
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget v1, p0, Lcom/facebook/yoga/YogaValue;->value:F
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;
const-string v1, "%"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 4
:cond_33
iget v0, p0, Lcom/facebook/yoga/YogaValue;->value:F
invoke-static {v0}, Ljava/lang/Float;->toString(F)Ljava/lang/String;
move-result-object v0
return-object v0
:cond_3a
const-string v0, "undefined"
return-object v0
.end method