hi , It ok to do this in a single launch ? or do we have to use separate launch for repeat on life cylce ?
lifecycleScope.launch {
lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
loginAuthorizationViewModel.onLoginSuccessful.collect {
startActivity(HomeActivity.getDefaultIntent(this@LoginActivity))
finish()
}
}
lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
loginInputValidationViewModel.onPasswordInvalid.collect {
enableViews(true)
et_password.error = it
}
}
lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
loginAuthorizationViewModel.onLoginFailure.collect {
enableViews(true)
showMessage(it.toString())
}
}
lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
loginInputValidationViewModel.onUserNameInvalid.collect {
enableViews(true)
tv_user_name.error = it
}
}
lifecycle.repeatOnLifecycle(Lifecycle.State.STARTED) {
loginInputValidationViewModel.onValidationSuccessful.collect {
loginAuthorizationViewModel.requestLogin(
userName = it.first,
password = it.second
)
}
}