oday
08/27/2022, 9:18 PM@AndroidEntryPoint
class MainActivity : ComponentActivity() {
@Inject
lateinit var prefs: SharedPreferences
private val viewModel: MainViewModel by viewModels()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
lifecycleScope.launch {
viewModel.state.collect { uiState ->
when (uiState) {
is MainViewModel.MainState.Loading -> {
Log.d("MainState", "Loading...")
}
is MainViewModel.MainState.Success -> {
setContent {
uiState.user?.let { Home(user = it) }
}
}
is MainViewModel.MainState.Error -> {
setContent {
Authentication()
}
}
}
}
}
}
}
oday
08/27/2022, 9:19 PMStylianos Gakis
08/27/2022, 10:28 PMsetContent
calls looks very odd to me, I don’t think this is what you want to do. One setContent
, with this switch inside of it.
This is an image I saw recently which shows how much setContent
is doing. I could be wrong of course but I don’t think you want to do this conditionally instead of just once.oday
08/28/2022, 5:13 PModay
08/28/2022, 5:13 PM