Сергей Степаненко
Делаю приложение, в котором используется Room database и Firebase database. Хочу сделать синхронизацию между этими базами. Получаю данные с Firebase асинхронно, но по прошествии 1 минуты клиент отключается от базы и при попытке повторного запроса в базу, вылетает ошибка, пишет что клиент закрыт. Нашел, что если установить листенер, то клиент будет активен до тех пор, пока активен листенер. Устанавливал листенер, внутри него пытался в MutableList добавить данные и после возвратить их, но метод не дожидается пока данные будут занесены в лист и возвращает пустой список. Как можно получить данные и возвратить их? Архитектура приложения MVVM, соответственно вызов получается такой View->ViewModel->Repository->DataSource. Вот в DataSource происходит вызов метода, который должен собрать в лист данные и возвратить
Звучит как проблема с асинхронщиной, типа написал неблокирующее добавление в лист, а потом вернул его до того, как данные пришли