diff --git a/app/build.gradle b/app/build.gradle
index 58c711eb31..98ed954d8b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -76,7 +76,7 @@ dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
- implementation 'com.tangem:blockchain:1.158.0'
+ implementation 'com.tangem:blockchain:1.159.0'
implementation 'com.tangem:core:1.108.0'
implementation 'com.tangem:sdk:1.108.0'
diff --git a/app/src/main/java/com/tangem/tap/common/extensions/Token.kt b/app/src/main/java/com/tangem/tap/common/extensions/Token.kt
index f9499f8e70..fdfb83ef77 100644
--- a/app/src/main/java/com/tangem/tap/common/extensions/Token.kt
+++ b/app/src/main/java/com/tangem/tap/common/extensions/Token.kt
@@ -3,9 +3,14 @@ package com.tangem.tap.common.extensions
import androidx.annotation.ColorInt
import androidx.core.graphics.toColorInt
import com.tangem.blockchain.common.Token
+import com.tangem.wallet.R
@ColorInt
fun Token.getColor(): Int {
- return ("#" + this.contractAddress.subSequence(2..7).toString())
- .toColorInt()
+ return try {
+ ("#" + this.contractAddress.subSequence(2..7).toString())
+ .toColorInt()
+ } catch (exception: Exception) {
+ R.color.lightGray4
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt
index b24e7916db..997a470724 100644
--- a/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt
+++ b/app/src/main/java/com/tangem/tap/features/send/redux/middlewares/SendMiddleware.kt
@@ -120,6 +120,9 @@ private fun sendTransaction(
dispatch(GlobalAction.UpdateWalletSignedHashes(result.data.walletSignedHashes))
dispatch(NavigationAction.PopBackTo())
scope.launch(Dispatchers.IO) {
+ withContext(Dispatchers.Main) {
+ dispatch(WalletAction.UpdateWallet(walletManager.wallet.blockchain.currency))
+ }
delay(10000)
withContext(Dispatchers.Main) {
dispatch(WalletAction.UpdateWallet(walletManager.wallet.blockchain.currency))
diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/MultiWalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/MultiWalletMiddleware.kt
index 4f28ce1f3f..884616d714 100644
--- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/MultiWalletMiddleware.kt
+++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/MultiWalletMiddleware.kt
@@ -41,6 +41,7 @@ class MultiWalletMiddleware {
currenciesRepository.saveAddedBlockchain(it, action.blockchain)
}
store.dispatch(WalletAction.LoadFiatRate(currency = action.blockchain.currency))
+ store.dispatch(WalletAction.LoadWallet(currency = action.blockchain.currency))
}
is WalletAction.MultiWallet.RemoveWallet -> {
val cardId = globalState?.scanNoteResponse?.card?.cardId
diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt
index 6d27122a01..05993a08ef 100644
--- a/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt
+++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/middlewares/WalletMiddleware.kt
@@ -207,7 +207,7 @@ class WalletMiddleware {
val amountToSend = amounts?.find { it.currencySymbol == currency }
?: return WalletAction.Send.ChooseCurrency(amounts)
if (amountToSend.type is AmountType.Token) {
- prepareSendActionForToken(amount, state, selectedWalletData, wallet, walletManager)
+ prepareSendActionForToken(amountToSend, state, selectedWalletData, wallet, walletManager)
} else {
PrepareSendScreen(amountToSend, selectedWalletData.fiatRate, walletManager)
}
@@ -223,7 +223,7 @@ class WalletMiddleware {
}
private fun prepareSendActionForToken(
- amount: Amount?, state: WalletState?, selectedWalletData: WalletData?, wallet: Wallet?,
+ amount: Amount, state: WalletState?, selectedWalletData: WalletData?, wallet: Wallet?,
walletManager: WalletManager?
): PrepareSendScreen {
val coinRate = state?.getWalletData(wallet?.blockchain?.currency)?.fiatRate
diff --git a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt
index da5b7d515e..59e50c8820 100644
--- a/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt
+++ b/app/src/main/java/com/tangem/tap/features/wallet/redux/reducers/WalletReducer.kt
@@ -135,15 +135,14 @@ private fun internalReduce(action: Action, state: AppState): WalletState {
)
)
val wallets = newState.replaceWalletInWallets(walletData)
- val state = if (wallets.any { it.currencyData.status == BalanceStatus.Loading }) {
+ val progressState = if (wallets.any { it.currencyData.status == BalanceStatus.Loading }) {
ProgressState.Loading
} else {
ProgressState.Done
}
newState = newState.copy(
- state = state,
+ state = progressState,
wallets = wallets
-
)
}
is WalletAction.LoadWallet.Failure -> {
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 6517bd7c11..8913acc643 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
@@ -179,7 +179,7 @@ class WalletDetailsFragment : Fragment(R.layout.fragment_wallet_details), StoreS
state.walletAddresses.selectedAddress.exploreUrl,
requireContext()))
}
- iv_qr_code.setImageBitmap(state.walletAddresses.selectedAddress.address.toQrCode())
+ iv_qr_code.setImageBitmap(state.walletAddresses.selectedAddress.shareUrl.toQrCode())
}
}
diff --git a/app/src/main/java/com/tangem/tap/features/wallet/ui/adapters/WalletAdapter.kt b/app/src/main/java/com/tangem/tap/features/wallet/ui/adapters/WalletAdapter.kt
index f8c337d1f1..73083d0e58 100644
--- a/app/src/main/java/com/tangem/tap/features/wallet/ui/adapters/WalletAdapter.kt
+++ b/app/src/main/java/com/tangem/tap/features/wallet/ui/adapters/WalletAdapter.kt
@@ -8,7 +8,9 @@ import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import com.tangem.blockchain.common.Blockchain
import com.tangem.blockchain.common.Token
-import com.tangem.tap.common.extensions.*
+import com.tangem.tap.common.extensions.getColor
+import com.tangem.tap.common.extensions.getIconRes
+import com.tangem.tap.common.extensions.show
import com.tangem.tap.features.wallet.redux.WalletAction
import com.tangem.tap.features.wallet.redux.WalletData
import com.tangem.tap.features.wallet.ui.BalanceStatus
@@ -80,11 +82,8 @@ class WalletAdapter
fun bind(wallet: WalletData) {
view.tv_currency.text = wallet.currencyData.currency
- view.tv_amount.text = wallet.currencyData.amount
- if (view.tv_amount.isEllipsized()) {
- val allowedSize = view.tv_amount.text.length - 4
- view.tv_amount.text = wallet.currencyData.amount?.ellipsizeBeforeSpace(allowedSize)
- }
+ view.tv_amount.text = wallet.currencyData.amount?.takeWhile { !it.isWhitespace() }
+ view.tv_currency_symbol.text = wallet.currencyData.amount?.takeLastWhile { !it.isWhitespace() }
view.tv_amount_fiat.text = wallet.currencyData.fiatAmount
view.tv_exchange_rate.text = wallet.fiatRateString
view.card_wallet.setOnClickListener {
diff --git a/app/src/main/res/layout/fragment_details.xml b/app/src/main/res/layout/fragment_details.xml
index b45e3e92ce..00c0626cba 100644
--- a/app/src/main/res/layout/fragment_details.xml
+++ b/app/src/main/res/layout/fragment_details.xml
@@ -258,48 +258,6 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_security_title" />
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/item_currency_wallet.xml b/app/src/main/res/layout/item_currency_wallet.xml
index 576619305c..d4a2a6dfd2 100644
--- a/app/src/main/res/layout/item_currency_wallet.xml
+++ b/app/src/main/res/layout/item_currency_wallet.xml
@@ -108,17 +108,34 @@
android:ellipsize="end"
android:gravity="end"
android:maxLines="1"
- android:paddingStart="2dp"
- android:paddingEnd="16dp"
+ android:layout_marginStart="2dp"
+ android:layout_marginTop="16dp"
+ android:textColor="@color/darkGray6"
+ android:textSize="17sp"
+ android:textStyle="bold"
+ app:layout_constraintEnd_toStartOf="@id/tv_currency_symbol"
+ app:layout_constraintHorizontal_weight="1"
+ app:layout_constraintStart_toEndOf="@id/tv_currency"
+ app:layout_constraintTop_toTopOf="parent"
+ tools:text="3 588" />
+
+
+ tools:text="BTC" />