diff --git a/services/core/java/com/android/server/policy/WindowOrientationListener.java b/services/core/java/com/android/server/policy/WindowOrientationListener.java index a32c017c42975..8ef0acbd38080 100644 --- a/services/core/java/com/android/server/policy/WindowOrientationListener.java +++ b/services/core/java/com/android/server/policy/WindowOrientationListener.java @@ -49,6 +49,7 @@ public abstract class WindowOrientationListener { "debug.orientation.log", false); private static final boolean USE_GRAVITY_SENSOR = false; + private static final int DEFAULT_BATCH_LATENCY = 100000; private Handler mHandler; private SensorManager mSensorManager; @@ -118,7 +119,12 @@ public abstract class WindowOrientationListener { Slog.d(TAG, "WindowOrientationListener enabled"); } mOrientationJudge.resetLocked(); - mSensorManager.registerListener(mOrientationJudge, mSensor, mRate, mHandler); + if (mSensor.getType() == Sensor.TYPE_ACCELEROMETER) { + mSensorManager.registerListener( + mOrientationJudge, mSensor, mRate, DEFAULT_BATCH_LATENCY, mHandler); + } else { + mSensorManager.registerListener(mOrientationJudge, mSensor, mRate, mHandler); + } mEnabled = true; } }