Как передать значение из Service в ViewModel

Имеется Foreground service, в котором происходит прослушивание вебсокета на сервере. Когда приходит сообщение с сервера, посылается broadcast intent, который получает зарегистрированный BroadcastReceiver. Далее нужно сделать следующее:

  1. сохранить в shared preferences (хорошо, это легко делается изнутри onReceive)

и

  1. послать эти данные в определённую ViewModel в случае если приложение активно.

При этом хотелось бы понять именно правильный путь решения проблемы без нарушения data flow.

Есть репозиторий, и как вариант можно было бы в нём определить MutableLiveData и закидывать туда значение, но тогда вопрос как подписать ViewModel на прослушивание этого поля репозитория

Читал про EventBus, но до последнего не хотелось в проект внедрять эту большую либу только для решения этого небольшого частного случая. Если другого выхода не будет, придётся использовать его.

Интересен именно правильный архитектурно метод решения проблемы.


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