Ошибка Cannot create an instance of class
У меня есть ViewModel, в конструкторе которого есть интерфейс. Реализация этого интерфейса занимается класс WorkoutDataImpl. Всё это связывает hilt.
@HiltViewModel
class AddNewWorkoutViewModel @Inject constructor(
private val contract: Contract,
) : ViewModel(), ButtonSaveContract {
private val inputFieldMap = mutableMapOf<String, String>()
fun addNewWorkout(rowID: String, nameWorkout: String) {
inputFieldMap[rowID] = nameWorkout
}
override fun onButtonSave() {
viewModelScope.launch {
}
}
}
interface Contract{
operator fun invoke(rowID: String, nameWorkout: String): String
}
class WorkoutDataImpl @Inject constructor(): Contract {
override fun invoke(rowID: String, nameWorkout: String): String {
TODO("Not yet implemented")
}
}
@Module
@InstallIn(ViewModelComponent::class)
abstract class ViewModelModule {
@ViewModelScoped
@Binds
abstract fun bindDataRepository(repository: WorkoutDataImpl): Contract
}
Вызов этого ViewModel происходит в конструкторе composable функции:
addNewWorkoutViewModel: AddNewWorkoutViewModel = viewModel()
Почему у меня при запуске приложения, вылетает ошибка:
Cannot create an instance of class com.example...
at androidx.lifecycle.ViewModelProvider$NewInstanceFactory.create(ViewModelProvider.kt:204)
at androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory.create(ViewModelProvider.kt:322)
at androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory.create(ViewModelProvider.kt:304)
at androidx.lifecycle.ViewModelProvider$AndroidViewModelFactory.create(ViewModelProvider.kt:278)
и так далее