Connecting The Dots
Описать как сделать что-то на Dagger может быть долго и непонятно, поэтому отправлю вас сразу в статью в которой описывается руководство как реализовать связку
ViewModel + SavedStateHandle + Dagger 2. Почему это важно изучить?
ViewModel не сохраняет своё состояние при пересоздании процесса, а только при изменении конфигурации, поэтому нужно использовать SavedStateHandleПодробнее о сохранении состояния ViewModel ➡️ здесь