summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/app/OrientationManager.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/app/OrientationManager.java')
-rw-r--r--src/com/android/gallery3d/app/OrientationManager.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/app/OrientationManager.java b/src/com/android/gallery3d/app/OrientationManager.java
index f5cbf06c6..a8ef99ad8 100644
--- a/src/com/android/gallery3d/app/OrientationManager.java
+++ b/src/com/android/gallery3d/app/OrientationManager.java
@@ -98,13 +98,19 @@ public class OrientationManager implements OrientationSource {
public void lockOrientation() {
if (mOrientationLocked) return;
mOrientationLocked = true;
+ // Display rotation >= 180 means we need to use the REVERSE landscape/portrait
+ boolean standard = getDisplayRotation() < 180;
if (mActivity.getResources().getConfiguration().orientation
== Configuration.ORIENTATION_LANDSCAPE) {
Log.d(TAG, "lock orientation to landscape");
- mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
+ mActivity.setRequestedOrientation(standard
+ ? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
+ : ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
} else {
Log.d(TAG, "lock orientation to portrait");
- mActivity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
+ mActivity.setRequestedOrientation(standard
+ ? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
+ : ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
}
updateCompensation();
}