Clamp reported power for each sensor to 1 microAmp.
Avoids sensors reporting zero power !
Bug: 28980713
Test: Ensure thar power reported in greater than or equal to
1 microAmperes for all sensors.
Change-Id: I01b40c8a3701d56ded7dcc82e4c7a85b9a8ddc00
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp
index 080c02b..2c4bda9 100644
--- a/services/sensorservice/SensorDevice.cpp
+++ b/services/sensorservice/SensorDevice.cpp
@@ -55,6 +55,9 @@
if (!connectHidlService()) {
return;
}
+
+ float minPowerMa = 0.001; // 1 microAmp
+
checkReturn(mSensors->getSensorsList(
[&](const auto &list) {
const size_t count = list.size();
@@ -64,6 +67,12 @@
for (size_t i=0 ; i < count; i++) {
sensor_t sensor;
convertToSensor(list[i], &sensor);
+ // Sanity check and clamp power if it is 0 (or close)
+ if (sensor.power < minPowerMa) {
+ ALOGE("Reported power %f not deemed sane, clamping to %f",
+ sensor.power, minPowerMa);
+ sensor.power = minPowerMa;
+ }
mSensorList.push_back(sensor);
mActivationCount.add(list[i].sensorHandle, model);