diff options
5 files changed, 57 insertions, 48 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt b/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt index 810cee8..3d59b35 100644 --- a/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt +++ b/wallet/src/main/java/net/taler/wallet/deposit/TransactionDepositComposable.kt @@ -79,7 +79,7 @@ fun TransactionDepositComposable(t: TransactionDeposit, devMode: Boolean?, onDel } 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/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) } } } |