Skip to content

Commit aa2f317

Browse files
authored
Merge pull request #437 from Goooler/dont-expose-mutable-state-flows
Avoid exposing mutable state flows in UI
2 parents 0990899 + 9a5613b commit aa2f317

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

AdaptiveUiCodelab/app/src/main/java/com/example/reply/ui/ReplyHomeViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ import com.example.reply.data.EmailsRepository
2323
import com.example.reply.data.EmailsRepositoryImpl
2424
import kotlinx.coroutines.flow.MutableStateFlow
2525
import kotlinx.coroutines.flow.StateFlow
26+
import kotlinx.coroutines.flow.asStateFlow
2627
import kotlinx.coroutines.flow.catch
2728
import kotlinx.coroutines.launch
2829

2930
class ReplyHomeViewModel(private val emailsRepository: EmailsRepository = EmailsRepositoryImpl()): ViewModel() {
3031

3132
// UI state exposed to the UI
3233
private val _uiState = MutableStateFlow(ReplyHomeUIState(loading = true))
33-
val uiState: StateFlow<ReplyHomeUIState> = _uiState
34+
val uiState: StateFlow<ReplyHomeUIState> = _uiState.asStateFlow()
3435

3536
init {
3637
observeEmails()

ThemingCodelab/app/src/main/java/com/example/reply/ui/ReplyHomeViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@ import com.example.reply.data.Email
2222
import com.example.reply.data.LocalEmailsDataProvider
2323
import kotlinx.coroutines.flow.MutableStateFlow
2424
import kotlinx.coroutines.flow.StateFlow
25+
import kotlinx.coroutines.flow.asStateFlow
2526
import kotlinx.coroutines.flow.catch
2627
import kotlinx.coroutines.launch
2728

2829
class ReplyHomeViewModel : ViewModel() {
2930

3031
// UI state exposed to the UI
3132
private val _uiState = MutableStateFlow(ReplyHomeUIState(loading = true))
32-
val uiState: StateFlow<ReplyHomeUIState> = _uiState
33+
val uiState: StateFlow<ReplyHomeUIState> = _uiState.asStateFlow()
3334

3435
init {
3536
initEmailList()

0 commit comments

Comments
 (0)