From 0936fc851232c8c6c41ce4a0c479ba7a1e452137 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Mon, 28 Sep 2020 12:12:20 -0300 Subject: [wallet] implement exchange selection for withdrawals --- .../taler/wallet/exchanges/ExchangeListFragment.kt | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt') 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 86b2519..9a96b59 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt @@ -34,17 +34,19 @@ import net.taler.wallet.MainViewModel import net.taler.wallet.R import net.taler.wallet.databinding.FragmentExchangeListBinding -class ExchangeListFragment : Fragment(), ExchangeClickListener { +open class ExchangeListFragment : Fragment(), ExchangeClickListener { - private val model: MainViewModel by activityViewModels() + protected val model: MainViewModel by activityViewModels() private val exchangeManager by lazy { model.exchangeManager } - private lateinit var ui: FragmentExchangeListBinding - private val exchangeAdapter by lazy { ExchangeAdapter(this) } + protected lateinit var ui: FragmentExchangeListBinding + protected open val isSelectOnly = false + private val exchangeAdapter by lazy { ExchangeAdapter(isSelectOnly, this) } override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? + inflater: LayoutInflater, + container: ViewGroup?, + savedInstanceState: Bundle?, ): View? { ui = FragmentExchangeListBinding.inflate(inflater, container, false) return ui.root @@ -70,7 +72,7 @@ class ExchangeListFragment : Fragment(), ExchangeClickListener { }) } - private fun onExchangeUpdate(exchanges: List) { + protected open fun onExchangeUpdate(exchanges: List) { exchangeAdapter.update(exchanges) if (exchanges.isEmpty()) { ui.emptyState.fadeIn() @@ -85,6 +87,10 @@ class ExchangeListFragment : Fragment(), ExchangeClickListener { Toast.makeText(requireContext(), R.string.exchange_add_error, LENGTH_LONG).show() } + override fun onExchangeSelected(item: ExchangeItem) { + throw AssertionError("must not get triggered here") + } + override fun onManualWithdraw(item: ExchangeItem) { exchangeManager.withdrawalExchange = item findNavController().navigate(R.id.action_nav_settings_exchanges_to_nav_exchange_manual_withdrawal) -- cgit v1.2.3