Fix for last sensor missing from sensor list returned by the HAL.
Bug: 22072216
Change-Id: I39a422fb80adcd348ff9c10bf3d3f19ab569a0af
diff --git a/core/java/android/hardware/SystemSensorManager.java b/core/java/android/hardware/SystemSensorManager.java
index d7960af..f218528 100644
--- a/core/java/android/hardware/SystemSensorManager.java
+++ b/core/java/android/hardware/SystemSensorManager.java
@@ -85,15 +85,14 @@
// initialize the sensor list
int i = 0;
- while(true) {
+ do {
Sensor sensor = new Sensor();
i = nativeGetNextSensor(mNativeInstance, sensor, i);
- if (i <= 0) {
- break;
+ if (i >= 0) {
+ mFullSensorsList.add(sensor);
+ mHandleToSensor.append(sensor.getHandle(), sensor);
}
- mFullSensorsList.add(sensor);
- mHandleToSensor.append(sensor.getHandle(), sensor);
- }
+ } while (i > 0);
}