mono/MonoGame — pull request #3024 by Nezz (2014-09-27 14:44:32+00:00)
Title: Fixed the unnecessary display rotation on Android

If you launched a landscape game on Android if your device was in LandscapeRight, the game would rotate to LandscapeLeft at Initialize.

In order to avoid this, I had to get the orientation of the device to determine if it was LandscapeRight and start up as LandscapeRight instead of the fixed LandscapeLeft (I added the same code for PortraitDown).

However, Android is one hell of a complicated beast as we only get the orientation in degrees compared to the natural orientation of the device, which can be landscape in case of some tablets (like the Galaxy Tab 10.1). Thankfully all the code was already present in OrientationListener. AndroidCompatibility contained code to account for the swapped LandscapeLeft and LandscapeRight on Kindle, so I decided to move the code there from OrientationListener.

Now you can get the proper display orientation from AndroidCompatibility. It accounts for both the natural orientation and the Kindle landscape swap.