From 6e856fa70f28791b70a242b08142641a58a2f406 Mon Sep 17 00:00:00 2001 From: Lonami Exo Date: Tue, 11 Oct 2022 21:37:42 +0200 Subject: [PATCH] Use atomic state update in chat view model --- app/src/main/java/dev/lonami/talaria/ui/ChatViewModel.kt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/dev/lonami/talaria/ui/ChatViewModel.kt b/app/src/main/java/dev/lonami/talaria/ui/ChatViewModel.kt index 97880b4..d8057fd 100644 --- a/app/src/main/java/dev/lonami/talaria/ui/ChatViewModel.kt +++ b/app/src/main/java/dev/lonami/talaria/ui/ChatViewModel.kt @@ -6,6 +6,7 @@ import dev.lonami.talaria.model.Message import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow +import kotlinx.coroutines.flow.update class ChatViewModel : ViewModel() { private val _uiState = MutableStateFlow(ChatUiState()) @@ -16,7 +17,10 @@ class ChatViewModel : ViewModel() { } fun sendMessage(message: String) { - _uiState.value.messages.add(Message("You", message)) + _uiState.update { state -> + state.messages.add(Message("You", message)) + state + } } init {