Tenho um erro estranho no meu código que pode ser uma limitação do koin, mas não encontrei nenhuma informação sobre isso, então estou perguntando aqui.
Este é meu modelo de visualização:
class LoginViewModel:
BaseViewModel<LoginViewModelContract.State, LoginViewModelContract.Event>() {
private val authProvider: AuthProvider by inject()
...
}
BaseViewModel é uma classe simples que implementa androidx.lifecycle.ViewModel .
O problema aqui é que inject() não pode ser importado pelo koin. Alguém sabe o porquê? Minha configuração do koin está correta, posso injetar instâncias em todas as minhas outras classes, mas não neste viewmodel.
O Intellij mostra a seguinte mensagem de erro:
Referência não resolvida. Nenhum dos seguintes candidatos é aplicável devido à incompatibilidade do tipo de receptor: public inline fun ComponentCallbacks. inject(qualifier: Qualifier? = ..., mode: LazyThreadSafetyMode = ..., noinline parameters: ParametersDefinition? /* = (() → ParametersHolder)? */ = ...): Lazy<TypeVariable(T)> definido em org. koin. android. ext. android
o LoginViewModel precisa implementar a interface KoinComponent