From fee9ea9768b5a402e6881133f33fdde1f91343b8 Mon Sep 17 00:00:00 2001 From: Luca Stefani Date: Sat, 5 Jan 2019 16:40:12 +0100 Subject: [PATCH] WindowOrientationListener: Check if proposed rotation is in range * Some OEMs *coughs OnePlus* decided it was a great idea to add a fourth kind of rotation ( flat ) Change-Id: I54c6e6360e897fbc8445edabbf411807521c624b --- .../android/server/policy/WindowOrientationListener.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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) {