diff options
author | Torsten Grote <t@grobox.de> | 2022-08-17 15:40:16 -0300 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2022-08-17 15:40:16 -0300 |
commit | d1163e31e904ac59d0739169257a8e3fdc7986a7 (patch) | |
tree | 44dfc439444d0ed5e004147c79b3dcf6ff0b5efb /wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt | |
parent | 326b1bdf62a687aa40d32994c14c792fcbf113fc (diff) | |
download | taler-android-d1163e31e904ac59d0739169257a8e3fdc7986a7.tar.gz taler-android-d1163e31e904ac59d0739169257a8e3fdc7986a7.tar.bz2 taler-android-d1163e31e904ac59d0739169257a8e3fdc7986a7.zip |
[wallet] Add ability to cancel/delete transactions
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt | 31 |
1 files changed, 30 insertions, 1 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 128ca04..f21818f 100644 --- a/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/transactions/TransactionDetailFragment.kt @@ -23,8 +23,11 @@ import android.view.Menu import android.view.MenuInflater import android.view.MenuItem import android.widget.TextView +import androidx.annotation.StringRes +import androidx.appcompat.app.AlertDialog import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels +import androidx.navigation.fragment.findNavController import net.taler.common.Amount import net.taler.common.startActivitySafe import net.taler.wallet.MainViewModel @@ -67,7 +70,7 @@ abstract class TransactionDetailFragment : Fragment() { feeView: TextView, info: TransactionInfo, raw: Amount, - fee: Amount + fee: Amount, ) { orderAmountView.text = raw.toString() feeView.text = getString(R.string.amount_negative, fee.toString()) @@ -85,4 +88,30 @@ abstract class TransactionDetailFragment : Fragment() { orderIdView.text = getString(R.string.transaction_order_id, info.orderId) } + @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 + + protected fun onDeleteButtonClicked(t: Transaction) { + AlertDialog.Builder(requireContext(), R.style.DialogTheme) + .setTitle(deleteDialogTitle) + .setMessage(deleteDialogMessage) + .setPositiveButton(R.string.cancel) { dialog, _ -> + dialog.cancel() + } + .setNegativeButton(deleteDialogButton) { dialog, _ -> + deleteTransaction(t) + dialog.dismiss() + } + .show() + } + + private fun deleteTransaction(t: Transaction) { + transactionManager.deleteTransaction(t.transactionId) + findNavController().popBackStack() + } + } |