From 43ad014f54c50fc2fa1cda3e1d6e24229637ad02 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 3 Jan 2023 10:00:21 -0300 Subject: [wallet] Fix crash when exchange is missing currency Can happen when exchange info in wallet-core was not yet fully loaded #7480 --- .../main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt') diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt index 5b0d947..e0cf5be 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt @@ -34,8 +34,9 @@ import net.taler.wallet.exchanges.ExchangeAdapter.ExchangeItemViewHolder @Serializable data class ExchangeItem( val exchangeBaseUrl: String, - val currency: String, - val paytoUris: List + // can be null before exchange info in wallet-core was fully loaded + val currency: String? = null, + val paytoUris: List, ) { val name: String get() = cleanExchange(exchangeBaseUrl) } @@ -79,7 +80,11 @@ internal class ExchangeAdapter( fun bind(item: ExchangeItem) { urlView.text = item.name - currencyView.text = context.getString(R.string.exchange_list_currency, item.currency) + currencyView.text = if (item.currency == null) { + context.getString(R.string.settings_version_unknown) + } else { + context.getString(R.string.exchange_list_currency, item.currency) + } if (selectOnly) { itemView.setOnClickListener { listener.onExchangeSelected(item) } overflowIcon.visibility = GONE -- cgit v1.2.3