diff options
Diffstat (limited to 'wallet/src/main/java/net/taler/wallet/exchanges')
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt | 26 | ||||
-rw-r--r-- | wallet/src/main/java/net/taler/wallet/exchanges/SelectExchangeFragment.kt | 29 |
2 files changed, 29 insertions, 26 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 c7da205..86b2519 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/ExchangeListFragment.kt @@ -24,43 +24,45 @@ import android.widget.Toast import android.widget.Toast.LENGTH_LONG import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels -import androidx.lifecycle.Observer import androidx.navigation.fragment.findNavController import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.LinearLayoutManager.VERTICAL -import kotlinx.android.synthetic.main.fragment_exchange_list.* import net.taler.common.EventObserver import net.taler.common.fadeIn import net.taler.common.fadeOut import net.taler.wallet.MainViewModel import net.taler.wallet.R +import net.taler.wallet.databinding.FragmentExchangeListBinding class ExchangeListFragment : Fragment(), ExchangeClickListener { private val model: MainViewModel by activityViewModels() private val exchangeManager by lazy { model.exchangeManager } + + private lateinit var ui: FragmentExchangeListBinding private val exchangeAdapter by lazy { ExchangeAdapter(this) } override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_exchange_list, container, false) + ui = FragmentExchangeListBinding.inflate(inflater, container, false) + return ui.root } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { - list.apply { + ui.list.apply { adapter = exchangeAdapter addItemDecoration(DividerItemDecoration(context, VERTICAL)) } - addExchangeFab.setOnClickListener { + ui.addExchangeFab.setOnClickListener { AddExchangeDialogFragment().show(parentFragmentManager, "ADD_EXCHANGE") } - exchangeManager.progress.observe(viewLifecycleOwner, Observer { show -> - if (show) progressBar.fadeIn() else progressBar.fadeOut() + exchangeManager.progress.observe(viewLifecycleOwner, { show -> + if (show) ui.progressBar.fadeIn() else ui.progressBar.fadeOut() }) - exchangeManager.exchanges.observe(viewLifecycleOwner, Observer { exchanges -> + exchangeManager.exchanges.observe(viewLifecycleOwner, { exchanges -> onExchangeUpdate(exchanges) }) exchangeManager.addError.observe(viewLifecycleOwner, EventObserver { error -> @@ -71,11 +73,11 @@ class ExchangeListFragment : Fragment(), ExchangeClickListener { private fun onExchangeUpdate(exchanges: List<ExchangeItem>) { exchangeAdapter.update(exchanges) if (exchanges.isEmpty()) { - emptyState.fadeIn() - list.fadeOut() + ui.emptyState.fadeIn() + ui.list.fadeOut() } else { - emptyState.fadeOut() - list.fadeIn() + ui.emptyState.fadeOut() + ui.list.fadeIn() } } diff --git a/wallet/src/main/java/net/taler/wallet/exchanges/SelectExchangeFragment.kt b/wallet/src/main/java/net/taler/wallet/exchanges/SelectExchangeFragment.kt index 9f5a916..a95a51c 100644 --- a/wallet/src/main/java/net/taler/wallet/exchanges/SelectExchangeFragment.kt +++ b/wallet/src/main/java/net/taler/wallet/exchanges/SelectExchangeFragment.kt @@ -27,12 +27,12 @@ import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.recyclerview.widget.RecyclerView.Adapter import androidx.recyclerview.widget.RecyclerView.ViewHolder -import kotlinx.android.synthetic.main.fragment_select_exchange.* -import net.taler.lib.common.Amount import net.taler.common.toRelativeTime import net.taler.common.toShortDate +import net.taler.lib.common.Amount import net.taler.wallet.MainViewModel import net.taler.wallet.R +import net.taler.wallet.databinding.FragmentSelectExchangeBinding import net.taler.wallet.exchanges.CoinFeeAdapter.CoinFeeViewHolder import net.taler.wallet.exchanges.WireFeeAdapter.WireFeeViewHolder @@ -41,28 +41,29 @@ class SelectExchangeFragment : Fragment() { private val model: MainViewModel by activityViewModels() private val withdrawManager by lazy { model.withdrawManager } + private lateinit var ui: FragmentSelectExchangeBinding + override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { - return inflater.inflate(R.layout.fragment_select_exchange, container, false) + ui = FragmentSelectExchangeBinding.inflate(inflater, container, false) + return ui.root } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { val fees = withdrawManager.exchangeFees ?: throw IllegalStateException() if (fees.withdrawFee.isZero()) { - withdrawFeeLabel.visibility = GONE - withdrawFeeView.visibility = GONE - } else withdrawFeeView.setAmount(fees.withdrawFee) + ui.withdrawFeeLabel.visibility = GONE + ui.withdrawFeeView.visibility = GONE + } else ui.withdrawFeeView.setAmount(fees.withdrawFee) if (fees.overhead.isZero()) { - overheadLabel.visibility = GONE - overheadView.visibility = GONE - } else overheadView.setAmount(fees.overhead) - expirationView.text = fees.earliestDepositExpiration.ms.toRelativeTime(requireContext()) - coinFeesList.adapter = - CoinFeeAdapter(fees.coinFees) - wireFeesList.adapter = - WireFeeAdapter(fees.wireFees) + ui.overheadLabel.visibility = GONE + ui.overheadView.visibility = GONE + } else ui.overheadView.setAmount(fees.overhead) + ui.expirationView.text = fees.earliestDepositExpiration.ms.toRelativeTime(requireContext()) + ui.coinFeesList.adapter = CoinFeeAdapter(fees.coinFees) + ui.wireFeesList.adapter = WireFeeAdapter(fees.wireFees) } private fun TextView.setAmount(amount: Amount) { |