summaryrefslogtreecommitdiff
path: root/wallet/src/main/java/net/taler/wallet/transactions
diff options
context:
space:
mode:
authorTorsten Grote <t@grobox.de>2023-03-21 13:27:58 -0300
committerTorsten Grote <t@grobox.de>2023-03-21 13:27:58 -0300
commit67e70a34c763c073e980d200460f2865536838a8 (patch)
tree0052e773c3a5777a11782aefa6e2f885fcd8d902 /wallet/src/main/java/net/taler/wallet/transactions
parent1a230b0ca1c691e195d302ec5cebbb8e2acd667b (diff)
downloadtaler-android-67e70a34c763c073e980d200460f2865536838a8.tar.gz
taler-android-67e70a34c763c073e980d200460f2865536838a8.tar.bz2
taler-android-67e70a34c763c073e980d200460f2865536838a8.zip
[wallet] slight tweaks to showing errors in compose transactions
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions')
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/ErrorTransactionComposable.kt93
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt6
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt2
-rw-r--r--wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt2
4 files changed, 56 insertions, 47 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/ErrorTransactionComposable.kt b/wallet/src/main/java/net/taler/wallet/transactions/ErrorTransactionComposable.kt
index 7af219a..3cbc9e1 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/ErrorTransactionComposable.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/ErrorTransactionComposable.kt
@@ -35,70 +35,75 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontFamily
+import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import net.taler.wallet.R
import net.taler.wallet.backend.TalerErrorInfo
import net.taler.wallet.compose.copyToClipBoard
-val json = Json { prettyPrint = true }
-
@Composable
fun ErrorTransactionButton(
modifier: Modifier = Modifier,
- transaction: Transaction
+ error: TalerErrorInfo,
) {
val showDialog = remember { mutableStateOf(false) }
- if (transaction.error != null && showDialog.value) {
- val message = json.encodeToString(TalerErrorInfo.serializer(), transaction.error!!)
- AlertDialog(onDismissRequest = {
- showDialog.value = false
- },
- title = {
- Text(stringResource(R.string.nav_error))
- },
- text = {
- Column {
- Text(
- fontFamily = FontFamily.Monospace,
- text = message,
- )
- }
- },
- dismissButton = {
- TextButton(onClick = {
+ if (showDialog.value) {
+ @Suppress("OPT_IN_USAGE")
+ val json = Json {
+ prettyPrint = true
+ prettyPrintIndent = " "
+ }
+ val message = json.encodeToString(error)
+ AlertDialog(
+ onDismissRequest = {
showDialog.value = false
- }) {
- Text(stringResource(R.string.close))
- }
- },
- confirmButton = {
- val context = LocalContext.current
- TextButton(onClick = {
- copyToClipBoard(context, context.getString(R.string.nav_error), message)
- }) {
- Text(stringResource(R.string.copy))
- }
- })
+ },
+ title = {
+ Text(stringResource(R.string.nav_error))
+ },
+ text = {
+ Column {
+ Text(
+ fontFamily = FontFamily.Monospace,
+ text = message,
+ )
+ }
+ },
+ dismissButton = {
+ TextButton(onClick = {
+ showDialog.value = false
+ }) {
+ Text(stringResource(R.string.close))
+ }
+ },
+ confirmButton = {
+ val context = LocalContext.current
+ TextButton(onClick = {
+ copyToClipBoard(context, context.getString(R.string.nav_error), message)
+ }) {
+ Text(stringResource(R.string.copy))
+ }
+ })
}
Button(
- modifier = modifier,
- colors = ButtonDefaults.buttonColors(
- contentColor = MaterialTheme.colorScheme.onError,
- containerColor = MaterialTheme.colorScheme.error,
- ),
- onClick = {
- showDialog.value = true
- }
+ modifier = modifier,
+ colors = ButtonDefaults.buttonColors(
+ contentColor = MaterialTheme.colorScheme.onError,
+ containerColor = MaterialTheme.colorScheme.error,
+ ),
+ onClick = {
+ showDialog.value = true
+ }
) {
val label = stringResource(R.string.nav_error)
Icon(
- Icons.Default.Error,
- label,
+ imageVector = Icons.Default.Error,
+ contentDescription = label,
modifier = Modifier.size(ButtonDefaults.IconSize),
)
Spacer(Modifier.size(ButtonDefaults.IconSpacing))
Text(label)
}
-} \ No newline at end of file
+}
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 1f30d82..d37728f 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt
@@ -132,7 +132,11 @@ abstract class TransactionDetailFragment : Fragment() {
val err = t.error
require(err != null) { "Transaction had no error." }
- val json = Json { prettyPrint = true }
+ @Suppress("OPT_IN_USAGE")
+ val json = Json {
+ prettyPrint = true
+ prettyPrintIndent = " "
+ }
val message = json.encodeToString(err)
MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3)
.setTitle(getString(R.string.nav_error))
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt
index ef227ed..297c937 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionPeerFragment.kt
@@ -88,7 +88,7 @@ fun TransactionPeerComposable(t: Transaction, devMode: Boolean?, onDelete: () ->
}
DeleteTransactionComposable(onDelete)
if (devMode == true && t.error != null) {
- ErrorTransactionButton(transaction = t)
+ ErrorTransactionButton(error = t.error!!)
}
}
}
diff --git a/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt b/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt
index df2077d..eb148b8 100644
--- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt
+++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionTipFragment.kt
@@ -104,7 +104,7 @@ fun TransactionTipComposable(t: TransactionTip, devMode: Boolean?, onDelete: ()
)
DeleteTransactionComposable(onDelete)
if (devMode == true && t.error != null) {
- ErrorTransactionButton(transaction = t)
+ ErrorTransactionButton(error = t.error)
}
}
}