diff --git a/app/src/main/java/com/tangem/domain/wallet/eth/EthEngine.java b/app/src/main/java/com/tangem/domain/wallet/eth/EthEngine.java index 876bc8bd17..b6635e395a 100644 --- a/app/src/main/java/com/tangem/domain/wallet/eth/EthEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/eth/EthEngine.java @@ -45,7 +45,7 @@ public class EthEngine extends CoinEngine { } else if (ctx.getCoinData() instanceof EthData) { coinData = (EthData) ctx.getCoinData(); } else { - throw new Exception("Invalid type of Blockchain data for EthEngine"); + throw new Exception("Invalid type of Blockchain data for " + this.getClass().getSimpleName()); } } diff --git a/app/src/main/java/com/tangem/domain/wallet/rsk/RskEngine.java b/app/src/main/java/com/tangem/domain/wallet/rsk/RskEngine.java index 7d34f079cb..b1a83967a1 100644 --- a/app/src/main/java/com/tangem/domain/wallet/rsk/RskEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/rsk/RskEngine.java @@ -28,15 +28,7 @@ public class RskEngine extends EthEngine { private static final String TAG = RskEngine.class.getSimpleName(); public RskEngine(TangemContext ctx) throws Exception { - this.ctx = ctx; - if (ctx.getCoinData() == null) { - coinData = new EthData(); - ctx.setCoinData(coinData); - } else if (ctx.getCoinData() instanceof EthData) { - coinData = (EthData) ctx.getCoinData(); - } else { - throw new Exception("Invalid type of Blockchain data for RskEngine"); - } + super(ctx); } public RskEngine() { @@ -58,10 +50,14 @@ public class RskEngine extends EthEngine { } @Override - public Uri getShareWalletUri() { return Uri.parse(ctx.getCoinData().getWallet()); } + public Uri getShareWalletUri() { + return Uri.parse(ctx.getCoinData().getWallet()); + } @Override - public Uri getShareWalletUriExplorer() { return Uri.parse("https://explorer.rsk.co/address/" + ctx.getCoinData().getWallet()); } + public Uri getShareWalletUriExplorer() { + return Uri.parse("https://explorer.rsk.co/address/" + ctx.getCoinData().getWallet()); + } @Override public SignTask.PaymentToSign constructPayment(Amount amountValue, Amount feeValue, boolean IncFee, String targetAddress) { @@ -138,7 +134,7 @@ public class RskEngine extends EthEngine { throw new Exception("Error in RskEngine - invalid v"); } tx.signature.v = (byte) v; - Log.e(TAG, "RSK_v: " +String.valueOf(v)); + Log.e(TAG, "RSK_v: " + String.valueOf(v)); byte[] txForSend = tx.getEncoded(); notifyOnNeedSendPayment(txForSend); @@ -272,7 +268,7 @@ public class RskEngine extends EthEngine { blockchainRequestsCallbacks.onComplete(false); } else { BigInteger nonce = coinData.getConfirmedTXCount(); - nonce=nonce.add(BigInteger.valueOf(1)); + nonce = nonce.add(BigInteger.valueOf(1)); coinData.setConfirmedTXCount(nonce); ctx.setError(null); blockchainRequestsCallbacks.onComplete(true); diff --git a/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java index f571505f4b..e1064e9e74 100644 --- a/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/rsk/RskTokenEngine.java @@ -34,21 +34,6 @@ public class RskTokenEngine extends TokenEngine { public RskTokenEngine(TangemContext ctx) throws Exception { super(ctx); - if (ctx.getCoinData() == null) { - coinData = new TokenData(); - ctx.setCoinData(coinData); - } else if (ctx.getCoinData() instanceof TokenData) { - coinData = (TokenData) ctx.getCoinData(); - } else if (ctx.getCoinData() instanceof EthData) { - // special case with receive card data substitution from server at the moment - Bundle B=new Bundle(); - ctx.getCoinData().saveToBundle(B); - coinData = new TokenData(); - coinData.loadFromBundle(B); - ctx.setCoinData(coinData); - } else { - throw new Exception("Invalid type of Blockchain data for RskTokenEngine"); - } } public RskTokenEngine() { diff --git a/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java b/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java index dd6e5fb76f..08a1398551 100644 --- a/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java +++ b/app/src/main/java/com/tangem/domain/wallet/token/TokenEngine.java @@ -55,7 +55,7 @@ public class TokenEngine extends CoinEngine { coinData.loadFromBundle(B); ctx.setCoinData(coinData); } else { - throw new Exception("Invalid type of Blockchain data for TokenEngine"); + throw new Exception("Invalid type of Blockchain data for " + this.getClass().getSimpleName()); } } diff --git a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt index 99e9d96208..30565a6493 100644 --- a/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt +++ b/app/src/main/java/com/tangem/presentation/fragment/LoadedWallet.kt @@ -262,7 +262,14 @@ class LoadedWallet : Fragment(), NfcAdapter.ReaderCallback, CardProtocol.Notific val rateInfoDataListener: ServerApiCommon.RateInfoDataListener = object : ServerApiCommon.RateInfoDataListener { override fun onSuccess(rateInfoResponse: RateInfoResponse?){ - ctx.coinData!!.rate = rateInfoResponse!!.data!!.quote!!.usd!!.price!! + try { + ctx.coinData!!.rate = rateInfoResponse!!.data!!.quote!!.usd!!.price!! + } + catch (e : java.lang.Exception) { + e.printStackTrace() + ctx.error = "Unknown response from CoinMarketCap" + } + } override fun onFail(message: String?){