From 74d04cde075fd2f80a331cf67f0f0220de951dfe Mon Sep 17 00:00:00 2001 From: Tangem Date: Wed, 3 Nov 2021 11:34:53 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../wallet/ui/WalletDetailsFragment.kt | 6 ++--- .../wallet/ui/wallet/SingleWalletView.kt | 24 +++++++++++++++---- .../drawable/ic_arrow_down_short_button.xml | 12 ++++++++++ .../res/layout/fragment_wallet_details.xml | 6 ++--- .../layout/layout_wallet_short_buttons.xml | 9 ++++--- app/src/main/res/menu/wallet_details.xml | 4 ++-- 6 files changed, 45 insertions(+), 16 deletions(-) create mode 100644 app/src/main/res/drawable/ic_arrow_down_short_button.xml diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt index f2072f7cf3..9a52c58948 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/WalletDetailsFragment.kt @@ -84,7 +84,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), StoreS btn_share.setOnClickListener { store.dispatch(WalletAction.ShowDialog.QrCode) } - btn_top_up.setOnClickListener { store.dispatch(WalletAction.TradeCryptoAction.Buy) } + btn_trade.setOnClickListener { store.dispatch(WalletAction.TradeCryptoAction.Buy) } btn_sell.setOnClickListener { store.dispatch(WalletAction.TradeCryptoAction.Sell) } } @@ -138,7 +138,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), StoreS srl_wallet_details.isRefreshing = false } - btn_top_up.isEnabled = selectedWallet.tradeCryptoState.buyingAllowed + btn_trade.isEnabled = selectedWallet.tradeCryptoState.buyingAllowed btn_sell.show(selectedWallet.tradeCryptoState.sellingAllowed) } @@ -286,7 +286,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), StoreS override fun onOptionsItemSelected(item: MenuItem): Boolean { return when (item.itemId) { - R.id.meny_remove -> { + R.id.menu_remove -> { store.state.walletState.getSelectedWalletData()?.let { walletData -> store.dispatch(WalletAction.MultiWallet.RemoveWallet(walletData)) store.dispatch(WalletAction.MultiWallet.SelectWallet(null)) diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt index 2522ba7135..874c3abfec 100644 --- a/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt +++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/wallet/SingleWalletView.kt @@ -142,12 +142,10 @@ class SingleWalletView : WalletView { } btn_show_qr.setOnClickListener { store.dispatch(WalletAction.ShowDialog.QrCode) } - btn_top_up.setOnClickListener { - tradeCryptoAction(state.tradeCryptoState) - } + setupTradeButton(fragment, state.tradeCryptoState) } - private fun tradeCryptoAction(tradeCryptoState: TradeCryptoState) { + private fun setupTradeButton(fragment: WalletFragment, tradeCryptoState: TradeCryptoState) { val allowedToBuy = tradeCryptoState.buyingAllowed val allowedToSell = tradeCryptoState.sellingAllowed val action = when { @@ -156,7 +154,23 @@ class SingleWalletView : WalletView { allowedToBuy && allowedToSell -> WalletAction.ShowDialog.ChooseTradeActionDialog else -> null } - if (action != null) store.dispatch(action) + val text = when { + allowedToBuy && !allowedToSell -> R.string.wallet_button_buy + !allowedToBuy && allowedToSell -> R.string.wallet_button_sell + allowedToBuy && allowedToSell -> R.string.wallet_button_trade + else -> R.string.wallet_button_trade + } + val icon = when { + allowedToBuy && !allowedToSell -> R.drawable.ic_arrow_up_short_btn + !allowedToBuy && allowedToSell -> R.drawable.ic_arrow_down_short_button + allowedToBuy && allowedToSell -> R.drawable.ic_arrows_up_down_short_btn + else -> R.string.wallet_button_trade + } + with(fragment) { + btn_trade.text = getText(text) + btn_trade.setCompoundDrawablesWithIntrinsicBounds(0, icon, 0, 0) + btn_trade.setOnClickListener { if (action != null) store.dispatch(action) } + } } private fun setupButtonsType(state: WalletData, fragment: WalletFragment) = with(fragment) { diff --git a/app/src/main/res/drawable/ic_arrow_down_short_button.xml b/app/src/main/res/drawable/ic_arrow_down_short_button.xml new file mode 100644 index 0000000000..18b58e3f6c --- /dev/null +++ b/app/src/main/res/drawable/ic_arrow_down_short_button.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_wallet_details.xml b/app/src/main/res/layout/fragment_wallet_details.xml index 7b61f56d8d..3c69d924f7 100644 --- a/app/src/main/res/layout/fragment_wallet_details.xml +++ b/app/src/main/res/layout/fragment_wallet_details.xml @@ -131,7 +131,7 @@ app:constraint_referenced_ids="l_wallet_details,card_pending_transaction_warning" /> + app:constraint_referenced_ids="btn_trade, btn_sell" /> diff --git a/app/src/main/res/layout/layout_wallet_short_buttons.xml b/app/src/main/res/layout/layout_wallet_short_buttons.xml index be494ee95b..61217164ee 100644 --- a/app/src/main/res/layout/layout_wallet_short_buttons.xml +++ b/app/src/main/res/layout/layout_wallet_short_buttons.xml @@ -9,6 +9,7 @@ android:id="@+id/btn_scan_short" style="@style/TapBlackButton" android:layout_width="0dp" + android:layout_height="52dp" android:layout_marginStart="16dp" android:layout_marginTop="30dp" android:layout_marginBottom="33dp" @@ -17,14 +18,15 @@ android:paddingTop="7dp" android:text="@string/wallet_button_scan" app:layout_constraintBottom_toBottomOf="parent" - app:layout_constraintEnd_toStartOf="@id/btn_top_up" + app:layout_constraintEnd_toStartOf="@id/btn_trade" app:layout_constraintStart_toStartOf="parent" app:layout_constraintVertical_bias="1" /> \ No newline at end of file diff --git a/app/src/main/res/menu/wallet_details.xml b/app/src/main/res/menu/wallet_details.xml index 9622311e82..08ba8df389 100644 --- a/app/src/main/res/menu/wallet_details.xml +++ b/app/src/main/res/menu/wallet_details.xml @@ -2,7 +2,7 @@ \ No newline at end of file