I have factory
@AssistedFactory
interface SetNumberUseCaseFactory {
fun create(listener: UpdateFrontData,
exercisedWithSetsDTO: MutableList<ExerciseWithSetNo>,
setEntitiesList: MutableList<Exercise>): SetNumbersUseCase
}
in my viewModel I have:
@HiltViewModel
class TrainingAddViewModel @Inject constructor(
private val trainingRepository: TrainingRepository,
private val state: SavedStateHandle
) : ViewModel(), UpdateFrontData {
...
@Inject
lateinit var setNumberUseCaseFactory : SetNumberUseCaseFactory
lateinit var setNumberUseCase : SetNumbersUseCase
...
init {
setNumberUseCase = setNumberUseCaseFactory.create(this, exercisedWithSetsDTO, setEntitiesList)
}
...
}
and :
class SetNumbersUseCase @AssistedInject constructor(
private val trainingRepository: TrainingRepository,
@Assisted private val listener: UpdateFrontData,
@Assisted private var exercisedWithSetsDTO: MutableList<ExerciseWithSetNo>,
@Assisted private val setEntitiesList: MutableList<Exercise>
) {
...
}
and I get error: kotlin.UninitializedPropertyAccessException: lateinit property setNumberUseCaseFactory has not been initialized
Why SetNumberUseCaseFactory is not injected?