summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/exchanges
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-01-03 10:00:21 -0300
committerTorsten Grote <t@grobox.de>2023-01-03 10:00:59 -0300
commit43ad014f54c50fc2fa1cda3e1d6e24229637ad02 (patch)
treeaf345724bb0113acd718f5958c8e89c7f6d88dc6 /wallet/src/main/java/net/taler/wallet/exchanges
parent8643037f06c25be1508ef6027ef4d49e03beb620 (diff)
downloadtaler-android-43ad014f54c50fc2fa1cda3e1d6e24229637ad02.tar.gz
taler-android-43ad014f54c50fc2fa1cda3e1d6e24229637ad02.tar.bz2
taler-android-43ad014f54c50fc2fa1cda3e1d6e24229637ad02.zip
[wallet] Fix crash when exchange is missing currency
Can happen when exchange info in wallet-core was not yet fully loaded #7480
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/exchanges')
-rw-r--r--wallet/src/main/java/net/taler/wallet/exchanges/ExchangeAdapter.kt11
1 files changed, 8 insertions, 3 deletions
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<String>
+ // can be null before exchange info in wallet-core was fully loaded
+ val currency: String? = null,
+ val paytoUris: List<String>,
) {
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