From 66ae5c29c1d51ba4f320b819bf21c7b3ab495a61 Mon Sep 17 00:00:00 2001 From: Tangem Date: Tue, 11 Jun 2019 13:36:47 +0300 Subject: [PATCH] Updated on 2026-08-14 --- .../tangem/data/network/CoinmarketApi.java | 3 +- .../tangem/data/network/ServerApiCommon.java | 69 +++++++++---------- 2 files changed, 35 insertions(+), 37 deletions(-) diff --git a/app/src/main/java/com/tangem/data/network/CoinmarketApi.java b/app/src/main/java/com/tangem/data/network/CoinmarketApi.java index 47c370b415..0411ca2100 100644 --- a/app/src/main/java/com/tangem/data/network/CoinmarketApi.java +++ b/app/src/main/java/com/tangem/data/network/CoinmarketApi.java @@ -2,6 +2,7 @@ package com.tangem.data.network; import com.tangem.data.network.model.RateInfoResponse; +import io.reactivex.Observable; import retrofit2.Call; import retrofit2.http.GET; import retrofit2.http.Headers; @@ -10,5 +11,5 @@ import retrofit2.http.Query; public interface CoinmarketApi { @Headers("X-CMC_PRO_API_KEY: f6622117-c043-47a0-8975-9d673ce484de") @GET(Server.ApiCoinmarket.Method.PRICE_CONVERSION) - Call getRateInfo(@Query("amount") int amount, @Query("symbol") String cryptoId); + Observable getRateInfo(@Query("amount") int amount, @Query("symbol") String cryptoId); } \ No newline at end of file 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 02b07ce920..d6c7b315f0 100644 --- a/app/src/main/java/com/tangem/data/network/ServerApiCommon.java +++ b/app/src/main/java/com/tangem/data/network/ServerApiCommon.java @@ -94,42 +94,39 @@ public class ServerApiCommon { public void requestRateInfo(String cryptoId) { CoinmarketApi coinmarketApi = App.Companion.getNetworkComponent().getRetrofitCoinmarketcap().create(CoinmarketApi.class); - Call call = coinmarketApi.getRateInfo(1, cryptoId); - - call.enqueue(new Callback() { - @Override - public void onResponse(@NonNull Call call, @NonNull Response response) { - if (response.code() == 200) { - rateInfoListener.onSuccess(response.body()); - Log.i(TAG, "coinmarketcap onResponse " + response.code()); - } else { - 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) { - rateInfoListener.onFail(String.valueOf(t.getMessage())); - Log.e(TAG, "coinmarketcap onFailure " + t.getMessage()); - } - }); -// coinmarketApi.getRateInfoList() -// .subscribeOn(Schedulers.io()) -// .observeOn(AndroidSchedulers.mainThread()) -// .subscribe(rateInfoModelList -> { -// if (!rateInfoModelList.isEmpty()) { -// for (RateInfoResponse rateInfoMode : rateInfoModelList) { -// if (rateInfoMode.getId().equals(cryptoId)) { -// rateInfoDataListener.onSuccess(rateInfoMode); -// Log.i(TAG, "rateInfoData " + cryptoId + " onResponse " + "200"); -// } -// } -// } else -// Log.e(TAG, "rateInfoData " + cryptoId + " onResponse " + "Empty"); -// }, -// // handle error -// Throwable::printStackTrace); +// Call call = coinmarketApi.getRateInfo(1, cryptoId); +// +// call.enqueue(new Callback() { +// @Override +// public void onResponse(@NonNull Call call, @NonNull Response response) { +// if (response.code() == 200) { +// rateInfoListener.onSuccess(response.body()); +// Log.i(TAG, "coinmarketcap onResponse " + response.code()); +// } else { +// 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) { +// rateInfoListener.onFail(String.valueOf(t.getMessage())); +// Log.e(TAG, "coinmarketcap onFailure " + t.getMessage()); +// } +// }); + coinmarketApi.getRateInfo(1, cryptoId) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(rateInfoResponse -> { + if (rateInfoResponse.getData().getQuote().getUsd().getPrice() != null) { + rateInfoListener.onSuccess(rateInfoResponse); + Log.i(TAG, "coinmarketcap onResponse " + 200); + } else { + rateInfoListener.onFail("Rate info error: wrong response"); + } + }, + // handle error + Throwable::printStackTrace); } /**