#kotlin #flow
Flow в Kotlin — очень крутой API, который, по мнению Google, является рекомендуемым подходом для передачи данных между слоями архитектуры в приложении наряду с suspend-функциями. Спорить не буду, так как сам давно использую
Flow на всех уровнях приложения, постепенно вытесняя LiveData из проекта.Одной из реализаций
Flow является callbackFlow, который позвляет делать обёртки для данных, поставляемых через callback. Это очень удобно: например, можно оборачивать различные функции из Firebase или же встроенные в Adroid сервисы.Автор статьи описал реализацию
callbackFlow с обёрткой над получением информации о геолокации пользователя. Вышло более чем хорошо: пользователю данного сервиса остаётся лишь подписаться на изменения Flow и не заботиться о работе того, что находится под капотом. Кроме того, автор коснулся вопросов, связанных с «шэрингом» этого
Flow между разными пользователями без дублирования подписок. Рекомендую статью, если хотите сделать свой код ещё более качественным с
Flow.💪