сервисе ?
                      
                      
                      
                      
                      
                      Есть сервис по обновлению локальной бд, там происходит множество запросов в сеть и соответственно обработка 
                      
                      
                      отсутствие соединения на первом плане.
                      
                      
                      
                      
                      
                      Решение было очевидно, я зарегестрировал слушателя на отсутствие и присутствие сети, ловил исключения в catch,
                      
                      
                      запускал пустой цикл while который проверял boolean состояния сети, если сеть появилась - то работаем дальше.
                      
                      
                      
                      
                      
                      
                      
                      
                      Но вот проблема которую нашёл - когда в блоке catch опять происходит сбой сети то перехватывать уже некому, соответственно  вылетает в глобальный обработчик исключений.
                      
                      
                      
                      
                      
                      Не понятно как быть, скорее всего мой вариант не верный и возможно имеется более современный подход.
                      
                      
                    
Я бы броадкастом сделал
tail rec fun напиши просто
Сеть может отвалиться в любой момент после проверки ее наличия и в процессе работы с сетью. Поэтому проверять ее наличие в надежде, что дальше все будет хорошо, бессмысленно. Можно просто периодически пытаться делать необходимый сетевой запрос.
Видишь в андроид коде пустой цикл while - все. Дальше не читаем. Расстрелять!
да и вне андроида, тащемта, тоже
А если сеть появилась и тут же пропала, то что делаем? 😏
У меня есть условное stateflow в котором состояние сети. Когда нужно что-то делать при появлении/пропадании сети я использую collectLatest { код } так что при изменении состояния старый collect блок отменяется со всеми вытекающими
Обсуждают сегодня