Hovhannes
10/01/2021, 5:59 AM@HiltViewModel
class MainVieModel @Inject constructor(private val mainRepository: MainRepository, private val networkHelper: NetworkHelper) :ViewModel(){
private val _urls=MutableLiveData<Resource<JsonData>>()
val urls:LiveData<Resource<JsonData>>
get() = _urls
private val _vbtopurl= MutableLiveData<Resource<VbtopUrl>>()
val vbtopurl:LiveData<Resource<VbtopUrl>>
get() = _vbtopurl
fun fetchVbtopUrls(path:String){
// mainRepository.getRetrofit(path)
viewModelScope.launch{
_vbtopurl.postValue(Resource.loading(null))
if(networkHelper.isNetworkConnected()){
mainRepository.getVbtop(path).let {
if(it.isSuccessful){
_vbtopurl.postValue(Resource.success(it.body()))
}else{
_vbtopurl.postValue(Resource.error(it.errorBody().toString(),null))
}
}
}else{
_vbtopurl.postValue(Resource.error("No internet connection", null))
}
}
}
fun fetchUrls(path:String){
viewModelScope.launch{
_urls.postValue(Resource.loading(null))
if(networkHelper.isNetworkConnected()){
mainRepository.getUrls(path).let {
if(it.isSuccessful){
_urls.postValue(Resource.success(it.body()))
}else{
_urls.postValue(Resource.error(it.errorBody().toString(),null))
}
}
}else{
_urls.postValue(Resource.error("No internet connection", null))
}
}
}
}