diff --git a/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt b/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt index db7e155e92..b2fc8265a1 100644 --- a/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt +++ b/app/src/main/java/com/tangem/ui/fragment/wallet/LoadedWalletFragment.kt @@ -773,7 +773,8 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte } private fun showWarningIfPendingTransactionIsPossible() { - if (ctx.card.signedHashes > 0 && isNewCid(ctx.card.cidDescription)) { + if (ctx.card.signedHashes > 0 && isNewCid(ctx.card.cidDescription) + && ctx.card.signedHashes != ctx.coinData.sentTransactionsCount) { AlertDialog.Builder(context) .setTitle(R.string.dialog_warning) .setMessage(R.string.loaded_wallet_warning_card_signed_transactions) diff --git a/app/src/main/java/com/tangem/wallet/CoinData.java b/app/src/main/java/com/tangem/wallet/CoinData.java index 35b94be391..311624d58b 100644 --- a/app/src/main/java/com/tangem/wallet/CoinData.java +++ b/app/src/main/java/com/tangem/wallet/CoinData.java @@ -54,6 +54,10 @@ public abstract class CoinData { rate = B.getFloat("rate"); if (B.containsKey("rateAlter")) rateAlter = B.getFloat("rateAlter"); + + if (B.containsKey("sentTransactionsCount")) { + sentTransactionsCount = B.getInt("sentTransactionsCount"); + } } public void saveToBundle(Bundle B) { @@ -70,6 +74,10 @@ public abstract class CoinData { B.putBoolean("balanceReceived", balanceReceived); B.putString("validationNodeDescription", validationNodeDescription); + + if (sentTransactionsCount != null) { + B.putInt("sentTransactionsCount", sentTransactionsCount); + } } catch (Exception e) { Log.e("Can't save to bundle ", e.getMessage()); } @@ -148,6 +156,7 @@ public abstract class CoinData { normalFee=null; rate=0f; rateAlter=0f; + sentTransactionsCount = null; } // private AtomicInteger failedBalanceRequestCounter; @@ -191,4 +200,14 @@ public abstract class CoinData { public CoinEngine.Amount minFee = null; public CoinEngine.Amount normalFee = null; public CoinEngine.Amount maxFee = null; + + private Integer sentTransactionsCount = null; + + public Integer getSentTransactionsCount() { + return sentTransactionsCount; + } + + public void setSentTransactionsCount(Integer sentTransactionsCount) { + this.sentTransactionsCount = sentTransactionsCount; + } }