diff --git a/app/src/main/java/com/tangem/data/network/ServerApiAdalite.java b/app/src/main/java/com/tangem/data/network/ServerApiAdalite.java index b057787494..45af4bafe4 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiAdalite.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiAdalite.java @@ -69,8 +69,9 @@ public class ServerApiAdalite { addressCall.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -81,6 +82,7 @@ public class ServerApiAdalite { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } @@ -92,8 +94,9 @@ public class ServerApiAdalite { outputsCall.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -104,6 +107,7 @@ public class ServerApiAdalite { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } @@ -115,8 +119,9 @@ public class ServerApiAdalite { sendCall.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -127,6 +132,7 @@ public class ServerApiAdalite { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } @@ -134,6 +140,7 @@ public class ServerApiAdalite { break; default: + requestsCount--; responseListener.onFail(method, "undeclared method"); Log.e(TAG, "requestData " + method + " onFailure - undeclared method"); break; diff --git a/app/src/main/java/com/tangem/data/network/ServerApiInfura.java b/app/src/main/java/com/tangem/data/network/ServerApiInfura.java index a477364f12..ddb9a15cfe 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiInfura.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiInfura.java @@ -84,8 +84,9 @@ public class ServerApiInfura { call.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -96,6 +97,7 @@ public class ServerApiInfura { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } diff --git a/app/src/main/java/com/tangem/data/network/ServerApiInsight.java b/app/src/main/java/com/tangem/data/network/ServerApiInsight.java index 7771a2d2f2..efac0b93b7 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiInsight.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiInsight.java @@ -64,8 +64,9 @@ public class ServerApiInsight { call.enqueue(new Callback>() { @Override public void onResponse(@NonNull Call> call, @NonNull Response> response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -76,6 +77,7 @@ public class ServerApiInsight { @Override public void onFailure(@NonNull Call> call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } @@ -108,8 +110,9 @@ public class ServerApiInsight { call.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -120,6 +123,7 @@ public class ServerApiInsight { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } diff --git a/app/src/main/java/com/tangem/data/network/ServerApiMatic.java b/app/src/main/java/com/tangem/data/network/ServerApiMatic.java index 8686efa7ef..32adf0aa9e 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiMatic.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiMatic.java @@ -84,8 +84,9 @@ public class ServerApiMatic { call.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -96,6 +97,7 @@ public class ServerApiMatic { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } diff --git a/app/src/main/java/com/tangem/data/network/ServerApiRipple.java b/app/src/main/java/com/tangem/data/network/ServerApiRipple.java index e4c82722fb..85563c0df4 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiRipple.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiRipple.java @@ -135,8 +135,9 @@ public class ServerApiRipple { call.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -147,6 +148,7 @@ public class ServerApiRipple { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } diff --git a/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java b/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java index 198f5cc6b0..fc9195d06b 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiRootstock.java @@ -84,8 +84,9 @@ public class ServerApiRootstock { call.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; + if (response.code() == 200) { - requestsCount--; responseListener.onSuccess(method, response.body()); Log.i(TAG, "requestData " + method + " onResponse " + response.code()); } else { @@ -96,6 +97,7 @@ public class ServerApiRootstock { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; responseListener.onFail(method, String.valueOf(t.getMessage())); Log.e(TAG, "requestData " + method + " onFailure " + t.getMessage()); } diff --git a/app/src/main/java/com/tangem/data/network/ServerApiSoChain.java b/app/src/main/java/com/tangem/data/network/ServerApiSoChain.java index 0c73849056..e147a17f12 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiSoChain.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiSoChain.java @@ -164,9 +164,9 @@ public class ServerApiSoChain { call.enqueue(new Callback() { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { + requestsCount--; Log.i(TAG, "requestAddressBalance onResponse " + response.code()); if (response.code() == 200) { - requestsCount--; txInfoListener.onSuccess(response.body()); } else { txInfoListener.onFail(String.valueOf(response.code())); @@ -175,6 +175,7 @@ public class ServerApiSoChain { @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { + requestsCount--; Log.e(TAG, "requestAddressBalance onFailure " + t.getMessage()); txInfoListener.onFail(String.valueOf(t.getMessage())); } diff --git a/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java b/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java index 818006bcca..d1f8a9564e 100644 --- a/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java +++ b/app/src/main/java/com/tangem/wallet/btc/BtcEngine.java @@ -641,11 +641,7 @@ public class BtcEngine extends CoinEngine { Log.e(TAG, "FAIL BLOCKCYPHER_ADDRESS Exception"); } - if (serverApiBlockcypher.isRequestsSequenceCompleted()) { - checkPending(blockchainRequestsCallbacks); - } else { - blockchainRequestsCallbacks.onProgress(); - } + checkPending(blockchainRequestsCallbacks); } public void onSuccess(String method, BlockcypherFee blockcypherFee) { diff --git a/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java b/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java index 6cf578abe3..8f46e4b8d0 100644 --- a/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java +++ b/app/src/main/java/com/tangem/wallet/cardano/CardanoEngine.java @@ -192,7 +192,7 @@ public class CardanoEngine extends CoinEngine { @Override public boolean checkNewTransactionAmount(Amount amount) { - if( BuildConfig.FLAVOR==Constant.FLAVOR_TANGEM_CARDANO ) { + if (BuildConfig.FLAVOR == Constant.FLAVOR_TANGEM_CARDANO) { return true; } if (coinData == null) return false; @@ -586,7 +586,8 @@ public class CardanoEngine extends CoinEngine { Amount feeDummy = new Amount(new BigDecimal(0.2).setScale(getDecimals(), RoundingMode.DOWN), getFeeCurrency()); try { OnNeedSendTransaction onNeedSendTransactionBackup = onNeedSendTransaction; - onNeedSendTransaction =(tx)->{}; // empty function to bypass exception + onNeedSendTransaction = (tx) -> { + }; // empty function to bypass exception SignTask.TransactionToSign ttsDummy = constructTransaction(amount, feeDummy, true, targetAddress); byte[] txForSendDummy = ttsDummy.onSignCompleted(new byte[64]); @@ -632,8 +633,8 @@ public class CardanoEngine extends CoinEngine { } } catch (Exception e) { - e.printStackTrace(); Log.e(TAG, "FAIL ADALITE_ADDRESS Exception"); + e.printStackTrace(); } if (serverApiAdalite.isRequestsSequenceCompleted()) { @@ -658,6 +659,7 @@ public class CardanoEngine extends CoinEngine { } } catch (Exception e) { + Log.e(TAG, "FAIL ADALITE_UNSPENT_OUTPUTS Exception"); e.printStackTrace(); } @@ -665,7 +667,6 @@ public class CardanoEngine extends CoinEngine { blockchainRequestsCallbacks.onComplete(!ctx.hasError()); } else { blockchainRequestsCallbacks.onProgress(); - Log.e(TAG, "FAIL ADALITE_UNSPENT_OUTPUTS Exception"); } } @@ -678,9 +679,13 @@ public class CardanoEngine extends CoinEngine { @Override public void onFail(String method, String message) { - Log.i(TAG, "onFail: " + method + " " + message); + Log.e(TAG, "onFail: " + method + " " + message); ctx.setError(message); - blockchainRequestsCallbacks.onComplete(false); + if (serverApiAdalite.isRequestsSequenceCompleted()) { + blockchainRequestsCallbacks.onComplete(false); + } else { + blockchainRequestsCallbacks.onProgress(); + } } }; @@ -752,10 +757,10 @@ public class CardanoEngine extends CoinEngine { @Override public void onFail(String method, String message) { - if (!serverApiAdalite.isRequestsSequenceCompleted()) { - ctx.setError(message); - blockchainRequestsCallbacks.onComplete(false); - } + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + blockchainRequestsCallbacks.onComplete(false); + } }; serverApiAdalite.setResponseListener(responseListener); @@ -769,7 +774,9 @@ public class CardanoEngine extends CoinEngine { } @Override - public int pendingTransactionTimeoutInSeconds() { return 60; } + public int pendingTransactionTimeoutInSeconds() { + return 60; + } private String CalculateTxHash(String tx) throws CborException { Array txArray = (Array) CborDecoder.decode(BTCUtils.fromHex(tx)).get(0); diff --git a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java index fa48a81bd5..e64d02975b 100644 --- a/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java +++ b/app/src/main/java/com/tangem/wallet/ducatus/DucatusEngine.java @@ -562,7 +562,7 @@ public class DucatusEngine extends BtcEngine { @Override public void onFail(String method, String message) { - if (!serverApiInsight.isRequestsSequenceCompleted()) { + if (!serverApiInsight.isRequestsSequenceCompleted()) { //TODO: rework request sequence ctx.setError(message); blockchainRequestsCallbacks.onComplete(false); } diff --git a/app/src/main/java/com/tangem/wallet/eth/EthEngine.java b/app/src/main/java/com/tangem/wallet/eth/EthEngine.java index d0d50fa172..6c20030578 100644 --- a/app/src/main/java/com/tangem/wallet/eth/EthEngine.java +++ b/app/src/main/java/com/tangem/wallet/eth/EthEngine.java @@ -509,9 +509,12 @@ public class EthEngine extends CoinEngine { @Override public void onFail(String method, String message) { - if (!serverApiInfura.isRequestsSequenceCompleted()) { - ctx.setError(message); + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + if (serverApiInfura.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(false); + } else { + blockchainRequestsCallbacks.onProgress(); } } }; diff --git a/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java b/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java index e57578e274..01b0c78627 100644 --- a/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java +++ b/app/src/main/java/com/tangem/wallet/ltc/LtcEngine.java @@ -418,8 +418,8 @@ public class LtcEngine extends BtcEngine { change = change - fees; } - final long amountFinal=amount; - final long changeFinal=change; + final long amountFinal = amount; + final long changeFinal = change; if (amount + fees > fullAmount) { throw new CardProtocol.TangemException_WrongAmount(String.format("Balance (%d) < change (%d) + amount (%d)", fullAmount, change, amount)); @@ -427,7 +427,7 @@ public class LtcEngine extends BtcEngine { final byte[][] txForSign = new byte[unspentOutputs.size()][]; final byte[][] bodyDoubleHash = new byte[unspentOutputs.size()][]; - final byte[][] bodyHash= new byte[unspentOutputs.size()][]; + final byte[][] bodyHash = new byte[unspentOutputs.size()][]; for (int i = 0; i < unspentOutputs.size(); ++i) { txForSign[i] = BTCUtils.buildTXForSign(myAddress, targetAddress, myAddress, unspentOutputs, i, amount, change); @@ -439,13 +439,14 @@ public class LtcEngine extends BtcEngine { @Override public boolean isSigningMethodSupported(TangemCard.SigningMethod signingMethod) { - return signingMethod==TangemCard.SigningMethod.Sign_Hash || signingMethod==TangemCard.SigningMethod.Sign_Raw; + return signingMethod == TangemCard.SigningMethod.Sign_Hash || signingMethod == TangemCard.SigningMethod.Sign_Raw; } @Override public byte[][] getHashesToSign() throws Exception { - byte[][] dataForSign=new byte[unspentOutputs.size()][]; - if (txForSign.length > 10) throw new Exception("To much hashes in one transaction!"); + byte[][] dataForSign = new byte[unspentOutputs.size()][]; + if (txForSign.length > 10) + throw new Exception("To much hashes in one transaction!"); for (int i = 0; i < unspentOutputs.size(); ++i) { dataForSign[i] = bodyDoubleHash[i]; } @@ -484,7 +485,7 @@ public class LtcEngine extends BtcEngine { unspentOutputs.get(i).scriptForBuild = DerEncodingUtil.packSignDer(r, s, pbKey); } - byte[] txForSend=BTCUtils.buildTXForSend(targetAddress, myAddress, unspentOutputs, amountFinal, changeFinal); + byte[] txForSend = BTCUtils.buildTXForSend(targetAddress, myAddress, unspentOutputs, amountFinal, changeFinal); notifyOnNeedSendTransaction(txForSend); return txForSend; } @@ -641,15 +642,13 @@ public class LtcEngine extends BtcEngine { } } } catch (Exception e) { - e.printStackTrace(); Log.e(TAG, "FAIL BLOCKCYPHER_ADDRESS Exception"); + e.printStackTrace(); + ctx.setError(e.getMessage()); + blockchainRequestsCallbacks.onComplete(false); } - if (serverApiBlockcypher.isRequestsSequenceCompleted()) { - checkPending(blockchainRequestsCallbacks); - } else { - blockchainRequestsCallbacks.onProgress(); - } + checkPending(blockchainRequestsCallbacks); } public void onSuccess(String method, BlockcypherFee blockcypherFee) { diff --git a/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java b/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java index b6ebf6c762..6568157b56 100644 --- a/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/matic/MaticTokenEngine.java @@ -1,6 +1,7 @@ package com.tangem.wallet.matic; import android.net.Uri; +import android.util.Log; import com.tangem.data.Blockchain; import com.tangem.data.network.ServerApiMatic; @@ -168,9 +169,12 @@ public class MaticTokenEngine extends TokenEngine { @Override public void onFail(String method, String message) { - if (!serverApiMatic.isRequestsSequenceCompleted()) { - ctx.setError(message); + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + if (serverApiMatic.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(false); + } else { + blockchainRequestsCallbacks.onProgress(); } } }; diff --git a/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java b/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java index c8a78b7650..28d86ebbdf 100644 --- a/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/nftToken/NftTokenEngine.java @@ -277,10 +277,9 @@ public class NftTokenEngine extends CoinEngine { @Override public void onFail(String method, String message) { - if (!serverApiInfura.isRequestsSequenceCompleted()) { - ctx.setError(message); - blockchainRequestsCallbacks.onComplete(false); - } + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + blockchainRequestsCallbacks.onComplete(false); } }; serverApiInfura.setResponseListener(responseListener); diff --git a/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java b/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java index c1eee2ed17..d968f05e93 100644 --- a/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java +++ b/app/src/main/java/com/tangem/wallet/rsk/RskEngine.java @@ -111,9 +111,12 @@ public class RskEngine extends EthEngine { @Override public void onFail(String method, String message) { - if (!serverApiRootstock.isRequestsSequenceCompleted()) { - ctx.setError(message); + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + if (serverApiRootstock.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(false); + } else { + blockchainRequestsCallbacks.onProgress(); } } }; diff --git a/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java b/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java index cf07726bb0..0f54555f16 100644 --- a/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/rsk/RskTokenEngine.java @@ -140,9 +140,12 @@ public class RskTokenEngine extends TokenEngine { @Override public void onFail(String method, String message) { - if (!serverApiRootstock.isRequestsSequenceCompleted()) { - ctx.setError(message); + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + if (serverApiRootstock.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(false); + } else { + blockchainRequestsCallbacks.onProgress(); } } }; diff --git a/app/src/main/java/com/tangem/wallet/token/TokenEngine.java b/app/src/main/java/com/tangem/wallet/token/TokenEngine.java index 4021a462f3..fdb57d5e2f 100644 --- a/app/src/main/java/com/tangem/wallet/token/TokenEngine.java +++ b/app/src/main/java/com/tangem/wallet/token/TokenEngine.java @@ -708,9 +708,12 @@ public class TokenEngine extends CoinEngine { @Override public void onFail(String method, String message) { - if (!serverApiInfura.isRequestsSequenceCompleted()) { - ctx.setError(message); + Log.e(TAG, "onFail: " + method + " " + message); + ctx.setError(message); + if (serverApiInfura.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(false); + } else { + blockchainRequestsCallbacks.onProgress(); } } }; diff --git a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java index 99a2474c86..d10cb59f62 100644 --- a/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java +++ b/app/src/main/java/com/tangem/wallet/xrp/XrpEngine.java @@ -497,7 +497,7 @@ public class XrpEngine extends CoinEngine { @Override public void onFail(String method, String message) { - Log.i(TAG, "onFail: " + method + " " + message); + Log.e(TAG, "onFail: " + method + " " + message); ctx.setError(message); if (serverApiRipple.isRequestsSequenceCompleted()) { blockchainRequestsCallbacks.onComplete(false);