From 2ce1e2fe303fc946549a02147e857eb4af016fec Mon Sep 17 00:00:00 2001 From: Andhika Yuana Date: Thu, 19 Dec 2024 16:37:48 +0700 Subject: [PATCH] fix: fix User unable to set preferred local fiat currency (#299) * fix: fix close button at activity_display_currency.xml * fix: fix display currency --- .../presenter/activities/BreadActivity.java | 28 ++----------------- .../settings/DisplayCurrencyActivity.java | 12 +++++--- .../res/layout/activity_display_currency.xml | 14 +++++----- 3 files changed, 17 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/breadwallet/presenter/activities/BreadActivity.java b/app/src/main/java/com/breadwallet/presenter/activities/BreadActivity.java index e91104d51..0e9b8b4d8 100644 --- a/app/src/main/java/com/breadwallet/presenter/activities/BreadActivity.java +++ b/app/src/main/java/com/breadwallet/presenter/activities/BreadActivity.java @@ -414,25 +414,6 @@ public void onBalanceChanged(final long balance) { updateUI(); } - private static final Map fiat = new HashMap<>(); - - static { - fiat.put(Language.ENGLISH, "USD"); - fiat.put(Language.SPANISH, "EUR"); - fiat.put(Language.GERMAN, "EUR"); - fiat.put(Language.FRENCH, "EUR"); - fiat.put(Language.JAPANESE, "JPY"); - fiat.put(Language.INDONESIAN, "USD"); - fiat.put(Language.ITALIAN, "EUR"); - fiat.put(Language.PORTUGUESE, "EUR"); - fiat.put(Language.TURKISH, "EUR"); - fiat.put(Language.UKRAINIAN, "EUR"); - fiat.put(Language.RUSSIAN, "EUR"); - fiat.put(Language.KOREAN, "EUR"); - fiat.put(Language.CHINESE_TRADITIONAL, "USD"); - fiat.put(Language.CHINESE_SIMPLIFIED, "RMB"); - } - public void updateUI() { BRExecutor.getInstance().forLightWeightBackgroundTasks().execute(() -> { Thread.currentThread().setName(Thread.currentThread().getName() + ":updateUI"); @@ -446,13 +427,8 @@ public void updateUI() { BigDecimal btcAmount = BRExchange.getLitecoinForLitoshis(BreadActivity.this, amount); final String formattedBTCAmount = BRCurrency.getFormattedCurrencyString(BreadActivity.this, "LTC", btcAmount); - //amount in currency units - Language currentLanguage = LocaleHelper.Companion.getInstance().getCurrentLocale(); - String correspondingFiat = fiat.getOrDefault(currentLanguage, "USD"); - - assert correspondingFiat != null; - final BigDecimal curAmount = BRExchange.getAmountFromLitoshis(BreadActivity.this, correspondingFiat, amount); - final String formattedCurAmount = BRCurrency.getFormattedCurrencyString(BreadActivity.this, correspondingFiat, curAmount); + final BigDecimal curAmount = BRExchange.getAmountFromLitoshis(BreadActivity.this, iso, amount); + final String formattedCurAmount = BRCurrency.getFormattedCurrencyString(BreadActivity.this, iso, curAmount); runOnUiThread(() -> { primaryPrice.setText(formattedBTCAmount); secondaryPrice.setText(String.format("%s", formattedCurAmount)); diff --git a/app/src/main/java/com/breadwallet/presenter/activities/settings/DisplayCurrencyActivity.java b/app/src/main/java/com/breadwallet/presenter/activities/settings/DisplayCurrencyActivity.java index 3b8023823..55d6d7f4d 100644 --- a/app/src/main/java/com/breadwallet/presenter/activities/settings/DisplayCurrencyActivity.java +++ b/app/src/main/java/com/breadwallet/presenter/activities/settings/DisplayCurrencyActivity.java @@ -26,6 +26,7 @@ import java.math.BigDecimal; import java.util.Currency; +import java.util.Objects; import timber.log.Timber; @@ -181,7 +182,7 @@ public CurrencyListAdapter(Context mContext) { @Override public View getView(int position, View convertView, ViewGroup parent) { - final int tmp = BRSharedPrefs.getCurrencyListPosition(mContext); +// final int tmp = BRSharedPrefs.getCurrencyListPosition(mContext); if (convertView == null) { // inflate the layout @@ -190,6 +191,7 @@ public View getView(int position, View convertView, ViewGroup parent) { } // get the TextView and then set the text (item name) and tag (item ID) values textViewItem = convertView.findViewById(R.id.currency_item_text); + String isoCached = BRSharedPrefs.getIsoSymbol(mContext); String iso = getItem(position).code; Currency c = null; try { @@ -198,9 +200,11 @@ public View getView(int position, View convertView, ViewGroup parent) { } textViewItem.setText(c == null ? iso : String.format("%s (%s)", iso, c.getSymbol())); ImageView checkMark = convertView.findViewById(R.id.currency_checkmark); - Timber.d( "Value of TMP %s", tmp); - Timber.d( "Value of position %s", position); - if (position == tmp) { + + Timber.d("timber: isoCached: %s", isoCached); + Timber.d("timber: item iso: %s", iso); + + if (Objects.equals(iso, isoCached)) { checkMark.setVisibility(View.VISIBLE); } else { checkMark.setVisibility(View.GONE); diff --git a/app/src/main/res/layout/activity_display_currency.xml b/app/src/main/res/layout/activity_display_currency.xml index dc8a9a2f3..2fb093c5d 100644 --- a/app/src/main/res/layout/activity_display_currency.xml +++ b/app/src/main/res/layout/activity_display_currency.xml @@ -19,7 +19,7 @@ android:textColor="@color/almost_black" android:textSize="@dimen/header" app:layout_constraintLeft_toLeftOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintTop_toTopOf="@id/close_button" /> + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" />