@Inject lateinit var catalogUseCase: CatalogUseCase override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) app.component.inject(this) val factory = object : ViewModelProvider.Factory { override fun create(modelClass: Class): T { return CoursesViewModel(catalogUseCase) as T } } coursesViewModel = ViewModelProvider(this, factory).get(CoursesViewModel::class.java) }