Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fea2d26f authored by Ashutosh Joshi's avatar Ashutosh Joshi
Browse files

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
parent 932dc646
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -55,6 +55,9 @@ SensorDevice::SensorDevice() : mHidlTransportErrors(20) {
    if (!connectHidlService()) {
    if (!connectHidlService()) {
        return;
        return;
    }
    }

    float minPowerMa = 0.001; // 1 microAmp

    checkReturn(mSensors->getSensorsList(
    checkReturn(mSensors->getSensorsList(
            [&](const auto &list) {
            [&](const auto &list) {
                const size_t count = list.size();
                const size_t count = list.size();
@@ -64,6 +67,12 @@ SensorDevice::SensorDevice() : mHidlTransportErrors(20) {
                for (size_t i=0 ; i < count; i++) {
                for (size_t i=0 ; i < count; i++) {
                    sensor_t sensor;
                    sensor_t sensor;
                    convertToSensor(list[i], &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);
                    mSensorList.push_back(sensor);


                    mActivationCount.add(list[i].sensorHandle, model);
                    mActivationCount.add(list[i].sensorHandle, model);