У меня есть функция для получения данных с сервера и сохранения в базе данных, она отлично работает при первом вызове и получает данные, но во второй раз ничего не делает, не обновляя данные,
getWeatherinforFromRemote :
var mutableLiveData : MutableLiveData<Remote> = MutableLiveData()
call?.enqueue(object : Callback<Remote> {
override fun onResponse(call: Call<Remote>, response: Response<Remote>) {
if (response.isSuccessful) {
modelDataSource.updateWeatherInfo(response.body())
mutableLiveData?.value = response.body()
//have some callback ^
}
}
override fun onFailure(call: Call<Remote>, t: Throwable) {
mutableLiveData?.postValue(null)
}
})
return mutableLiveData
}
ViewModel:
var mutableLiveData : MutableLiveData<Remote>? = MutableLiveData()
constructor(repo : IRepository) : this() {
this.repo = repo
//when first time, in constructor
mutableLiveData = repo.getWeatherinfoFromRemote("london, uk")
}
fun getData() : MutableLiveData<Remote>?{
return mutableLiveData
}
//for the second time im calling this function from activity
fun getWeatherReport(){
mutableLiveData = repo.getWeatherinfoFromRemote("california")
}