Set the sensor batch size for accelerometer listener.

For the Wear devices it is important to set the batch size here,
because otherwise all sensor-related services (like gesture detection
or gaze/ungaze detection start to consume ~10x CPU time).

Bug: 28995481
Change-Id: I30f9e5f7ea5aee8fdd80734588386e64b874e1dc
This commit is contained in:
Ivan Podogov
2016-05-27 13:47:20 +01:00
parent c51e725644
commit d49b1ee0de

View File

@@ -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;
}
}