Updated on 2026-08-14

This commit is contained in:
Tangem 2019-12-16 12:43:46 +03:00
commit 8c121d541b
19 changed files with 64 additions and 62 deletions

View file

@ -88,7 +88,12 @@ class MainFragment : BaseFragment(), NavigationResultListener, NfcAdapter.Reader
tvNFCHint.text = String.format(getString(R.string.main_screen_scan_card), getString(R.string.main_screen_phone))
// set listeners
fab.setOnClickListener { showMenu(it) }
// ivMenu.setOnClickListener { showMenu(it) }
val toolbar = tb_main
(activity as? AppCompatActivity)?.setSupportActionBar(toolbar)
(activity as? AppCompatActivity)?.supportActionBar?.setDisplayShowTitleEnabled(false)
setCardStoreLink()
}

View file

@ -69,8 +69,6 @@ class VerifyCardFragment : BaseFragment(), NavigationResultListener, NfcAdapter.
super.onViewCreated(view, savedInstanceState)
updateViews()
srlVerifyCard.setOnRefreshListener { srlVerifyCard.isRefreshing = false }
// set listeners
fabMenu.setOnClickListener { showMenu(fabMenu) }

View file

@ -293,9 +293,7 @@ class LoadedWalletFragment : BaseFragment(), NavigationResultListener, NfcAdapte
}
}
serverApiTangem.setArtworkListener(artworkListener)
refresh()
startVerify(lastTag)
}

View file

@ -4,6 +4,7 @@ import android.net.Uri;
import android.text.InputFilter;
import android.util.Log;
import com.tangem.App;
import com.tangem.data.network.ElectrumRequest;
import com.tangem.data.network.ServerApiElectrum;
import com.tangem.tangem_card.data.TangemCard;
@ -71,7 +72,7 @@ public class BtcCashEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
return coinData.getBalanceUnconfirmed() != 0;
return coinData.getBalanceUnconfirmed() != 0 || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -6,6 +6,7 @@ import android.util.Log;
import androidx.annotation.NonNull;
import com.tangem.App;
import com.tangem.data.Blockchain;
import com.tangem.data.network.BinanceApi;
import com.tangem.data.network.Server;
@ -91,7 +92,7 @@ public class BinanceEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
return false;
return App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -117,6 +117,7 @@ public class BtcData extends CoinData {
balanceConfirmed = null;
balanceUnconfirmed = null;
unspentTransactions = null;
hasUnconfirmed = false;
}
public CoinEngine.InternalAmount getBalanceInInternalUnits() {

View file

@ -93,7 +93,7 @@ public class BtcEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
return coinData.getBalanceUnconfirmed() != 0 || coinData.isHasUnconfirmed();
return coinData.getBalanceUnconfirmed() != 0 || coinData.isHasUnconfirmed() || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -105,7 +105,7 @@ public class CardanoData extends CoinData {
}
public CoinEngine.InternalAmount getBalanceInInternalUnits() {
return new CoinEngine.InternalAmount(BigDecimal.valueOf(balance),"Lovelace");
return balance == null ? null : new CoinEngine.InternalAmount(BigDecimal.valueOf(balance),"Lovelace");
}
public void setBalance(Long balance) {

View file

@ -85,7 +85,7 @@ public class CardanoEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
return false;
return App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -4,6 +4,7 @@ import android.net.Uri;
import android.text.InputFilter;
import android.util.Log;
import com.tangem.App;
import com.tangem.data.network.ServerApiInsight;
import com.tangem.data.network.model.InsightResponse;
import com.tangem.data.network.model.InsightUtxo;
@ -67,7 +68,7 @@ public class DucatusEngine extends BtcEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
return coinData.getBalanceUnconfirmed() != 0;
return coinData.getBalanceUnconfirmed() != 0 || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -6,6 +6,7 @@ import android.util.Log;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.google.gson.Gson;
import com.tangem.App;
import com.tangem.Constant;
import com.tangem.data.Blockchain;
import com.tangem.data.network.ServerApiEos;
@ -86,7 +87,7 @@ public class EosEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
return false;
return App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -4,6 +4,7 @@ import android.net.Uri;
import android.text.InputFilter;
import android.util.Log;
import com.tangem.App;
import com.tangem.Constant;
import com.tangem.data.Blockchain;
import com.tangem.data.network.ServerApiInfura;
@ -65,7 +66,7 @@ public class EthEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
return false;
return !coinData.getUnconfirmedTXCount().equals(coinData.getConfirmedTXCount()) || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -76,7 +76,7 @@ public class LtcEngine extends BtcEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
return coinData.getBalanceUnconfirmed() != 0;
return coinData.getBalanceUnconfirmed() != 0 || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -6,6 +6,7 @@ import android.text.InputFilter;
import android.util.Log;
import com.google.common.base.Strings;
import com.tangem.App;
import com.tangem.data.Blockchain;
import com.tangem.data.network.ServerApiInfura;
import com.tangem.data.network.model.InfuraResponse;
@ -73,7 +74,7 @@ public class TokenEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
return false;
return !coinData.getUnconfirmedTXCount().equals(coinData.getConfirmedTXCount()) || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -5,6 +5,7 @@ import android.os.StrictMode;
import android.text.InputFilter;
import android.util.Log;
import com.tangem.App;
import com.tangem.data.Blockchain;
import com.tangem.data.network.ServerApiStellar;
import com.tangem.data.network.StellarRequest;
@ -70,9 +71,7 @@ public class XlmAssetEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
//TODO
return false;//coinData.getBalanceUnconfirmed() != 0;
return App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override

View file

@ -5,6 +5,7 @@ import android.os.StrictMode;
import android.text.InputFilter;
import android.util.Log;
import com.tangem.App;
import com.tangem.data.Blockchain;
import com.tangem.data.network.ServerApiStellar;
import com.tangem.data.network.StellarRequest;
@ -68,9 +69,7 @@ public class XlmEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
//TODO
return false;//coinData.getBalanceUnconfirmed() != 0;
return App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override
@ -98,7 +97,7 @@ public class XlmEngine extends CoinEngine {
@Override
public boolean hasBalanceInfo() {
if (coinData == null) return false;
return coinData.getBalance() != null;
return (coinData.getBalance() != null) || (coinData.isError404()) ;
}

View file

@ -9,6 +9,7 @@ import com.ripple.core.coretypes.uint.UInt32;
import com.ripple.crypto.ecdsa.ECDSASignature;
import com.ripple.encodings.addresses.Addresses;
import com.ripple.utils.HashUtils;
import com.tangem.App;
import com.tangem.data.network.ServerApiRipple;
import com.tangem.data.network.model.RippleResponse;
import com.tangem.tangem_card.data.TangemCard;
@ -61,7 +62,7 @@ public class XrpEngine extends CoinEngine {
@Override
public boolean awaitingConfirmation() {
if (coinData == null) return false;
return coinData.hasUnconfirmed();
return coinData.hasUnconfirmed() || App.pendingTransactionsStorage.hasTransactions(ctx.getCard());
}
@Override
@ -89,11 +90,11 @@ public class XrpEngine extends CoinEngine {
@Override
public boolean hasBalanceInfo() {
if (coinData == null) return false;
return coinData.hasBalanceInfo();
return coinData.hasBalanceInfo() || coinData.isAccountNotFound();
}
public boolean isExtractPossible() {
if (!hasBalanceInfo()) {
if (coinData == null || !coinData.hasBalanceInfo()) {
ctx.setMessage(R.string.loaded_wallet_error_obtaining_blockchain_data);
} else if (!isBalanceNotZero()) {
ctx.setMessage(R.string.general_wallet_empty);
@ -242,7 +243,7 @@ public class XrpEngine extends CoinEngine {
@Override
public Amount getBalance() {
if (!hasBalanceInfo()) return null;
if (coinData == null || !coinData.hasBalanceInfo()) return null;
return convertToAmount(coinData.getBalanceInInternalUnits());
}