From 7fa19e7bb2a3b8bb07cd26173cfeee8b2d209953 Mon Sep 17 00:00:00 2001 From: Tangem Date: Mon, 10 Jun 2019 16:02:47 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/data/network/ServerApiCommon.java | 8 ++-- .../ui/fragment/LoadedWalletViewModel.kt | 38 ++++++------------- 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/tangem/data/network/ServerApiCommon.java b/app/src/main/java/com/tangem/data/network/ServerApiCommon.java index 05b632e79a..02b07ce920 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiCommon.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiCommon.java @@ -92,7 +92,7 @@ public class ServerApiCommon { } public void requestRateInfo(String cryptoId) { - CoinmarketApi coinmarketApi = App.getNetworkComponent().getRetrofitCoinmarketcap().create(CoinmarketApi.class); + CoinmarketApi coinmarketApi = App.Companion.getNetworkComponent().getRetrofitCoinmarketcap().create(CoinmarketApi.class); Call call = coinmarketApi.getRateInfo(1, cryptoId); @@ -100,17 +100,17 @@ public class ServerApiCommon { @Override public void onResponse(@NonNull Call call, @NonNull Response response) { if (response.code() == 200) { - rateInfoDataListener.onSuccess(response.body()); + rateInfoListener.onSuccess(response.body()); Log.i(TAG, "coinmarketcap onResponse " + response.code()); } else { - rateInfoDataListener.onFail("Rate info error:" + String.valueOf(response.code())); + rateInfoListener.onFail("Rate info error:" + String.valueOf(response.code())); Log.e(TAG, "coinmarketcap onResponse " + response.code()); } } @Override public void onFailure(@NonNull Call call, @NonNull Throwable t) { - rateInfoDataListener.onFail(String.valueOf(t.getMessage())); + rateInfoListener.onFail(String.valueOf(t.getMessage())); Log.e(TAG, "coinmarketcap onFailure " + t.getMessage()); } }); diff --git a/app/src/main/java/com/tangem/ui/fragment/LoadedWalletViewModel.kt b/app/src/main/java/com/tangem/ui/fragment/LoadedWalletViewModel.kt index 70de761bbf..8d59f49b1a 100644 --- a/app/src/main/java/com/tangem/ui/fragment/LoadedWalletViewModel.kt +++ b/app/src/main/java/com/tangem/ui/fragment/LoadedWalletViewModel.kt @@ -5,6 +5,8 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import com.tangem.data.Blockchain import com.tangem.data.network.ServerApiCommon +import com.tangem.data.network.ServerApiCommon.RateInfoListener +import com.tangem.data.network.model.RateInfoResponse import com.tangem.wallet.TangemContext class LoadedWalletViewModel : ViewModel() { @@ -23,34 +25,18 @@ class LoadedWalletViewModel : ViewModel() { fun requestRateInfo(ctx: TangemContext) { this.ctx = ctx // TODO - move loadRateInfo to CoinEngine - val cryptoId: String = when (ctx.blockchain) { - Blockchain.Bitcoin -> "bitcoin" - Blockchain.BitcoinTestNet -> "bitcoin" - Blockchain.Ethereum -> "ethereum" - Blockchain.EthereumTestNet -> "ethereum" - Blockchain.Token -> "ethereum" - Blockchain.NftToken -> "ethereum" - Blockchain.BitcoinCash -> "bitcoin-cash" - Blockchain.Litecoin -> "litecoin" - Blockchain.Rootstock -> "bitcoin" - Blockchain.RootstockToken -> "bitcoin" - Blockchain.Cardano -> "cardano" - Blockchain.Ripple -> "ripple" - Blockchain.Binance -> "binance-coin" - Blockchain.BinanceTestNet -> "binance-coin" - Blockchain.Matic -> "bitcoin" - Blockchain.MaticTestNet -> "bitcoin" - else -> { - throw Exception("Can''t get rate for blockchain " + ctx.blockchainName) - } - } - serverApiCommon.requestRateInfo(cryptoId) + serverApiCommon.requestRateInfo(ctx.blockchain.currency) } private fun loadRateInfo() { - serverApiCommon.setRateInfoListener { - val rate = it.priceUsd.toFloat() - this.rate.value = rate - } + serverApiCommon.setRateInfoListener(object: RateInfoListener{ + override fun onSuccess(rateInfoResponse: RateInfoResponse?) { + rate.value = rateInfoResponse!!.data!!.quote!!.usd!!.price + } + + override fun onFail(message: String?) { + ctx.error = message + } + }) } } \ No newline at end of file