Я использую Робоспайс. Я хочу написать код многократного использования, чтобы остановить ProgressBars и ProgressDialogs, как только ожидающие сетевые запросы будут очищены для текущей активности. Тем не менее, я столкнулся с парой проблем.
Я наблюдаю, когда запросы завершаются, используя пользовательский SpiceServiceListener для вызова моих пользовательских обратных вызовов, реализованных в каждом действии. Во время onRequestAdded() я показываю любой элемент пользовательского интерфейса Progress. Во время onRequestSucceeded(), onRequestFailed() и onRequestCancelled() я проверяю getSpiceManager().getPendingRequestCount(), чтобы увидеть, достигает ли он нуля, а затем скрываю все элементы пользовательского интерфейса Progress.
Количество ожидающих запросов никогда не достигает нуля в моем приложении (по крайней мере, внутри этих трех методов), но, кажется, останавливается на единице. Это правда, несмотря на то, что я вижу из журнала дооснащения, что все мои запросы кажутся выполненными.
Является ли счетчик ожидающих запросов глобальным или специфичным для текущего действия и его экземпляра диспетчера специй? Есть ли лучший способ следить за завершением всех запросов в рамках текущей активности?