diff options
author | Daniel Sandler <dsandler@google.com> | 2011-02-23 06:43:16 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-02-23 06:43:16 -0800 |
commit | ad788884de1dcac2c979efc57f12c58de156e801 (patch) | |
tree | b626bb8527a76336052fa0d7b4b8c810a2ee44f8 /policy | |
parent | 70564141ce5326e696c112353177f01207fe3051 (diff) | |
parent | e7e5ac250ca6e682edc850a5148b6c46c4d2e060 (diff) | |
download | frameworks_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-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 20 |
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; |