taler-android

Android apps for GNU Taler (wallet, PoS, cashier)
Log | Files | Refs | README | LICENSE

commit 97708eeb7564ad86fccf92c601789e8635d435bf
parent 6ef28a62e83ae2f26da9b451d3dc917d3ad82c45
Author: Iván Ávalos <avalos@disroot.org>
Date:   Sat,  1 Nov 2025 22:41:23 +0100

[wallet] fix crash when selecting choice with index greater than automaticExecutableIndex

Diffstat:
Mwallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt | 2+-
Mwallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt | 4+++-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentComposable.kt @@ -167,7 +167,7 @@ fun PromptPaymentComposable( status = status, tokenFamilies = contractTerms.tokenFamilies, selectedIndex = selectedIndex, - merchantBaseUrl =contractTerms.merchantBaseUrl, + merchantBaseUrl = contractTerms.merchantBaseUrl, onSelect = { index -> selectedIndex = index }, onConfirm = onConfirm, donauStatus = donauStatus, diff --git a/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt b/wallet/src/main/java/net/taler/wallet/payment/PromptPaymentFragment.kt @@ -93,7 +93,9 @@ class PromptPaymentFragment: Fragment(), ProductImageClickListener { onImageClick(bitmap) }, checkDonauStatus = { index -> - paymentManager.checkDonauForChoice(status.choices[index]) + status.choices.find { it.choiceIndex == index }?.let { choice -> + paymentManager.checkDonauForChoice(choice) + } ?: DonauStatus.Unavailable }, onSetupDonau = { donauBaseUrl -> findNavController().navigate(