summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-03-21 12:27:54 -0300
committerTorsten Grote <t@grobox.de>2023-03-21 12:27:54 -0300
commitc98d7dba5f986952a783dabe8800c5c309a7ac49 (patch)
tree0b45badd0adb07d438dd247932345b9b02dd8dcd
parentb1a114987cec6634645f7ee2b5962a9e3131a64c (diff)
downloadtaler-android-c98d7dba5f986952a783dabe8800c5c309a7ac49.tar.gz
taler-android-c98d7dba5f986952a783dabe8800c5c309a7ac49.tar.bz2
taler-android-c98d7dba5f986952a783dabe8800c5c309a7ac49.zip
[wallet] slight tweaks to showing errors in XML transactions
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt42
1 files changed, 22 insertions, 20 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt
index 46d605c..1f30d82 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt
@@ -28,11 +28,11 @@ import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import androidx.navigation.fragment.findNavController
import com.google.android.material.dialog.MaterialAlertDialogBuilder
+import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import net.taler.common.Amount
import net.taler.wallet.MainViewModel
import net.taler.wallet.R
-import net.taler.wallet.backend.TalerErrorInfo
import net.taler.wallet.compose.copyToClipBoard
import net.taler.wallet.getAttrColor
import net.taler.wallet.launchInAppBrowser
@@ -102,8 +102,10 @@ abstract class TransactionDetailFragment : Fragment() {
@StringRes
protected open val deleteDialogTitle = R.string.transactions_delete
+
@StringRes
protected open val deleteDialogMessage = R.string.transactions_delete_dialog_message
+
@StringRes
protected open val deleteDialogButton = R.string.transactions_delete
@@ -126,26 +128,26 @@ abstract class TransactionDetailFragment : Fragment() {
findNavController().popBackStack()
}
- private val json = Json { prettyPrint = true }
-
protected fun onShowErrorButtonClicked(t: Transaction) {
- t.error?.let { err ->
- val message = json.encodeToString(TalerErrorInfo.serializer(), err)
- MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3)
- .setTitle(getString(R.string.nav_error))
- .setMessage(message)
- .setNeutralButton(R.string.close) { dialog, _ ->
- dialog.cancel()
- }
- .setPositiveButton(R.string.copy) { _, _ ->
- copyToClipBoard(
- requireContext(),
- getString(R.string.nav_error),
- message,
- )
- }
- .show()
- }
+ val err = t.error
+ require(err != null) { "Transaction had no error." }
+
+ val json = Json { prettyPrint = true }
+ val message = json.encodeToString(err)
+ MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3)
+ .setTitle(getString(R.string.nav_error))
+ .setMessage(message)
+ .setNeutralButton(R.string.close) { dialog, _ ->
+ dialog.cancel()
+ }
+ .setPositiveButton(R.string.copy) { _, _ ->
+ copyToClipBoard(
+ requireContext(),
+ getString(R.string.nav_error),
+ message,
+ )
+ }
+ .show()
}
}