tangem-app-android-audited/app/src/main/java/com/tangem/ui/fragment/LoadedWalletViewModel.kt
2019-06-10 16:02:47 +03:00

42 lines
No EOL
1.3 KiB
Kotlin

package com.tangem.ui.fragment
import androidx.lifecycle.LiveData
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() {
private var serverApiCommon: ServerApiCommon = ServerApiCommon()
private lateinit var ctx: TangemContext
private val rate: MutableLiveData<Float> by lazy {
MutableLiveData<Float>().also {
loadRateInfo()
}
}
fun getRateInfo(): LiveData<Float> {
return rate
}
fun requestRateInfo(ctx: TangemContext) {
this.ctx = ctx
// TODO - move loadRateInfo to CoinEngine
serverApiCommon.requestRateInfo(ctx.blockchain.currency)
}
private fun loadRateInfo() {
serverApiCommon.setRateInfoListener(object: RateInfoListener{
override fun onSuccess(rateInfoResponse: RateInfoResponse?) {
rate.value = rateInfoResponse!!.data!!.quote!!.usd!!.price
}
override fun onFail(message: String?) {
ctx.error = message
}
})
}
}