summaryrefslogtreecommitdiffstats
path: root/policy
diff options
context:
space:
mode:
authorDaniel Sandler <dsandler@google.com>2011-02-23 06:43:16 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-02-23 06:43:16 -0800
commitad788884de1dcac2c979efc57f12c58de156e801 (patch)
treeb626bb8527a76336052fa0d7b4b8c810a2ee44f8 /policy
parent70564141ce5326e696c112353177f01207fe3051 (diff)
parente7e5ac250ca6e682edc850a5148b6c46c4d2e060 (diff)
downloadframeworks_base-ad788884de1dcac2c979efc57f12c58de156e801.zip
frameworks_base-ad788884de1dcac2c979efc57f12c58de156e801.tar.gz
frameworks_base-ad788884de1dcac2c979efc57f12c58de156e801.tar.bz2
Merge "Rotation lock fix for sensor{Landscape,Portrait} activities."
Diffstat (limited to 'policy')
-rwxr-xr-xpolicy/src/com/android/internal/policy/impl/PhoneWindowManager.java20
1 files changed, 20 insertions, 0 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
index 9794944..f6649fd 100755
--- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
+++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
@@ -2570,6 +2570,16 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
private int getCurrentLandscapeRotation(int lastRotation) {
+ // if the user has locked rotation, we ignore the sensor
+ if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
+ if (isLandscapeOrSeascape(mUserRotation)) {
+ return mUserRotation;
+ } else {
+ // it seems odd to obey the sensor at all if rotation lock is enabled
+ return mLandscapeRotation;
+ }
+ }
+
int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
if (isLandscapeOrSeascape(sensorRotation)) {
return sensorRotation;
@@ -2587,6 +2597,16 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
private int getCurrentPortraitRotation(int lastRotation) {
+ // if the user has locked rotation, we ignore the sensor
+ if (mUserRotationMode == WindowManagerPolicy.USER_ROTATION_LOCKED) {
+ if (isAnyPortrait(mUserRotation)) {
+ return mUserRotation;
+ } else {
+ // it seems odd to obey the sensor at all if rotation lock is enabled
+ return mPortraitRotation;
+ }
+ }
+
int sensorRotation = mOrientationListener.getCurrentRotation(lastRotation);
if (isAnyPortrait(sensorRotation)) {
return sensorRotation;