lateinit property viewModelFactory has not been initialized at line 33

lateinit property drillerVMFactory has not been initialized at line 33

Привет. Я инжекчу во фрагмент вьюМодель с помощью AssistedFactory. Ругается на инициализацию, хотя там @Inject. Указано на строку 33 во фрагменте, внизу в примере.

Запутался, подскаюите пожалуйста в чем я не прав.

ViewModel:



    class DrillerViewModel (
        private val drillerUseCases: DrillerUseCases,
        private val state: SavedStateHandle,
    ) : ViewModel() {
    // code of viewModel
    }

    class DrillerViewModelFactory @Inject constructor(
        private val drillerUseCases: DrillerUseCases,
    ) : ViewModelAssistedFactory<DrillerViewModel> {
        override fun create(handle: SavedStateHandle): DrillerViewModel {
            return DrillerViewModel(drillerUseCases, handle)
        }
    }

GenericSavedStaateViewModelFactory:


    class GenericSavedStateViewModelFactory<out V : ViewModel>(
        private val viewModelFactory: ViewModelAssistedFactory<V>,
        owner: SavedStateRegistryOwner,
        defaultArgs: Bundle? = null
    ) : AbstractSavedStateViewModelFactory(owner, defaultArgs) {
        @Suppress("UNCHECKED_CAST")
        override fun <T : ViewModel> create(
            key: String,
            modelClass: Class<T>,
            handle: SavedStateHandle
        ): T {
            return viewModelFactory.create(handle) as T
        }
    }

    interface ViewModelAssistedFactory<T : ViewModel> {
        fun create(handle: SavedStateHandle): T
    }


How I call ViewModel in the Fragment:


     @Inject
        lateinit var drillerVMFactory: DrillerViewModelFactory // here is that line 33(та самая строка 33)
        private val vmDriller: DrillerViewModel by viewModels {
            GenericSavedStateViewModelFactory(drillerVMFactory,this)
        }

        ```

Ответы (0 шт):