This document proposes using a BehaviorSubject and custom scoped ViewModel to manage progress dialogs in a way that is independent of activity lifecycles and avoids common issues like dialogs dismissing on orientation changes or remaining on screen. The BehaviorSubject would emit true when an API call starts and false when it ends, while the custom scoped ViewModel ensures the loading state can be
![Gradle入門](https://cdn-ak-scissors.b.st-hatena.com/image/square/b14117f4a3300172e8b49ee9d99e15b2bd81568f/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgradle-151120121035-lva1-app6892-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)