Чаще всего для этого делают сервис типа AppLockService который посылает сообщения типа APP_LOCK/UNLOCK, которые в свою очередь ловит компонент типа AppLockComponent и на основе данных из сообщения скрывает или показывает оверлей с крутилочкой; достаточно вызвать например метод _appLockService.lock_ и крутилка появится. Бывает удобно выполнить этот метод в виде асинхронной функции, тогда можно автоматически отправлять сообщения - перед локом и после выхода из асинхронной процедуры, очень удобно. Естественно готовых решений в интернетах
тонны