@@ -3,12 +3,18 @@ package crypto.delta.exchange.openexchange.api
33import android.content.Context
44import androidx.lifecycle.MutableLiveData
55import crypto.delta.exchange.openexchange.pojo.DeltaExchangeChartHistoryResponse
6+ import crypto.delta.exchange.openexchange.pojo.DeltaExchangeTickerResponse
67import crypto.delta.exchange.openexchange.pojo.OrderBookResponse
78import crypto.delta.exchange.openexchange.pojo.products.ProductsResponse
9+ import io.reactivex.android.schedulers.AndroidSchedulers
10+ import io.reactivex.disposables.CompositeDisposable
11+ import io.reactivex.observers.DisposableObserver
12+ import io.reactivex.rxkotlin.addTo
13+ import io.reactivex.schedulers.Schedulers
814import retrofit2.Call
915import retrofit2.Callback
1016import retrofit2.Response
11- import java.util.concurrent.TimeUnit
17+
1218
1319class DeltaRepository {
1420 companion object {
@@ -31,10 +37,9 @@ class DeltaRepository {
3137 .create(DeltaExchangeApiEndPoints ::class .java)
3238 }
3339
34- fun getChartHistory (resolution : String , symbol : String ): MutableLiveData <DeltaExchangeChartHistoryResponse ?> {
40+ fun getChartHistory (resolution : String , symbol : String , strFrom : String , strTo : String ): MutableLiveData <DeltaExchangeChartHistoryResponse ?> {
3541 val data: MutableLiveData <DeltaExchangeChartHistoryResponse ?> = MutableLiveData <DeltaExchangeChartHistoryResponse ?>()
36- val currentTime = TimeUnit .MILLISECONDS .toSeconds(System .currentTimeMillis())
37- deltaExchangeApiEndPoints!! .getChartHistory(symbol, resolution, " 1105261585" , currentTime.toString()).enqueue(object :
42+ deltaExchangeApiEndPoints!! .getChartHistory(symbol, resolution, strFrom, strTo).enqueue(object :
3843 Callback <DeltaExchangeChartHistoryResponse ?> {
3944 override fun onResponse (
4045 call : Call <DeltaExchangeChartHistoryResponse ?>? ,
@@ -76,22 +81,48 @@ class DeltaRepository {
7681 return data
7782 }
7883
79- fun getProducts (): MutableLiveData <List <ProductsResponse >> {
84+ fun getProducts (disposables : CompositeDisposable ): MutableLiveData <List <ProductsResponse >> {
8085 val data: MutableLiveData <List <ProductsResponse >> = MutableLiveData <List <ProductsResponse >>()
81- deltaExchangeApiEndPoints!! .getProducts().enqueue(object :
82- Callback <List <ProductsResponse >> {
83- override fun onResponse (call : Call <List <ProductsResponse >>? , response : Response <List <ProductsResponse >>) {
84- if (response.isSuccessful) {
85- data.value = response.body()
86- } else {
86+ deltaExchangeApiEndPoints!! .getProducts()
87+ .subscribeOn(Schedulers .io())
88+ .observeOn(AndroidSchedulers .mainThread())
89+ .subscribeWith(object : DisposableObserver <List <ProductsResponse >>() {
90+ override fun onComplete () {
91+ }
92+
93+ override fun onNext (response : List <ProductsResponse >) {
94+ data.value = response
95+ }
96+
97+ override fun onError (e : Throwable ) {
98+ e.printStackTrace()
8799 data.value = null
88100 }
89- }
90101
91- override fun onFailure (call : Call <List <ProductsResponse >>? , t : Throwable ? ) {
92- data.value = null
93- }
94- })
102+ }).addTo(disposables)
103+ return data
104+ }
105+
106+ fun getProductsData (symbol : String ): MutableLiveData <DeltaExchangeTickerResponse >? {
107+ val data: MutableLiveData <DeltaExchangeTickerResponse > = MutableLiveData <DeltaExchangeTickerResponse >()
108+ deltaExchangeApiEndPoints!! .getTickers24Hrs(symbol)
109+ .enqueue(object :
110+ Callback <DeltaExchangeTickerResponse ?> {
111+ override fun onResponse (
112+ call : Call <DeltaExchangeTickerResponse ?>? ,
113+ response : Response <DeltaExchangeTickerResponse ?>
114+ ) {
115+ if (response.isSuccessful) {
116+ data.value = response.body()
117+ } else {
118+ data.value = null
119+ }
120+ }
121+
122+ override fun onFailure (call : Call <DeltaExchangeTickerResponse ?>? , t : Throwable ? ) {
123+ data.value = null
124+ }
125+ })
95126 return data
96127 }
97128}
0 commit comments