OmniValue.smali
.class public abstract Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.super Ljavax/money/NumberValue;
.source "OmniValue.java"
# static fields
.field public static final MAX_VALUE:J = 0x7fffffffffffffffL
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final MAX_WILLETS:J = 0x7fffffffffffffffL
.field public static final MIN_VALUE:J
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end field
.field public static final MIN_WILLETS:J
.field public static final willetsPerDivisible:J
# instance fields
.field protected final willets:J
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
.line 34
sget-object v0, Lorg/bitcoinj/core/Coin;->COIN:Lorg/bitcoinj/core/Coin;
iget-wide v0, v0, Lorg/bitcoinj/core/Coin;->value:J
sput-wide v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willetsPerDivisible:J
return-void
.end method
.method protected constructor <init>(J)V
.registers 4
.prologue
.line 51
invoke-direct {p0}, Ljavax/money/NumberValue;-><init>()V
.line 52
invoke-static {p1, p2}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->checkWilletValue(J)V
.line 53
iput-wide p1, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
.line 54
return-void
.end method
.method public static checkWilletValue(J)V
.registers 4
.prologue
.line 102
const-wide/16 v0, 0x0
cmp-long v0, p0, v0
if-gez v0, :cond_c
.line 103
new-instance v0, Ljava/lang/ArithmeticException;
invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V
throw v0
.line 105
:cond_c
return-void
.end method
.method public static checkWilletValue(Ljava/math/BigInteger;)V
.registers 3
.prologue
.line 84
const-wide/16 v0, 0x0
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v0
invoke-virtual {p0, v0}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
move-result v0
if-gez v0, :cond_12
.line 85
new-instance v0, Ljava/lang/ArithmeticException;
invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V
throw v0
.line 87
:cond_12
const-wide v0, 0x7fffffffffffffffL
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object v0
invoke-virtual {p0, v0}, Ljava/math/BigInteger;->compareTo(Ljava/math/BigInteger;)I
move-result v0
if-lez v0, :cond_27
.line 88
new-instance v0, Ljava/lang/ArithmeticException;
invoke-direct {v0}, Ljava/lang/ArithmeticException;-><init>()V
throw v0
.line 90
:cond_27
return-void
.end method
.method public static of(JLcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.registers 5
.prologue
.line 62
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->Oo:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;
invoke-virtual {p2, v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
.line 63
invoke-static {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
move-result-object v0
:goto_c
return-object v0
:cond_d
invoke-static {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
move-result-object v0
goto :goto_c
.end method
.method public static of(Ljava/math/BigDecimal;Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.registers 4
.prologue
.line 57
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->Oo:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;
invoke-virtual {p1, v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
.line 58
invoke-static {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->of(Ljava/math/BigDecimal;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
move-result-object v0
:goto_c
return-object v0
:cond_d
invoke-virtual {p0}, Ljava/math/BigDecimal;->longValueExact()J
move-result-wide v0
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
move-result-object v0
goto :goto_c
.end method
.method public static ofWillets(JLcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.registers 5
.prologue
.line 67
sget-object v0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->Oo:Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;
invoke-virtual {p2, v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_d
.line 68
invoke-static {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
move-result-object v0
:goto_c
return-object v0
:cond_d
invoke-static {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
move-result-object v0
goto :goto_c
.end method
# virtual methods
.method public abstract bigDecimalValue()Ljava/math/BigDecimal;
.end method
.method public byteValue()B
.registers 5
.prologue
.line 166
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
const-wide/16 v2, 0x7f
cmp-long v0, v0, v2
if-lez v0, :cond_10
.line 167
new-instance v0, Ljava/lang/ArithmeticException;
const-string v1, "Value too big to be converted to byte"
invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;-><init>(Ljava/lang/String;)V
throw v0
.line 169
:cond_10
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
long-to-int v0, v0
int-to-byte v0, v0
return v0
.end method
.method public bridge synthetic compareTo(Ljava/lang/Object;)I
.registers 3
.prologue
.line 33
check-cast p1, Ljavax/money/NumberValue;
invoke-virtual {p0, p1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->compareTo(Ljavax/money/NumberValue;)I
move-result v0
return v0
.end method
.method public compareTo(Ljavax/money/NumberValue;)I
.registers 6
.prologue
.line 218
instance-of v0, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
if-eqz v0, :cond_f
.line 219
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
check-cast p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
invoke-static {v0, v1, v2, v3}, Ljava/lang/Long;->compare(JJ)I
move-result v0
.line 221
:goto_e
return v0
:cond_f
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
invoke-virtual {p1}, Ljavax/money/NumberValue;->longValueExact()J
move-result-wide v2
invoke-static {v0, v1, v2, v3}, Ljava/lang/Long;->compare(JJ)I
move-result v0
goto :goto_e
.end method
.method public doubleValue()D
.registers 3
.prologue
.line 197
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->doubleValueExact()D
move-result-wide v0
return-wide v0
.end method
.method public doubleValueExact()D
.registers 3
.prologue
.line 141
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Operation not supported"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 8
.prologue
const/4 v1, 0x1
const/4 v0, 0x0
.line 207
instance-of v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
if-nez v2, :cond_7
.line 213
:cond_6
:goto_6
return v0
.line 210
:cond_7
if-ne p1, p0, :cond_b
move v0, v1
.line 211
goto :goto_6
.line 213
:cond_b
iget-wide v2, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
check-cast p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
iget-wide v4, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
cmp-long v2, v2, v4
if-nez v2, :cond_6
move v0, v1
goto :goto_6
.end method
.method public floatValue()F
.registers 3
.prologue
.line 192
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Operation not supported"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getAmountFractionDenominator()J
.registers 3
.prologue
.line 161
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Operation not supported"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getAmountFractionNumerator()J
.registers 3
.prologue
.line 156
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Operation not supported"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public abstract getNumberType()Ljava/lang/Class;
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/lang/Class",
"<+",
"Ljava/lang/Number;",
">;"
}
.end annotation
.end method
.method public getPrecision()I
.registers 3
.prologue
.line 118
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Operation not supported"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public abstract getPropertyType()Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/m;
.end method
.method public getScale()I
.registers 3
.prologue
.line 123
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "Operation not supported"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getWillets()J
.registers 3
.prologue
.line 72
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
return-wide v0
.end method
.method public hashCode()I
.registers 3
.prologue
.line 202
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Long;->hashCode()I
move-result v0
return v0
.end method
.method public intValue()I
.registers 2
.prologue
.line 182
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->intValueExact()I
move-result v0
return v0
.end method
.method public intValueExact()I
.registers 5
.prologue
.line 128
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
const-wide/32 v2, 0x7fffffff
cmp-long v0, v0, v2
if-lez v0, :cond_11
.line 129
new-instance v0, Ljava/lang/ArithmeticException;
const-string v1, "Value too big to be converted to integer"
invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;-><init>(Ljava/lang/String;)V
throw v0
.line 131
:cond_11
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
long-to-int v0, v0
return v0
.end method
.method public longValue()J
.registers 3
.prologue
.line 187
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->longValueExact()J
move-result-wide v0
return-wide v0
.end method
.method public longValueExact()J
.registers 3
.prologue
.line 136
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
return-wide v0
.end method
.method public minus(Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.registers 6
.prologue
.line 243
instance-of v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
if-eqz v0, :cond_12
instance-of v0, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
if-eqz v0, :cond_12
.line 244
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
sub-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
move-result-object v0
.line 246
:goto_11
return-object v0
.line 245
:cond_12
instance-of v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
if-eqz v0, :cond_24
instance-of v0, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
if-eqz v0, :cond_24
.line 246
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
sub-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
move-result-object v0
goto :goto_11
.line 248
:cond_24
new-instance v0, Ljava/lang/ArithmeticException;
const-string v1, "Can\'t use minus with mixed OmniDivisible and OmniIndivisible operands"
invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public multiply(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.registers 6
.prologue
.line 253
instance-of v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
if-eqz v0, :cond_c
.line 254
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
mul-long/2addr v0, p1
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
move-result-object v0
.line 256
:goto_b
return-object v0
.line 255
:cond_c
instance-of v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
if-eqz v0, :cond_18
.line 256
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
mul-long/2addr v0, p1
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;->of(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
move-result-object v0
goto :goto_b
.line 258
:cond_18
new-instance v0, Ljava/lang/ArithmeticException;
const-string v1, "Can\'t use multiply with class other than OmniDivisible or OmniIndivisible"
invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public abstract numberValue()Ljava/lang/Number;
.end method
.method public numberValue(Ljava/lang/Class;)Ljava/lang/Number;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Number;",
">(",
"Ljava/lang/Class",
"<TT;>;)TT;"
}
.end annotation
.prologue
.line 146
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->numberValue()Ljava/lang/Number;
move-result-object v0
invoke-static {p1, v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/ConvertNumberValue;->of(Ljava/lang/Class;Ljava/lang/Number;)Ljava/lang/Number;
move-result-object v0
return-object v0
.end method
.method public numberValueExact(Ljava/lang/Class;)Ljava/lang/Number;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Number;",
">(",
"Ljava/lang/Class",
"<TT;>;)TT;"
}
.end annotation
.prologue
.line 151
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->numberValue()Ljava/lang/Number;
move-result-object v0
invoke-static {p1, v0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/ConvertNumberValue;->ofExact(Ljava/lang/Class;Ljava/lang/Number;)Ljava/lang/Number;
move-result-object v0
return-object v0
.end method
.method public plus(Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;
.registers 6
.prologue
.line 233
instance-of v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
if-eqz v0, :cond_12
instance-of v0, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
if-eqz v0, :cond_12
.line 234
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
add-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniDivisibleValue;
move-result-object v0
.line 236
:goto_11
return-object v0
.line 235
:cond_12
instance-of v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
if-eqz v0, :cond_24
instance-of v0, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
if-eqz v0, :cond_24
.line 236
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
iget-wide v2, p1, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
add-long/2addr v0, v2
invoke-static {v0, v1}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;->ofWillets(J)Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniIndivisibleValue;
move-result-object v0
goto :goto_11
.line 238
:cond_24
new-instance v0, Ljava/lang/ArithmeticException;
const-string v1, "Can\'t use plus with mixed OmniDivisible and OmniIndivisible operands"
invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public shortValue()S
.registers 5
.prologue
.line 174
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
const-wide/16 v2, 0x7fff
cmp-long v0, v0, v2
if-lez v0, :cond_10
.line 175
new-instance v0, Ljava/lang/ArithmeticException;
const-string v1, "Value too big to be converted to short"
invoke-direct {v0, v1}, Ljava/lang/ArithmeticException;-><init>(Ljava/lang/String;)V
throw v0
.line 177
:cond_10
iget-wide v0, p0, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->willets:J
long-to-int v0, v0
int-to-short v0, v0
return v0
.end method
.method public toString()Ljava/lang/String;
.registers 2
.prologue
.line 227
invoke-virtual {p0}, Lcom/cmcm/safewallet/data/coinprovider/USDT/omni/OmniValue;->numberValue()Ljava/lang/Number;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method