From bc808d30452b9600044b26c439b4708d088b965f Mon Sep 17 00:00:00 2001 From: Sylvia van Os Date: Tue, 23 Feb 2021 20:55:01 +0100 Subject: [PATCH] Really fix --- CHANGELOG.md | 1 + app/build.gradle | 2 +- .../card_locker/LoyaltyCardEditActivity.java | 22 +++++++++++-------- .../main/java/protect/card_locker/Utils.java | 2 ++ 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94740dec9..2bc678e39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Changes: - Improve balance parsing logic +- Fix currency decimal display on main screen ## v1.9 (2021-02-22) diff --git a/app/build.gradle b/app/build.gradle index 3340fda43..b24251fdb 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -18,7 +18,7 @@ android { applicationId "me.hackerchick.catima" minSdkVersion 19 targetSdkVersion 29 - versionCode 60 + versionCode 61 versionName "1.9.1" vectorDrawables.useSupportLibrary true diff --git a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java index 33ae5fcc0..7bf92e5c4 100644 --- a/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java +++ b/app/src/main/java/protect/card_locker/LoyaltyCardEditActivity.java @@ -246,7 +246,11 @@ public class LoyaltyCardEditActivity extends AppCompatActivity balanceCurrencyField.setTag(currency); - balanceField.setText(Utils.formatBalanceWithoutCurrencySymbol((BigDecimal) balanceField.getTag(), currency)); + BigDecimal balance = (BigDecimal) balanceField.getTag(); + + if (balance != null) { + balanceField.setText(Utils.formatBalanceWithoutCurrencySymbol(balance, currency)); + } } @Override @@ -366,10 +370,10 @@ public class LoyaltyCardEditActivity extends AppCompatActivity noteFieldEdit.setText(""); expiryField.setTag(null); expiryField.setText(""); - balanceField.setTag(null); - balanceField.setText(""); balanceCurrencyField.setTag(null); balanceCurrencyField.setText(""); + balanceField.setTag(null); + balanceField.setText(""); cardIdFieldView.setText(""); barcodeTypeField.setText(""); } @@ -409,18 +413,18 @@ public class LoyaltyCardEditActivity extends AppCompatActivity formatExpiryField(loyaltyCard.expiry); } - if(balanceField.getText().length() == 0) - { - balanceField.setTag(loyaltyCard.balance); - balanceField.setText(Utils.formatBalanceWithoutCurrencySymbol(loyaltyCard.balance, loyaltyCard.balanceType)); - } - if(balanceCurrencyField.getText().length() == 0) { balanceCurrencyField.setTag(loyaltyCard.balanceType); formatBalanceCurrencyField(loyaltyCard.balanceType); } + if(balanceField.getText().length() == 0) + { + balanceField.setTag(loyaltyCard.balance); + balanceField.setText(Utils.formatBalanceWithoutCurrencySymbol(loyaltyCard.balance, loyaltyCard.balanceType)); + } + if(cardIdFieldView.getText().length() == 0) { cardIdFieldView.setText(loyaltyCard.cardId); diff --git a/app/src/main/java/protect/card_locker/Utils.java b/app/src/main/java/protect/card_locker/Utils.java index c045ff900..a6ba67032 100644 --- a/app/src/main/java/protect/card_locker/Utils.java +++ b/app/src/main/java/protect/card_locker/Utils.java @@ -94,6 +94,8 @@ public class Utils { NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(); currencyFormat.setCurrency(currency); + currencyFormat.setMinimumFractionDigits(currency.getDefaultFractionDigits()); + currencyFormat.setMaximumFractionDigits(currency.getDefaultFractionDigits()); return currencyFormat.format(value); }