BtcFormat.smali
.class public abstract Lorg/bitcoinj/utils/BtcFormat;
.super Ljava/text/Format;
.source "BtcFormat.java"
# static fields
.field private static final COIN_CODE:Ljava/lang/String; = "BTC"
.field public static final COIN_SCALE:I = 0x0
.field private static final COIN_SYMBOL:Ljava/lang/String; = "\u0e3f"
.field protected static final COIN_SYMBOL_ALT:Ljava/lang/String; = "\u0243"
.field public static final MICROCOIN_SCALE:I = 0x6
.field public static final MILLICOIN_SCALE:I = 0x3
# instance fields
.field private volatile ci:Ljava/lang/String;
.field private coinPattern:Ljava/util/regex/Pattern;
.field protected final decimalGroups:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private volatile denoms:[Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
.field protected final minimumFractionDigits:I
.field protected final numberFormat:Ljava/text/DecimalFormat;
# direct methods
.method protected constructor <init>(Ljava/text/DecimalFormat;ILjava/util/List;)V
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/text/DecimalFormat;",
"I",
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;)V"
}
.end annotation
.prologue
const/4 v1, 0x1
.line 744
invoke-direct {p0}, Ljava/text/Format;-><init>()V
.line 1317
const-string v0, "(\u0e3f|\u0243|B\u20e6|BTC|XBT)"
iput-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
.line 745
if-ltz p2, :cond_50
move v0, v1
:goto_b
const-string v2, "There can be no fewer than zero fractional decimal places"
invoke-static {v0, v2}, Lcom/google/common/base/n;->checkArgument(ZLjava/lang/Object;)V
.line 746
iput-object p1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
.line 747
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0, v1}, Ljava/text/DecimalFormat;->setParseBigDecimal(Z)V
.line 748
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
sget-object v1, Ljava/math/RoundingMode;->HALF_UP:Ljava/math/RoundingMode;
invoke-virtual {v0, v1}, Ljava/text/DecimalFormat;->setRoundingMode(Ljava/math/RoundingMode;)V
.line 749
iput p2, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
.line 750
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
iget v1, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
invoke-virtual {v0, v1}, Ljava/text/DecimalFormat;->setMinimumFractionDigits(I)V
.line 751
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
iget v1, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
invoke-virtual {v0, v1}, Ljava/text/DecimalFormat;->setMaximumFractionDigits(I)V
.line 752
iput-object p3, p0, Lorg/bitcoinj/utils/BtcFormat;->decimalGroups:Ljava/util/List;
.line 753
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
:try_start_33
iget-object v2, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
.line 755
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getCurrencySymbol()Ljava/lang/String;
move-result-object v0
const-string v3, "\u0e3f"
invoke-virtual {v0, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_52
const-string v0, "\u0243"
:goto_49
const-string v3, "BTC"
.line 753
invoke-static {v2, v0, v3}, Lorg/bitcoinj/utils/BtcFormat;->setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
.line 759
monitor-exit v1
return-void
.line 745
:cond_50
const/4 v0, 0x0
goto :goto_b
.line 755
:cond_52
const-string v0, "\u0e3f"
goto :goto_49
.line 759
:catchall_55
move-exception v0
monitor-exit v1
:try_end_57
.catchall {:try_start_33 .. :try_end_57} :catchall_55
throw v0
.end method
.method static synthetic access$600()Ljava/util/Locale;
.registers 1
.prologue
.line 470
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
return-object v0
.end method
.method static synthetic access$700(Ljava/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
.registers 4
.prologue
.line 470
invoke-static {p0, p1, p2}, Lorg/bitcoinj/utils/BtcFormat;->setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
move-result-object v0
return-object v0
.end method
.method private static boxAsList([I)Ljava/util/List;
.registers 8
.annotation system Ldalvik/annotation/Signature;
value = {
"([I)",
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.prologue
const/4 v1, 0x0
.line 926
new-instance v3, Ljava/util/ArrayList;
array-length v0, p0
invoke-direct {v3, v0}, Ljava/util/ArrayList;-><init>(I)V
.line 927
array-length v4, p0
move v2, v1
:goto_9
if-ge v2, v4, :cond_22
aget v5, p0, v2
.line 928
if-lez v5, :cond_20
const/4 v0, 0x1
:goto_10
const-string v6, "Size of decimal group must be at least one."
invoke-static {v0, v6}, Lcom/google/common/base/n;->checkArgument(ZLjava/lang/Object;)V
.line 929
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-interface {v3, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 927
add-int/lit8 v0, v2, 0x1
move v2, v0
goto :goto_9
:cond_20
move v0, v1
.line 928
goto :goto_10
.line 931
:cond_22
return-object v3
.end method
.method public static builder()Lorg/bitcoinj/utils/BtcFormat$Builder;
.registers 2
.prologue
.line 741
new-instance v0, Lorg/bitcoinj/utils/BtcFormat$Builder;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lorg/bitcoinj/utils/BtcFormat$Builder;-><init>(Lorg/bitcoinj/utils/BtcFormat$1;)V
return-object v0
.end method
.method private static calculateFractionPlaces(Ljava/math/BigDecimal;IILjava/util/List;)I
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/math/BigDecimal;",
"II",
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;)I"
}
.end annotation
.prologue
.line 1260
.line 1261
invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
move v1, p2
:goto_5
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_18
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
add-int/2addr v0, v1
move v1, v0
goto :goto_5
.line 1262
:cond_18
invoke-static {p1}, Lorg/bitcoinj/utils/BtcFormat;->offSatoshis(I)I
move-result v0
invoke-static {v1, v0}, Ljava/lang/Math;->min(II)I
move-result v2
.line 1264
invoke-static {p2, v2}, Ljava/lang/Math;->min(II)I
move-result v0
.line 1265
invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
move v1, v0
:goto_29
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_51
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
.line 1269
sget-object v4, Ljava/math/RoundingMode;->HALF_UP:Ljava/math/RoundingMode;
invoke-virtual {p0, v1, v4}, Ljava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
move-result-object v4
sget-object v5, Ljava/math/RoundingMode;->HALF_UP:Ljava/math/RoundingMode;
invoke-virtual {p0, v2, v5}, Ljava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/math/BigDecimal;->compareTo(Ljava/math/BigDecimal;)I
move-result v4
if-eqz v4, :cond_51
.line 1270
add-int/2addr v0, v1
.line 1271
if-le v0, v2, :cond_4f
move v0, v2
:cond_4f
move v1, v0
.line 1272
goto :goto_29
.line 1273
:cond_51
return v1
.end method
.method private static defaultLocale()Ljava/util/Locale;
.registers 1
.prologue
.line 524
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
return-object v0
.end method
.method private denominateAndRound(Ljava/math/BigInteger;ILjava/util/List;)Ljava/math/BigDecimal;
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/math/BigInteger;",
"I",
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;)",
"Ljava/math/BigDecimal;"
}
.end annotation
.prologue
.line 1225
invoke-virtual {p0, p1, p2}, Lorg/bitcoinj/utils/BtcFormat;->scale(Ljava/math/BigInteger;I)I
move-result v0
.line 1226
new-instance v1, Ljava/math/BigDecimal;
invoke-direct {v1, p1}, Ljava/math/BigDecimal;-><init>(Ljava/math/BigInteger;)V
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->offSatoshis(I)I
move-result v2
invoke-virtual {v1, v2}, Ljava/math/BigDecimal;->movePointLeft(I)Ljava/math/BigDecimal;
move-result-object v1
.line 1227
invoke-static {v1, v0, p2, p3}, Lorg/bitcoinj/utils/BtcFormat;->calculateFractionPlaces(Ljava/math/BigDecimal;IILjava/util/List;)I
move-result v0
.line 1228
sget-object v2, Ljava/math/RoundingMode;->HALF_UP:Ljava/math/RoundingMode;
invoke-virtual {v1, v0, v2}, Ljava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
move-result-object v0
return-object v0
.end method
.method private format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ILjava/util/List;)Ljava/lang/StringBuffer;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Ljava/lang/StringBuffer;",
"Ljava/text/FieldPosition;",
"I",
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;)",
"Ljava/lang/StringBuffer;"
}
.end annotation
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 1186
if-ltz p4, :cond_50
:goto_4
const-string v1, "There can be no fewer than zero fractional decimal places"
invoke-static {v0, v1}, Lcom/google/common/base/n;->checkArgument(ZLjava/lang/Object;)V
.line 1187
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
.line 1188
:try_start_c
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
.line 1189
invoke-static {p1}, Lorg/bitcoinj/utils/BtcFormat;->inSatoshis(Ljava/lang/Object;)Ljava/math/BigInteger;
move-result-object v2
invoke-direct {p0, v2, p4, p5}, Lorg/bitcoinj/utils/BtcFormat;->denominateAndRound(Ljava/math/BigInteger;ILjava/util/List;)Ljava/math/BigDecimal;
move-result-object v2
.line 1190
iget-object v3, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
.line 1191
invoke-virtual {v2}, Ljava/math/BigDecimal;->scale()I
move-result v4
invoke-virtual {v2}, Ljava/math/BigDecimal;->scale()I
move-result v5
invoke-static {v3, v4, v5}, Lorg/bitcoinj/utils/BtcFormat;->setFormatterDigits(Ljava/text/DecimalFormat;II)Lcom/google/common/collect/ImmutableList;
move-result-object v3
.line 1192
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v4, v2, p2, p3}, Ljava/text/DecimalFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
move-result-object v2
.line 1193
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v4, v0}, Ljava/text/DecimalFormat;->setDecimalFormatSymbols(Ljava/text/DecimalFormatSymbols;)V
.line 1194
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
const/4 v0, 0x0
invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v5
const/4 v0, 0x1
invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-static {v4, v5, v0}, Lorg/bitcoinj/utils/BtcFormat;->setFormatterDigits(Ljava/text/DecimalFormat;II)Lcom/google/common/collect/ImmutableList;
.line 1195
monitor-exit v1
return-object v2
:cond_50
move v0, v1
.line 1186
goto :goto_4
.line 1196
:catchall_52
move-exception v0
monitor-exit v1
:try_end_54
.catchall {:try_start_c .. :try_end_54} :catchall_52
throw v0
.end method
.method public static getAvailableLocales()[Ljava/util/Locale;
.registers 1
.prologue
.line 1527
invoke-static {}, Ljava/text/NumberFormat;->getAvailableLocales()[Ljava/util/Locale;
move-result-object v0
return-object v0
.end method
.method public static getCodeInstance()Lorg/bitcoinj/utils/BtcFormat;
.registers 1
.prologue
.line 783
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->getCodeInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getCodeInstance(I)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 806
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0, p0}, Lorg/bitcoinj/utils/BtcFormat;->getCodeInstance(Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getCodeInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 821
sget-object v0, Lorg/bitcoinj/utils/BtcAutoFormat$Style;->CODE:Lorg/bitcoinj/utils/BtcAutoFormat$Style;
invoke-static {v0, p0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getCodeInstance(Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
.registers 3
.prologue
.line 844
sget-object v0, Lorg/bitcoinj/utils/BtcAutoFormat$Style;->CODE:Lorg/bitcoinj/utils/BtcAutoFormat$Style;
invoke-static {v0, p0, p1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getCoinInstance()Lorg/bitcoinj/utils/BtcFormat;
.registers 1
.prologue
.line 923
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->getCoinInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getCoinInstance(I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 944
const/4 v0, 0x0
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v1
invoke-static {p1}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v2
invoke-static {v0, v1, p0, v2}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getCoinInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 4
.prologue
const/4 v2, 0x0
.line 952
const/4 v0, 0x2
new-array v1, v2, [I
invoke-static {v2, p0, v0, v1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getCoinInstance(Ljava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 963
const/4 v0, 0x0
invoke-static {p2}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v1
invoke-static {v0, p0, p1, v1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance()Lorg/bitcoinj/utils/BtcFormat;
.registers 1
.prologue
.line 769
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(I)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 1068
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {p0, v0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getInstance(II[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 1057
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {p2}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v1
invoke-static {p0, v0, p1, v1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(ILjava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 4
.prologue
.line 1080
const/4 v0, 0x2
const/4 v1, 0x0
new-array v1, v1, [I
invoke-static {p0, p1, v0, v1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/util/Locale;",
"I",
"Ljava/util/List",
"<",
"Ljava/lang/Integer;",
">;)",
"Lorg/bitcoinj/utils/BtcFormat;"
}
.end annotation
.prologue
.line 1107
new-instance v0, Lorg/bitcoinj/utils/BtcFixedFormat;
invoke-direct {v0, p1, p0, p2, p3}, Lorg/bitcoinj/utils/BtcFixedFormat;-><init>(Ljava/util/Locale;IILjava/util/List;)V
return-object v0
.end method
.method public static varargs getInstance(ILjava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 1093
invoke-static {p3}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v0
invoke-static {p0, p1, p2, v0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 814
invoke-static {p0}, Lorg/bitcoinj/utils/BtcFormat;->getCodeInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
.registers 3
.prologue
.line 832
invoke-static {p0, p1}, Lorg/bitcoinj/utils/BtcFormat;->getCodeInstance(Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 874
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {p0, v0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;I)Lorg/bitcoinj/utils/BtcFormat;
.registers 3
.prologue
.line 886
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {p0, v0, p1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 3
.prologue
.line 899
const/4 v0, 0x2
invoke-static {p0, p1, v0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
.registers 4
.prologue
.line 915
new-instance v0, Lorg/bitcoinj/utils/BtcAutoFormat;
invoke-direct {v0, p1, p0, p2}, Lorg/bitcoinj/utils/BtcAutoFormat;-><init>(Ljava/util/Locale;Lorg/bitcoinj/utils/BtcAutoFormat$Style;I)V
return-object v0
.end method
.method public static getMicroInstance()Lorg/bitcoinj/utils/BtcFormat;
.registers 1
.prologue
.line 1011
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->getMicroInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getMicroInstance(I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 1031
const/4 v0, 0x6
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v1
invoke-static {p1}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v2
invoke-static {v0, v1, p0, v2}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getMicroInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 1019
const/4 v0, 0x6
invoke-static {v0, p0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getMicroInstance(Ljava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 1043
const/4 v0, 0x6
invoke-static {p2}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v1
invoke-static {v0, p0, p1, v1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getMilliInstance()Lorg/bitcoinj/utils/BtcFormat;
.registers 1
.prologue
.line 971
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->getMilliInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getMilliInstance(I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 991
const/4 v0, 0x3
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v1
invoke-static {p1}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v2
invoke-static {v0, v1, p0, v2}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getMilliInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 4
.prologue
.line 979
const/4 v0, 0x3
const/4 v1, 0x2
const/4 v2, 0x0
new-array v2, v2, [I
invoke-static {v0, p0, v1, v2}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static varargs getMilliInstance(Ljava/util/Locale;I[I)Lorg/bitcoinj/utils/BtcFormat;
.registers 5
.prologue
.line 1003
const/4 v0, 0x3
invoke-static {p2}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v1
invoke-static {v0, p0, p1, v1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(ILjava/util/Locale;ILjava/util/List;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getSymbolInstance()Lorg/bitcoinj/utils/BtcFormat;
.registers 1
.prologue
.line 776
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0}, Lorg/bitcoinj/utils/BtcFormat;->getSymbolInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getSymbolInstance(I)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 794
invoke-static {}, Lorg/bitcoinj/utils/BtcFormat;->defaultLocale()Ljava/util/Locale;
move-result-object v0
invoke-static {v0, p0}, Lorg/bitcoinj/utils/BtcFormat;->getSymbolInstance(Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getSymbolInstance(Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
.registers 2
.prologue
.line 853
sget-object v0, Lorg/bitcoinj/utils/BtcAutoFormat$Style;->SYMBOL:Lorg/bitcoinj/utils/BtcAutoFormat$Style;
invoke-static {v0, p0}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method public static getSymbolInstance(Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
.registers 3
.prologue
.line 865
sget-object v0, Lorg/bitcoinj/utils/BtcAutoFormat$Style;->SYMBOL:Lorg/bitcoinj/utils/BtcAutoFormat$Style;
invoke-static {v0, p0, p1}, Lorg/bitcoinj/utils/BtcFormat;->getInstance(Lorg/bitcoinj/utils/BtcAutoFormat$Style;Ljava/util/Locale;I)Lorg/bitcoinj/utils/BtcFormat;
move-result-object v0
return-object v0
.end method
.method private static inSatoshis(Ljava/lang/Object;)Ljava/math/BigInteger;
.registers 4
.prologue
.line 1283
instance-of v0, p0, Ljava/lang/Long;
if-nez v0, :cond_8
instance-of v0, p0, Ljava/lang/Integer;
if-eqz v0, :cond_13
.line 1284
:cond_8
check-cast p0, Ljava/lang/Number;
invoke-virtual {p0}, Ljava/lang/Number;->longValue()J
move-result-wide v0
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object p0
.line 1295
:goto_12
return-object p0
.line 1285
:cond_13
instance-of v0, p0, Ljava/math/BigInteger;
if-eqz v0, :cond_1a
.line 1286
check-cast p0, Ljava/math/BigInteger;
goto :goto_12
.line 1287
:cond_1a
instance-of v0, p0, Ljava/math/BigDecimal;
if-eqz v0, :cond_31
.line 1288
check-cast p0, Ljava/math/BigDecimal;
const/16 v0, 0x8
invoke-virtual {p0, v0}, Ljava/math/BigDecimal;->movePointRight(I)Ljava/math/BigDecimal;
move-result-object v0
const/4 v1, 0x0
const/4 v2, 0x4
.line 1289
invoke-virtual {v0, v1, v2}, Ljava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
move-result-object v0
invoke-virtual {v0}, Ljava/math/BigDecimal;->unscaledValue()Ljava/math/BigInteger;
move-result-object p0
goto :goto_12
.line 1290
:cond_31
instance-of v0, p0, Lorg/bitcoinj/core/Coin;
if-eqz v0, :cond_3e
.line 1291
check-cast p0, Lorg/bitcoinj/core/Coin;
iget-wide v0, p0, Lorg/bitcoinj/core/Coin;->value:J
invoke-static {v0, v1}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
move-result-object p0
goto :goto_12
.line 1293
:cond_3e
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Cannot format a "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " as a Bicoin value"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method protected static negify(Ljava/lang/String;)Ljava/lang/String;
.registers 4
.prologue
.line 1514
const-string v0, ";"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_9
.line 1519
:goto_8
return-object p0
.line 1516
:cond_9
const-string v0, "-"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_19
.line 1517
new-instance v0, Ljava/lang/IllegalStateException;
const-string v1, "Positive pattern contains negative sign"
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 1519
:cond_19
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ";"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "^([^#0,.\']*(\'[^\']*\')?)*"
const-string v2, "$0-"
invoke-virtual {p0, v1, v2}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_8
.end method
.method private static offSatoshis(I)I
.registers 2
.prologue
.line 522
rsub-int/lit8 v0, p0, 0x8
return v0
.end method
.method protected static prefixCode(Ljava/lang/String;I)Ljava/lang/String;
.registers 5
.prologue
.line 1470
packed-switch p1, :pswitch_data_9c
.line 1480
:pswitch_3
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "No known prefix for scale "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 1472
:pswitch_1c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "d"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 1479
:goto_2b
:pswitch_2b
return-object p0
.line 1473
:pswitch_2c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "c"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1474
:pswitch_3c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "m"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1475
:pswitch_4c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u00b5"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1476
:pswitch_5c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "da"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1477
:pswitch_6c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "h"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1478
:pswitch_7c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "k"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1479
:pswitch_8c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "M"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1470
:pswitch_data_9c
.packed-switch -0x6
:pswitch_8c
:pswitch_3
:pswitch_3
:pswitch_7c
:pswitch_6c
:pswitch_5c
:pswitch_2b
:pswitch_1c
:pswitch_2c
:pswitch_3c
:pswitch_3
:pswitch_3
:pswitch_4c
.end packed-switch
.end method
.method protected static prefixSymbol(Ljava/lang/String;I)Ljava/lang/String;
.registers 5
.prologue
.line 1485
packed-switch p1, :pswitch_data_9c
.line 1495
:pswitch_3
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "No known prefix for scale "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 1487
:pswitch_1c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "d"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
.line 1494
:goto_2b
:pswitch_2b
return-object p0
.line 1488
:pswitch_2c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u00a2"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1489
:pswitch_3c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u20a5"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1490
:pswitch_4c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "\u00b5"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1491
:pswitch_5c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "da"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1492
:pswitch_6c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "h"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1493
:pswitch_7c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "k"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1494
:pswitch_8c
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "M"
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
goto :goto_2b
.line 1485
:pswitch_data_9c
.packed-switch -0x6
:pswitch_8c
:pswitch_3
:pswitch_3
:pswitch_7c
:pswitch_6c
:pswitch_5c
:pswitch_2b
:pswitch_1c
:pswitch_2c
:pswitch_3c
:pswitch_3
:pswitch_3
:pswitch_4c
.end packed-switch
.end method
.method protected static prefixUnitsIndicator(Ljava/text/DecimalFormat;I)V
.registers 4
.prologue
.line 1384
invoke-static {p0}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z
move-result v0
invoke-static {v0}, Lcom/google/common/base/n;->checkState(Z)V
.line 1385
invoke-virtual {p0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
.line 1387
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getCurrencySymbol()Ljava/lang/String;
move-result-object v1
invoke-static {v1, p1}, Lorg/bitcoinj/utils/BtcFormat;->prefixSymbol(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getInternationalCurrencySymbol()Ljava/lang/String;
move-result-object v0
invoke-static {v0, p1}, Lorg/bitcoinj/utils/BtcFormat;->prefixCode(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v0
.line 1386
invoke-static {p0, v1, v0}, Lorg/bitcoinj/utils/BtcFormat;->setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
.line 1389
return-void
.end method
.method private static setFormatterDigits(Ljava/text/DecimalFormat;II)Lcom/google/common/collect/ImmutableList;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/text/DecimalFormat;",
"II)",
"Lcom/google/common/collect/ImmutableList",
"<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.prologue
.line 1236
.line 1237
invoke-virtual {p0}, Ljava/text/DecimalFormat;->getMinimumFractionDigits()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
.line 1238
invoke-virtual {p0}, Ljava/text/DecimalFormat;->getMaximumFractionDigits()I
move-result v1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
.line 1236
invoke-static {v0, v1}, Lcom/google/common/collect/ImmutableList;->of(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
move-result-object v0
.line 1240
invoke-virtual {p0, p1}, Ljava/text/DecimalFormat;->setMinimumFractionDigits(I)V
.line 1241
invoke-virtual {p0, p2}, Ljava/text/DecimalFormat;->setMaximumFractionDigits(I)V
.line 1242
return-object v0
.end method
.method private static setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
.registers 3
.prologue
.line 1352
invoke-static {p0, p1, p1}, Lorg/bitcoinj/utils/BtcFormat;->setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
move-result-object v0
return-object v0
.end method
.method private static setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
.registers 5
.prologue
.line 1363
invoke-static {p0}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z
move-result v0
invoke-static {v0}, Lcom/google/common/base/n;->checkState(Z)V
.line 1364
invoke-virtual {p0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v1
.line 1365
invoke-virtual {v1}, Ljava/text/DecimalFormatSymbols;->clone()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/text/DecimalFormatSymbols;
.line 1366
invoke-virtual {v1, p2}, Ljava/text/DecimalFormatSymbols;->setInternationalCurrencySymbol(Ljava/lang/String;)V
.line 1367
invoke-virtual {v1, p1}, Ljava/text/DecimalFormatSymbols;->setCurrencySymbol(Ljava/lang/String;)V
.line 1368
invoke-virtual {p0, v1}, Ljava/text/DecimalFormat;->setDecimalFormatSymbols(Ljava/text/DecimalFormatSymbols;)V
.line 1369
return-object v0
.end method
# virtual methods
.method public coinCode()Ljava/lang/String;
.registers 3
.prologue
.line 1537
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
.line 1538
:try_start_3
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getInternationalCurrencySymbol()Ljava/lang/String;
move-result-object v0
monitor-exit v1
return-object v0
.line 1539
:catchall_f
move-exception v0
monitor-exit v1
:try_end_11
.catchall {:try_start_3 .. :try_end_11} :catchall_f
throw v0
.end method
.method public coinSymbol()Ljava/lang/String;
.registers 3
.prologue
.line 1531
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
.line 1532
:try_start_3
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getCurrencySymbol()Ljava/lang/String;
move-result-object v0
monitor-exit v1
return-object v0
.line 1533
:catchall_f
move-exception v0
monitor-exit v1
:try_end_11
.catchall {:try_start_3 .. :try_end_11} :catchall_f
throw v0
.end method
.method denomMatchers()[Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
.registers 6
.prologue
.line 1321
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->denoms:[Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
.line 1322
if-nez v0, :cond_190
monitor-enter p0
.line 1323
:try_start_5
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->denoms:[Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
.line 1324
if-nez v0, :cond_18f
.line 1325
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->coinSymbol()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_38
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
const-string v1, "\\("
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "("
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->coinSymbol()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, "|"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
.line 1326
:cond_38
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->coinCode()Ljava/lang/String;
move-result-object v0
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/String;->matches(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_67
.line 1327
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
const-string v1, "\\)"
new-instance v2, Ljava/lang/StringBuilder;
const-string v3, "|"
invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->coinCode()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
const-string v3, ")"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replaceFirst(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
.line 1329
:cond_67
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "?"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v0
iput-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->coinPattern:Ljava/util/regex/Pattern;
.line 1330
const/4 v0, 0x7
new-array v0, v0, [Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
const/4 v1, 0x0
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "\u00a2"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, "?|c"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1331
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, 0x2
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
const/4 v1, 0x1
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "\u20a5"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, "?|m"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1332
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, 0x3
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
const/4 v1, 0x2
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "([\u00b5u]"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ")"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1333
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, 0x6
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
const/4 v1, 0x3
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "(da"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ")"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1334
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, -0x1
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
const/4 v1, 0x4
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "(h"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ")"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1335
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, -0x2
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
const/4 v1, 0x5
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "(k"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ")"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1336
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, -0x3
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
const/4 v1, 0x6
new-instance v2, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "(M"
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->ci:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
const-string v4, ")"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
.line 1337
invoke-static {v3}, Ljava/util/regex/Pattern;->compile(Ljava/lang/String;)Ljava/util/regex/Pattern;
move-result-object v3
const/4 v4, -0x6
invoke-direct {v2, p0, v3, v4}, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;-><init>(Lorg/bitcoinj/utils/BtcFormat;Ljava/util/regex/Pattern;I)V
aput-object v2, v0, v1
iput-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->denoms:[Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
.line 1340
:cond_18f
monitor-exit p0
.line 1341
:cond_190
return-object v0
.line 1340
:catchall_191
move-exception v0
monitor-exit p0
:try_end_193
.catchall {:try_start_5 .. :try_end_193} :catchall_191
throw v0
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 6
.prologue
const/4 v0, 0x1
const/4 v1, 0x0
.line 1580
if-ne p1, p0, :cond_5
.line 1584
:cond_4
:goto_4
return v0
.line 1581
:cond_5
instance-of v2, p1, Lorg/bitcoinj/utils/BtcFormat;
if-nez v2, :cond_b
move v0, v1
goto :goto_4
.line 1582
:cond_b
check-cast p1, Lorg/bitcoinj/utils/BtcFormat;
.line 1583
invoke-virtual {p1}, Lorg/bitcoinj/utils/BtcFormat;->pattern()Ljava/lang/String;
move-result-object v2
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->pattern()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2f
.line 1584
invoke-virtual {p1}, Lorg/bitcoinj/utils/BtcFormat;->symbols()Ljava/text/DecimalFormatSymbols;
move-result-object v2
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->symbols()Ljava/text/DecimalFormatSymbols;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/text/DecimalFormatSymbols;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2f
iget v2, p1, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
iget v3, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
if-eq v2, v3, :cond_4
:cond_2f
move v0, v1
.line 1583
goto :goto_4
.end method
.method public varargs format(Ljava/lang/Object;I[I)Ljava/lang/String;
.registers 10
.prologue
.line 1163
new-instance v2, Ljava/lang/StringBuffer;
invoke-direct {v2}, Ljava/lang/StringBuffer;-><init>()V
new-instance v3, Ljava/text/FieldPosition;
const/4 v0, 0x0
invoke-direct {v3, v0}, Ljava/text/FieldPosition;-><init>(I)V
invoke-static {p3}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v5
move-object v0, p0
move-object v1, p1
move v4, p2
invoke-direct/range {v0 .. v5}, Lorg/bitcoinj/utils/BtcFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ILjava/util/List;)Ljava/lang/StringBuffer;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
.registers 10
.prologue
.line 1146
iget v4, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
iget-object v5, p0, Lorg/bitcoinj/utils/BtcFormat;->decimalGroups:Ljava/util/List;
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
invoke-direct/range {v0 .. v5}, Lorg/bitcoinj/utils/BtcFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ILjava/util/List;)Ljava/lang/StringBuffer;
move-result-object v0
return-object v0
.end method
.method public varargs format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;I[I)Ljava/lang/StringBuffer;
.registers 12
.prologue
.line 1181
invoke-static {p5}, Lorg/bitcoinj/utils/BtcFormat;->boxAsList([I)Ljava/util/List;
move-result-object v5
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move v4, p4
invoke-direct/range {v0 .. v5}, Lorg/bitcoinj/utils/BtcFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ILjava/util/List;)Ljava/lang/StringBuffer;
move-result-object v0
return-object v0
.end method
.method public formatToCharacterIterator(Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
.registers 8
.prologue
.line 1123
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
.line 1124
:try_start_3
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
.line 1125
invoke-static {p1}, Lorg/bitcoinj/utils/BtcFormat;->inSatoshis(Ljava/lang/Object;)Ljava/math/BigInteger;
move-result-object v2
iget v3, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->decimalGroups:Ljava/util/List;
invoke-direct {p0, v2, v3, v4}, Lorg/bitcoinj/utils/BtcFormat;->denominateAndRound(Ljava/math/BigInteger;ILjava/util/List;)Ljava/math/BigDecimal;
move-result-object v2
.line 1126
iget-object v3, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v2}, Ljava/math/BigDecimal;->scale()I
move-result v4
invoke-virtual {v2}, Ljava/math/BigDecimal;->scale()I
move-result v5
invoke-static {v3, v4, v5}, Lorg/bitcoinj/utils/BtcFormat;->setFormatterDigits(Ljava/text/DecimalFormat;II)Lcom/google/common/collect/ImmutableList;
move-result-object v3
.line 1127
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v4, v2}, Ljava/text/DecimalFormat;->formatToCharacterIterator(Ljava/lang/Object;)Ljava/text/AttributedCharacterIterator;
move-result-object v2
.line 1128
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v4, v0}, Ljava/text/DecimalFormat;->setDecimalFormatSymbols(Ljava/text/DecimalFormatSymbols;)V
.line 1129
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
const/4 v0, 0x0
invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v5
const/4 v0, 0x1
invoke-interface {v3, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
invoke-static {v4, v5, v0}, Lorg/bitcoinj/utils/BtcFormat;->setFormatterDigits(Ljava/text/DecimalFormat;II)Lcom/google/common/collect/ImmutableList;
.line 1130
monitor-exit v1
return-object v2
.line 1131
:catchall_4b
move-exception v0
monitor-exit v1
:try_end_4d
.catchall {:try_start_3 .. :try_end_4d} :catchall_4b
throw v0
.end method
.method public hashCode()I
.registers 4
.prologue
.line 1592
const/4 v0, 0x4
new-array v0, v0, [Ljava/lang/Object;
const/4 v1, 0x0
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->pattern()Ljava/lang/String;
move-result-object v2
aput-object v2, v0, v1
const/4 v1, 0x1
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->symbols()Ljava/text/DecimalFormatSymbols;
move-result-object v2
aput-object v2, v0, v1
const/4 v1, 0x2
iget v2, p0, Lorg/bitcoinj/utils/BtcFormat;->minimumFractionDigits:I
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v1
const/4 v1, 0x3
iget-object v2, p0, Lorg/bitcoinj/utils/BtcFormat;->decimalGroups:Ljava/util/List;
aput-object v2, v0, v1
.line 2084
invoke-static {v0}, Ljava/util/Arrays;->hashCode([Ljava/lang/Object;)I
move-result v0
.line 1592
return v0
.end method
.method public parse(Ljava/lang/String;)Lorg/bitcoinj/core/Coin;
.registers 3
.prologue
.line 1462
invoke-virtual {p0, p1}, Lorg/bitcoinj/utils/BtcFormat;->parseObject(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/bitcoinj/core/Coin;
return-object v0
.end method
.method public parse(Ljava/lang/String;Ljava/text/ParsePosition;)Lorg/bitcoinj/core/Coin;
.registers 12
.prologue
const/4 v1, 0x0
const/4 v0, 0x0
.line 1412
.line 1415
iget-object v4, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v4
.line 1416
:try_start_5
iget-object v2, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v2}, Ljava/text/DecimalFormat;->toPattern()Ljava/lang/String;
move-result-object v2
const-string v3, "\u00a4"
invoke-virtual {v2, v3}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_79
.line 1417
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->denomMatchers()[Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;
move-result-object v3
array-length v5, v3
move v2, v0
:goto_19
if-ge v2, v5, :cond_8d
aget-object v6, v3, v2
.line 1418
iget-object v7, v6, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;->pattern:Ljava/util/regex/Pattern;
invoke-virtual {v7, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v7
.line 1419
invoke-virtual {v7}, Ljava/util/regex/Matcher;->find()Z
move-result v8
if-eqz v8, :cond_76
.line 1420
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v7}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v2
invoke-static {v0, v2}, Lorg/bitcoinj/utils/BtcFormat;->setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
move-result-object v2
.line 1421
iget v0, v6, Lorg/bitcoinj/utils/BtcFormat$ScaleMatcher;->scale:I
.line 1425
:goto_35
if-nez v0, :cond_8a
.line 1426
iget-object v2, p0, Lorg/bitcoinj/utils/BtcFormat;->coinPattern:Ljava/util/regex/Pattern;
invoke-virtual {v2, p1}, Ljava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
move-result-object v2
.line 1427
invoke-virtual {v2}, Ljava/util/regex/Matcher;->find()Z
.line 1428
iget-object v3, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v2}, Ljava/util/regex/Matcher;->group()Ljava/lang/String;
move-result-object v2
invoke-static {v3, v2}, Lorg/bitcoinj/utils/BtcFormat;->setSymbolAndCode(Ljava/text/DecimalFormat;Ljava/lang/String;)Ljava/text/DecimalFormatSymbols;
move-result-object v2
move-object v3, v2
move v2, v0
.line 1432
:goto_4c
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0, p1, p2}, Ljava/text/DecimalFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
:try_end_51
.catchall {:try_start_5 .. :try_end_51} :catchall_87
move-result-object v0
.line 1433
if-eqz v0, :cond_85
.line 1434
:try_start_54
check-cast v0, Ljava/math/BigDecimal;
.line 1435
invoke-static {v2}, Lorg/bitcoinj/utils/BtcFormat;->offSatoshis(I)I
move-result v2
invoke-virtual {v0, v2}, Ljava/math/BigDecimal;->movePointRight(I)Ljava/math/BigDecimal;
move-result-object v0
const/4 v2, 0x0
sget-object v5, Ljava/math/RoundingMode;->HALF_UP:Ljava/math/RoundingMode;
invoke-virtual {v0, v2, v5}, Ljava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
move-result-object v0
invoke-virtual {v0}, Ljava/math/BigDecimal;->longValue()J
move-result-wide v6
.line 1434
invoke-static {v6, v7}, Lorg/bitcoinj/core/Coin;->valueOf(J)Lorg/bitcoinj/core/Coin;
:try_end_6c
.catch Ljava/lang/IllegalArgumentException; {:try_start_54 .. :try_end_6c} :catch_80
.catchall {:try_start_54 .. :try_end_6c} :catchall_87
move-result-object v0
.line 1440
:goto_6d
if-eqz v3, :cond_74
:try_start_6f
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v1, v3}, Ljava/text/DecimalFormat;->setDecimalFormatSymbols(Ljava/text/DecimalFormatSymbols;)V
.line 1441
:cond_74
monitor-exit v4
.line 1442
return-object v0
.line 1417
:cond_76
add-int/lit8 v2, v2, 0x1
goto :goto_19
.line 1430
:cond_79
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->scale()I
move-result v0
move v2, v0
move-object v3, v1
goto :goto_4c
.line 1438
:catch_80
move-exception v0
const/4 v0, 0x0
invoke-virtual {p2, v0}, Ljava/text/ParsePosition;->setIndex(I)V
:cond_85
move-object v0, v1
goto :goto_6d
.line 1441
:catchall_87
move-exception v0
monitor-exit v4
:try_end_89
.catchall {:try_start_6f .. :try_end_89} :catchall_87
throw v0
:cond_8a
move-object v3, v2
move v2, v0
goto :goto_4c
:cond_8d
move-object v2, v1
goto :goto_35
.end method
.method public final parseObject(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Object;
.registers 4
.prologue
.line 1307
invoke-virtual {p0, p1, p2}, Lorg/bitcoinj/utils/BtcFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Lorg/bitcoinj/core/Coin;
move-result-object v0
return-object v0
.end method
.method public pattern()Ljava/lang/String;
.registers 12
.prologue
.line 1546
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
.line 1547
:try_start_3
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
.line 1548
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->decimalGroups:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_e
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_37
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Integer;
invoke-virtual {v0}, Ljava/lang/Integer;->intValue()I
move-result v0
.line 1549
const-string v4, "("
invoke-virtual {v2, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
const-string v5, "#"
invoke-static {v5, v0}, Lcom/google/common/base/t;->repeat(Ljava/lang/String;I)Ljava/lang/String;
move-result-object v0
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v4, ")"
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_e
.line 1569
:catchall_34
move-exception v0
monitor-exit v1
:try_end_36
.catchall {:try_start_3 .. :try_end_36} :catchall_34
throw v0
.line 1551
:cond_37
:try_start_37
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
.line 1552
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getDigit()C
move-result v3
invoke-static {v3}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v3
.line 1553
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getExponentSeparator()Ljava/lang/String;
move-result-object v4
.line 1554
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getGroupingSeparator()C
move-result v5
invoke-static {v5}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v5
.line 1555
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getMonetaryDecimalSeparator()C
move-result v6
invoke-static {v6}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v6
.line 1556
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getZeroDigit()C
move-result v7
invoke-static {v7}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v7
.line 1557
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getPatternSeparator()C
move-result v8
invoke-static {v8}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v8
.line 1558
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getMinusSign()C
move-result v9
invoke-static {v9}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
.line 1559
invoke-virtual {v0}, Ljava/text/DecimalFormatSymbols;->getDecimalSeparator()C
move-result v0
invoke-static {v0}, Ljava/lang/String;->valueOf(C)Ljava/lang/String;
move-result-object v0
.line 1561
new-instance v9, Ljava/lang/StringBuilder;
const-string v10, "(^|"
invoke-direct {v9, v10}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v9, v8}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
const-string v9, ")([^"
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v9
invoke-virtual {v9}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v9
.line 1562
invoke-static {v9}, Ljava/util/regex/Matcher;->quoteReplacement(Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
const-string v9, "\']*(\'[^\']*\')?)*["
invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v8
new-instance v9, Ljava/lang/StringBuilder;
invoke-direct {v9}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v9, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1563
invoke-static {v0}, Ljava/util/regex/Matcher;->quoteReplacement(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v8, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v3, "]+"
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1565
iget-object v3, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v3}, Ljava/text/DecimalFormat;->toLocalizedPattern()Ljava/lang/String;
move-result-object v3
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "$0"
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 1566
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v3, v0, v2}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v2, "\u00a4\u00a4"
.line 1567
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->coinCode()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/util/regex/Matcher;->quoteReplacement(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v2, "\u00a4"
.line 1568
invoke-virtual {p0}, Lorg/bitcoinj/utils/BtcFormat;->coinSymbol()Ljava/lang/String;
move-result-object v3
invoke-static {v3}, Ljava/util/regex/Matcher;->quoteReplacement(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v2, v3}, Ljava/lang/String;->replaceAll(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
monitor-exit v1
:try_end_121
.catchall {:try_start_37 .. :try_end_121} :catchall_34
.line 1565
return-object v0
.end method
.method protected abstract scale()I
.end method
.method protected abstract scale(Ljava/math/BigInteger;I)I
.end method
.method public symbols()Ljava/text/DecimalFormatSymbols;
.registers 3
.prologue
.line 1572
iget-object v1, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
monitor-enter v1
.line 1573
:try_start_3
iget-object v0, p0, Lorg/bitcoinj/utils/BtcFormat;->numberFormat:Ljava/text/DecimalFormat;
invoke-virtual {v0}, Ljava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
move-result-object v0
monitor-exit v1
return-object v0
.line 1574
:catchall_b
move-exception v0
monitor-exit v1
:try_end_d
.catchall {:try_start_3 .. :try_end_d} :catchall_b
throw v0
.end method