mono/MonoGame — pull request #1400 by Aranda (2013-02-16 13:09:19+00:00)
Title: Added ResumeManager so something can be drawn whilst textures are reloaded

**How it works**
The textures are now reloaded on a different thread so execution can continue. The AndroidGameWindow._isResuming is set so the optional IResumeManager can be drawn. A default ResumeManager implementation has been provided so users can easily set it up with a custom texture rotating in the middle of the screen.

**Motivation**
Reloading of textures can take a LONG time. Whilst this occurs the user is presented with a black screen and the music playing. This leads to confusion about whether the game may have crashed. Also, when adding full screen ads to a game, these generally cause the GL context to be lost, so when the user dismisses the ad, they are hit with this lengthy texture reload each time.

**Usage**
````
// Create your own implementation of IResumeManager or simply use the
// default one. Place this code in your Game.Initialize() or somewhere similar
#if ANDROID
AndroidGameWindow droidWindow = this.Window as AndroidGameWindow;
droidWindow.SetResumer(new ResumeManager(this.Services,
spriteBatch,
@"UI\Resuming",
1.0f, // Default scale
0.02f // Rotate speed
));
#endif
````

Original pull request in case someone wanted to check the comment history: https://github.com/mono/MonoGame/pull/1093