33 changed files with 408 additions and 165 deletions
@ -0,0 +1,86 @@ |
|||
package com.sparrowwallet.sparrow; |
|||
|
|||
import com.sparrowwallet.drongo.protocol.Transaction; |
|||
|
|||
import java.text.DecimalFormat; |
|||
import java.text.DecimalFormatSymbols; |
|||
import java.util.Locale; |
|||
|
|||
public enum UnitFormat { |
|||
DOT { |
|||
private final DecimalFormat btcFormat = new DecimalFormat("0", DecimalFormatSymbols.getInstance(getLocale())); |
|||
private final DecimalFormat tableBtcFormat = new DecimalFormat("0.00000000", DecimalFormatSymbols.getInstance(getLocale())); |
|||
private final DecimalFormat currencyFormat = new DecimalFormat("#,##0.00", DecimalFormatSymbols.getInstance(getLocale())); |
|||
|
|||
public DecimalFormat getBtcFormat() { |
|||
btcFormat.setMaximumFractionDigits(8); |
|||
return btcFormat; |
|||
} |
|||
|
|||
public DecimalFormat getTableBtcFormat() { |
|||
return tableBtcFormat; |
|||
} |
|||
|
|||
public DecimalFormat getCurrencyFormat() { |
|||
return currencyFormat; |
|||
} |
|||
|
|||
public Locale getLocale() { |
|||
return Locale.ENGLISH; |
|||
} |
|||
}, |
|||
COMMA { |
|||
private final DecimalFormat btcFormat = new DecimalFormat("0", DecimalFormatSymbols.getInstance(getLocale())); |
|||
private final DecimalFormat tableBtcFormat = new DecimalFormat("0.00000000", DecimalFormatSymbols.getInstance(getLocale())); |
|||
private final DecimalFormat currencyFormat = new DecimalFormat("#,##0.00", DecimalFormatSymbols.getInstance(getLocale())); |
|||
|
|||
public DecimalFormat getBtcFormat() { |
|||
btcFormat.setMaximumFractionDigits(8); |
|||
return btcFormat; |
|||
} |
|||
|
|||
public DecimalFormat getTableBtcFormat() { |
|||
return tableBtcFormat; |
|||
} |
|||
|
|||
public DecimalFormat getCurrencyFormat() { |
|||
return currencyFormat; |
|||
} |
|||
|
|||
public Locale getLocale() { |
|||
return Locale.GERMAN; |
|||
} |
|||
}; |
|||
|
|||
public abstract Locale getLocale(); |
|||
|
|||
public abstract DecimalFormat getBtcFormat(); |
|||
|
|||
public abstract DecimalFormat getTableBtcFormat(); |
|||
|
|||
public abstract DecimalFormat getCurrencyFormat(); |
|||
|
|||
public String formatBtcValue(Long amount) { |
|||
return getBtcFormat().format(amount.doubleValue() / Transaction.SATOSHIS_PER_BITCOIN); |
|||
} |
|||
|
|||
public String formatSatsValue(Long amount) { |
|||
return String.format(getLocale(), "%,d", amount); |
|||
} |
|||
|
|||
public String formatCurrencyValue(double amount) { |
|||
return getCurrencyFormat().format(amount); |
|||
} |
|||
|
|||
public DecimalFormatSymbols getDecimalFormatSymbols() { |
|||
return DecimalFormatSymbols.getInstance(getLocale()); |
|||
} |
|||
|
|||
public String getGroupingSeparator() { |
|||
return Character.toString(getDecimalFormatSymbols().getGroupingSeparator()); |
|||
} |
|||
|
|||
public String getDecimalSeparator() { |
|||
return Character.toString(getDecimalFormatSymbols().getDecimalSeparator()); |
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.sparrowwallet.sparrow.event; |
|||
|
|||
import com.sparrowwallet.drongo.BitcoinUnit; |
|||
import com.sparrowwallet.sparrow.UnitFormat; |
|||
import com.sparrowwallet.sparrow.io.Config; |
|||
|
|||
public class UnitFormatChangedEvent { |
|||
private final UnitFormat unitFormat; |
|||
|
|||
public UnitFormatChangedEvent(UnitFormat unitFormat) { |
|||
this.unitFormat = unitFormat; |
|||
} |
|||
|
|||
public UnitFormat getUnitFormat() { |
|||
return unitFormat; |
|||
} |
|||
|
|||
public BitcoinUnit getBitcoinUnit() { |
|||
return Config.get().getBitcoinUnit(); |
|||
} |
|||
} |
Loading…
Reference in new issue