Как передать значение из Service в ViewModel
Имеется Foreground service, в котором происходит прослушивание вебсокета на сервере. Когда приходит сообщение с сервера, посылается broadcast intent, который получает зарегистрированный BroadcastReceiver. Далее нужно сделать следующее:
- сохранить в shared preferences (хорошо, это легко делается изнутри onReceive)
и
- послать эти данные в определённую ViewModel в случае если приложение активно.
При этом хотелось бы понять именно правильный путь решения проблемы без нарушения data flow.
Есть репозиторий, и как вариант можно было бы в нём определить MutableLiveData и закидывать туда значение, но тогда вопрос как подписать ViewModel на прослушивание этого поля репозитория
Читал про EventBus, но до последнего не хотелось в проект внедрять эту большую либу только для решения этого небольшого частного случая. Если другого выхода не будет, придётся использовать его.
Интересен именно правильный архитектурно метод решения проблемы.