Как правильно внедрять ViewModel в Activity с помощью dagger2

Никак не могу найти правильное решение своего вопроса: мне нужно внедрять ViewModel в Activity, при этом непосредственно во ViewModel мне нужно ещё внедрять SavedStateHandle и репозиторий. Нашёл 2 варианта решения проблемы:

  1. Создание кастомной ViewModelProviderFactory, наследующейся от ViewModelProvider.NewInstanceFactory
  2. Использование аннотации @HiltViewModel

При использовании второй невозможно выполнить внедрение ViewModel в Activity при помощи аннотации @Inject, необходимо пользоваться ViewModelProvider

Вопрос - что из этого правильное решение? Или есть ещё какие-то решения этой проблемы? Не хочется костылить или писать плохой код.


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