Updated on 2026-08-14

This commit is contained in:
Tangem 2019-06-11 13:36:47 +03:00
parent 66ee693070
commit 66ae5c29c1
2 changed files with 35 additions and 37 deletions

View file

@ -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<RateInfoResponse> getRateInfo(@Query("amount") int amount, @Query("symbol") String cryptoId);
Observable<RateInfoResponse> getRateInfo(@Query("amount") int amount, @Query("symbol") String cryptoId);
}

View file

@ -94,42 +94,39 @@ public class ServerApiCommon {
public void requestRateInfo(String cryptoId) {
CoinmarketApi coinmarketApi = App.Companion.getNetworkComponent().getRetrofitCoinmarketcap().create(CoinmarketApi.class);
Call<RateInfoResponse> call = coinmarketApi.getRateInfo(1, cryptoId);
call.enqueue(new Callback<RateInfoResponse>() {
@Override
public void onResponse(@NonNull Call<RateInfoResponse> call, @NonNull Response<RateInfoResponse> 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<RateInfoResponse> 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<RateInfoResponse> call = coinmarketApi.getRateInfo(1, cryptoId);
//
// call.enqueue(new Callback<RateInfoResponse>() {
// @Override
// public void onResponse(@NonNull Call<RateInfoResponse> call, @NonNull Response<RateInfoResponse> 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<RateInfoResponse> 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);
}
/**