Skip to content

Commit 5f6e3a2

Browse files
committed
lazy init
1 parent 0ac34c3 commit 5f6e3a2

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

feature/authentication/src/main/java/pseudoankit/droid/authentication/di/LoginModule.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ internal object LoginModule : BaseKoinModule() {
1313
get() = module {
1414
factory { LoginUserUseCase(get()) }
1515

16-
viewModel { LoginViewModel(get(), get()) }
16+
viewModel { LoginViewModel(inject(), get()) }
1717
}
1818
}

feature/authentication/src/main/java/pseudoankit/droid/authentication/presentation/login/LoginViewModel.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import pseudoankit.droid.coreui.util.extension.postSideEffect
1313
import pseudoankit.droid.coreui.util.extension.setState
1414

1515
internal class LoginViewModel(
16-
private val loginUserUseCase: LoginUserUseCase,
16+
private val loginUserUseCase: Lazy<LoginUserUseCase>,
1717
private val dispatcherProvider: DispatcherProvider
1818
) : ViewModel(),
1919
ContainerHost<LoginUiState.State, LoginUiState.SideEffect> {
@@ -42,13 +42,15 @@ internal class LoginViewModel(
4242
fun onLogin() = launch(dispatcherProvider.io) {
4343
setState { copy(isLoginInProgress = true) }
4444

45-
when (val result = loginUserUseCase(state)) {
45+
when (val result = loginUserUseCase.value(state)) {
4646
is LoginUserUseCase.Result.EmailError -> setState {
4747
copy(emailConfig = emailConfig.copy(errorMessage = result.message))
4848
}
49+
4950
is LoginUserUseCase.Result.PasswordError -> setState {
5051
copy(passwordConfig = passwordConfig.copy(errorMessage = result.message))
5152
}
53+
5254
is LoginUserUseCase.Result.Error -> TODO()
5355
LoginUserUseCase.Result.Success -> postSideEffect {
5456
LoginUiState.SideEffect.NavigateToHomeScreen

0 commit comments

Comments
 (0)