diff options
author | Iván Ávalos <avalos@disroot.org> | 2024-01-30 20:05:08 -0600 |
---|---|---|
committer | Torsten Grote <t@grobox.de> | 2024-02-20 14:28:16 -0300 |
commit | e0feb34d9740e693b22f6301dfb1eefcb206c26e (patch) | |
tree | 42a858e68890a0fec2ae5f6c0c2b7a294f2ac8e7 /wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt | |
parent | ad029fcaafa447e040fb925cfc7e6f4b1dc565f6 (diff) | |
download | taler-android-e0feb34d9740e693b22f6301dfb1eefcb206c26e.tar.gz taler-android-e0feb34d9740e693b22f6301dfb1eefcb206c26e.tar.bz2 taler-android-e0feb34d9740e693b22f6301dfb1eefcb206c26e.zip |
[wallet] DD48: implement exchange deletion
bug 0008298
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt index c622d65..494b187 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt @@ -32,9 +32,11 @@ import androidx.lifecycle.Lifecycle.State.RESUMED import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL +import com.google.android.material.dialog.MaterialAlertDialogBuilder import net.taler.common.EventObserver import net.taler.common.fadeIn import net.taler.common.fadeOut +import net.taler.common.showError import net.taler.wallet.MainViewModel import net.taler.wallet.R import net.taler.wallet.databinding.FragmentExchangeListBinding @@ -101,6 +103,13 @@ open class ExchangeListFragment : Fragment(), ExchangeClickListener { showError(error) } }) + exchangeManager.deleteError.observe(viewLifecycleOwner, EventObserver { error -> + if (model.devMode.value == true) { + showError(error) + } else { + showError(error.userFacingMsg) + } + }) } protected open fun onExchangeUpdate(exchanges: List<ExchangeItem>) { @@ -136,4 +145,19 @@ open class ExchangeListFragment : Fragment(), ExchangeClickListener { findNavController().navigate(R.id.action_global_receiveFunds) } + override fun onExchangeDelete(item: ExchangeItem) { + val optionsArray = arrayOf(getString(R.string.exchange_delete_force)) + val checkedArray = BooleanArray(1) { false } + + MaterialAlertDialogBuilder(requireContext(), R.style.MaterialAlertDialog_Material3) + .setTitle(R.string.exchange_delete) + .setMultiChoiceItems(optionsArray, checkedArray) { _, which, isChecked -> + checkedArray[which] = isChecked + } + .setNegativeButton(R.string.transactions_delete) { _, _ -> + exchangeManager.delete(item.exchangeBaseUrl, checkedArray[0]) + } + .setPositiveButton(R.string.cancel) { _, _ -> } + .show() + } } |