summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ashutosh Joshi <ashutoshj@google.com> 2017-04-19 23:27:49 -0700
committer Ashutosh Joshi <ashutoshj@google.com> 2017-04-19 23:27:49 -0700
commitfea2d26f964f2e8065e462429766fd7dcf227275 (patch)
tree0c04a38617fa4696e4d106a8cac43bec82ddbc58
parent932dc64614f29f53701766fed0c07c8cf592ccf1 (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.cpp9
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);