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.