Kulwinder Singh
12/11/2019, 4:16 AMViewModelUser.kt i'm updating user and doing other suspending stuff.
viewModelScope.launch {
Firestore.setUser(updatedUser)
//DoingMoreSuspendingWork
}
inside MainViewModel(MainActivity's) i'm listening for user object from Firestore in realtime(i have converted Firestore snapshot listener to livedata)
val myLeaderboard = _user.switchMap { user: User? ->
//here is problem
liveData{
}
}
Now the problem is that above switchMap block should be called immedietly after Firestore.setUser(updatedUser) but it is called after //DoingMoreSuspendingWork.
because i have checked while converting Firestore snapshot listener to LiveData that when Firestore.setUser(updatedUser) is called then snapshot listener is immedietly called but
it don't updates live data's value until //DoingMoreSuspendingWork completes.