доменной области от которого зависят многие экраны, например, основная информация о текущем пользователе. На некоторых экранах нужно этот объект во-первых получить, во-вторых иметь возможность обновить, в третьих, если информация была обновлена кем-то ещё, получить реактивно актуальное значение.
Вроде бы логично завести в скоупе приложения некий BehaviorSubject с этим объектом и подписываться при старте экрана. Но, вызывает замешательство, как в этом случае реализовать обновление. Видимые мною варианты:
1. Дернуть метод загрузки актуальных данных (в репозитории/интеракторе, не суть), который, ничего не возвращая, заэмитит полученное значение в Subject. Т.е. просто дёргаем метод и дальше надеемся, что значение прилетит в сабжект на который при старте экрана произошла подписка.
2. Отписаться от Subject, получить актуальное значение нормальным способом, попутно также заэмитив в Subject для всех остальных подписчиков, подписаться на Subject обратно сделав .drop(1)
Вроде довольно типичная для андроида ситуация, наверняка кто-нибудь сталкивался. Как делаете?
.drop(1) зачем?
Обсуждают сегодня