A dúvida é basicamente essa da pergunta.
Usando o ChatGPT consegui realizar o processo por meio da criação de uma classe apartada de Factory dentro do meu arquivo de viewmodel desse jeito e cheguei a fazer algo parecido também em um projeto antigo que estava convertendo do sistema de views para compose para poder passar meu repository para o viewmodel pois precisava do Context pra iniciar o repository:
class ProductDetailsViewModelFactory(val dao:ProductDao, val savedStateHandle: SavedStateHandle):ViewModelProvider.Factory{
override fun <T : ViewModel> create(modelClass: Class<T>): T {
if (modelClass.isAssignableFrom(ProductDetailsViewModel::class.java)) {
return ProductDetailsViewModel(dao = dao, savedStateHandle = savedStateHandle ) as T
}
throw IllegalArgumentException("UnknowViewModel")
}
}
Porém gostaria de confirmar se isso é algo não recomendado. E nesse caso, o porquê.