fix #3522: do not asynchronously play with GPS status
refactoring: loadCachesHandler can never be null