Skip to content

Instantly share code, notes, and snippets.

@JoseAlcerreca
Created May 11, 2021 11:25
Show Gist options
  • Save JoseAlcerreca/80b65b463fc1f095b37566a5b6761eaa to your computer and use it in GitHub Desktop.
Save JoseAlcerreca/80b65b463fc1f095b37566a5b6761eaa to your computer and use it in GitHub Desktop.
class MyViewModel(authManager..., repository...) : ViewModel() {
private val userId: Flow<String?> =
authManager.observeUser().map { user -> user?.id }
val result: StateFlow<Result<Item>> = userId.flatMapLatest { newUserId ->
repository.observeItem(newUserId)
}.stateIn(
scope = viewModelScope,
started = WhileSubscribed(5000),
initialValue = Result.LoadingUser
)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment