diff options
| author | 2017-04-19 23:27:49 -0700 | |
|---|---|---|
| committer | 2017-04-19 23:27:49 -0700 | |
| commit | fea2d26f964f2e8065e462429766fd7dcf227275 (patch) | |
| tree | 0c04a38617fa4696e4d106a8cac43bec82ddbc58 | |
| parent | 932dc64614f29f53701766fed0c07c8cf592ccf1 (diff) | |
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
| -rw-r--r-- | services/sensorservice/SensorDevice.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp index 080c02bc91..2c4bda98b8 100644 --- a/services/sensorservice/SensorDevice.cpp +++ b/services/sensorservice/SensorDevice.cpp @@ -55,6 +55,9 @@ SensorDevice::SensorDevice() : mHidlTransportErrors(20) { 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 @@ SensorDevice::SensorDevice() : mHidlTransportErrors(20) { 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); |