void TestActivity::onConfigurationChanged (void)
{
	RenderActivity::onConfigurationChanged();

	// Update rotation.
	setRequestedOrientation(getNativeActivity(), mapScreenRotation(m_cmdLine.getScreenRotation()));
}
OrientationLock::~OrientationLock()
{
	if (locked_)
	{
		setRequestedOrientation(saved_orientation_);
	}
}
TestActivity::TestActivity (ANativeActivity* activity)
	: RenderActivity	(activity)
	, m_cmdLine			(getIntentStringExtra(activity, "cmdLine"))
	, m_testThread		(*this, m_cmdLine)
	, m_started			(false)
{
	// Set initial orientation.
	setRequestedOrientation(getNativeActivity(), mapScreenRotation(m_cmdLine.getScreenRotation()));

	// Set up window flags.
	ANativeActivity_setWindowFlags(activity, AWINDOW_FLAG_KEEP_SCREEN_ON	|
											 AWINDOW_FLAG_TURN_SCREEN_ON	|
											 AWINDOW_FLAG_FULLSCREEN		|
											 AWINDOW_FLAG_SHOW_WHEN_LOCKED, 0);
}
OrientationLock::OrientationLock():
	saved_orientation_(getRequestedOrientation()),
	locked_(false)
{
	if (saved_orientation_ != ANDROID_ACTIVITYINFO_SCREEN_ORIENTATION_NOSENSOR)
	{
		int o = getCurrentFixedOrientation();
		if (o != ANDROID_ACTIVITYINFO_SCREEN_ORIENTATION_UNSPECIFIED)
		{
			setRequestedOrientation(o);
			locked_ = true;
			return;
		}
	}
	qWarning()<<"QAndroidScreenOrientation::OrientationLock failed to lock current screen orientation.";
}
OrientationLock::OrientationLock(int desired_orientation):
	saved_orientation_(getRequestedOrientation()),
	locked_(true)
{
	setRequestedOrientation(desired_orientation);
}