diff --git a/services/core/java/com/android/server/policy/WindowOrientationListener.java b/services/core/java/com/android/server/policy/WindowOrientationListener.java index d5adb5e1c111c..47370b644b91e 100644 --- a/services/core/java/com/android/server/policy/WindowOrientationListener.java +++ b/services/core/java/com/android/server/policy/WindowOrientationListener.java @@ -1047,8 +1047,14 @@ public abstract class WindowOrientationListener { @Override public void onSensorChanged(SensorEvent event) { int newRotation; + + int reportedRotation = (int) event.values[0]; + if (reportedRotation < 0 || reportedRotation > 3) { + return; + } + synchronized (mLock) { - mDesiredRotation = (int) event.values[0]; + mDesiredRotation = reportedRotation; newRotation = evaluateRotationChangeLocked(); } if (newRotation >=0) {