1
mirror of https://github.com/m2049r/xmrwallet synced 2025-09-10 05:40:51 +02:00

Compare commits

...

2 Commits

Author SHA1 Message Date
m2049r
e076c19e3e v1.12.9 2019-11-21 10:42:45 +01:00
m2049r
35b717756d Fix amount bugs (#645)
* fix rounding error on send

* fix check funds bug
2019-11-21 10:42:16 +01:00
3 changed files with 9 additions and 7 deletions

View File

@@ -7,8 +7,8 @@ android {
applicationId "com.m2049r.xmrwallet" applicationId "com.m2049r.xmrwallet"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 28 targetSdkVersion 28
versionCode 198 versionCode 199
versionName "1.12.8 'Caerbannog'" versionName "1.12.9 'Caerbannog'"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild { externalNativeBuild {

View File

@@ -227,6 +227,7 @@ public class Helper {
return String.format(Locale.US, "%,.2f", amount); return String.format(Locale.US, "%,.2f", amount);
else { // amount < 1 else { // amount < 1
int decimals = 1 - (int) Math.floor(Math.log10(amount)); int decimals = 1 - (int) Math.floor(Math.log10(amount));
if (decimals < 2) decimals = 2;
if (decimals > 12) decimals = 12; if (decimals > 12) decimals = 12;
return String.format(Locale.US, "%,." + decimals + "f", amount); return String.format(Locale.US, "%,." + decimals + "f", amount);
} }

View File

@@ -44,6 +44,7 @@ import com.m2049r.xmrwallet.util.Helper;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Locale;
import timber.log.Timber; import timber.log.Timber;
@@ -66,9 +67,9 @@ public class ExchangeEditText extends LinearLayout {
return false; return false;
} }
boolean ok = true; boolean ok = true;
String enteredAmount = etAmountA.getText().toString(); String nativeAmount = getNativeAmount();
try { try {
double amount = Double.parseDouble(enteredAmount); double amount = Double.parseDouble(nativeAmount);
if ((amount < min) || (amount > max)) { if ((amount < min) || (amount > max)) {
ok = false; ok = false;
} }
@@ -110,7 +111,7 @@ public class ExchangeEditText extends LinearLayout {
public String getNativeAmount() { public String getNativeAmount() {
if (isExchangeInProgress()) return null; if (isExchangeInProgress()) return null;
if (sCurrencyA.getSelectedItemPosition() == 0) if (getCurrencyA() == 0)
return getCleanAmountString(etAmountA.getText().toString()); return getCleanAmountString(etAmountA.getText().toString());
else else
return getCleanAmountString(tvAmountB.getText().toString()); return getCleanAmountString(tvAmountB.getText().toString());
@@ -336,7 +337,7 @@ public class ExchangeEditText extends LinearLayout {
private void exchange(double rate) { private void exchange(double rate) {
double amount = getEnteredAmount(); double amount = getEnteredAmount();
if (rate > 0) { if (rate > 0) {
tvAmountB.setText(Helper.getFormattedAmount(rate * amount)); tvAmountB.setText(Helper.getFormattedAmount(rate * amount, getCurrencyB() == 0));
} else { } else {
tvAmountB.setText(null); tvAmountB.setText(null);
Timber.w("No rate!"); Timber.w("No rate!");
@@ -347,7 +348,7 @@ public class ExchangeEditText extends LinearLayout {
try { try {
double amount = Double.parseDouble(enteredAmount); double amount = Double.parseDouble(enteredAmount);
if (amount >= 0) { if (amount >= 0) {
return Helper.getFormattedAmount(amount); return String.format(Locale.US, "%,.12f", amount);
} else { } else {
return null; return null;
} }