summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2012-10-11 09:40:18 -0700
committerJohn Reck <jreck@google.com>2012-10-11 09:45:05 -0700
commit031055b7841a8c886c55860597fb3f426067b5a2 (patch)
tree2c88c7bdadf6c27593d7cb2d92733c3e647aadd3
parent823824122d04c9b0073f3bd13c292abdec210de9 (diff)
downloadandroid_packages_apps_Snap-031055b7841a8c886c55860597fb3f426067b5a2.tar.gz
android_packages_apps_Snap-031055b7841a8c886c55860597fb3f426067b5a2.tar.bz2
android_packages_apps_Snap-031055b7841a8c886c55860597fb3f426067b5a2.zip
Fix portrait orientation on landscape devices
Bug: 7328349 Change-Id: I0f871ea56e6afb5ba0b54cac15c18f79db07f4f9
-rw-r--r--src/com/android/gallery3d/app/OrientationManager.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/app/OrientationManager.java b/src/com/android/gallery3d/app/OrientationManager.java
index a8ef99ad8..0e033ebe4 100644
--- a/src/com/android/gallery3d/app/OrientationManager.java
+++ b/src/com/android/gallery3d/app/OrientationManager.java
@@ -98,8 +98,9 @@ public class OrientationManager implements OrientationSource {
public void lockOrientation() {
if (mOrientationLocked) return;
mOrientationLocked = true;
+ int displayRotation = getDisplayRotation();
// Display rotation >= 180 means we need to use the REVERSE landscape/portrait
- boolean standard = getDisplayRotation() < 180;
+ boolean standard = displayRotation < 180;
if (mActivity.getResources().getConfiguration().orientation
== Configuration.ORIENTATION_LANDSCAPE) {
Log.d(TAG, "lock orientation to landscape");
@@ -107,6 +108,13 @@ public class OrientationManager implements OrientationSource {
? ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
: ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
} else {
+ if (displayRotation == 90 || displayRotation == 270) {
+ // If displayRotation = 90 or 270 then we are on a landscape
+ // device. On landscape devices, portrait is a 90 degree
+ // clockwise rotation from landscape, so we need
+ // to flip which portrait we pick as display rotation is counter clockwise
+ standard = !standard;
+ }
Log.d(TAG, "lock orientation to portrait");
mActivity.setRequestedOrientation(standard
? ActivityInfo.SCREEN_ORIENTATION_PORTRAIT