From d8bdc06f8139231f1edc1a8bf22b637ebb790605 Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Sun, 23 Jan 2011 13:05:44 -0800 Subject: [PATCH] Fix SENSOR_LANDSCAPE and SENSOR_PORTRAIT (DO NOT MERGE) Fixed a bug in the handling of SENSOR_LANDSCAPE and SENSOR_PORTAIT on devices that have a natural landscape orientation. The old code was disabling 180 degree orientation detection when it shouldn't have. Bug: 3381359 Change-Id: I19bd2519e7f69a24835840fbf542aa7349981029 --- .../android/internal/policy/impl/PhoneWindowManager.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 92c41d81d6105..f934e6b894f77 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -2083,10 +2083,12 @@ public class PhoneWindowManager implements WindowManagerPolicy { return mSeascapeRotation; case ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE: //return either landscape rotation based on the sensor - mOrientationListener.setAllow180Rotation(false); + mOrientationListener.setAllow180Rotation( + isLandscapeOrSeascape(Surface.ROTATION_180)); return getCurrentLandscapeRotation(lastRotation); case ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT: - mOrientationListener.setAllow180Rotation(true); + mOrientationListener.setAllow180Rotation( + !isLandscapeOrSeascape(Surface.ROTATION_180)); return getCurrentPortraitRotation(lastRotation); }