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

Commit 37fc2e52 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge changes from topic "sensor_background_apps" into rvc-dev am: e8a88834

Change-Id: I608e162ed82cfc15bc086f153a6d0658575b5ec8
parents c0a17fda e8a88834
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1748,17 +1748,22 @@ status_t SensorService::flushSensor(const sp<SensorEventConnection>& connection,
    const int halVersion = dev.getHalDeviceVersion();
    status_t err(NO_ERROR);
    Mutex::Autolock _l(mLock);

    size_t numSensors = 0;
    // Loop through all sensors for this connection and call flush on each of them.
    for (int handle : connection->getActiveSensorHandles()) {
        sp<SensorInterface> sensor = getSensorInterfaceFromHandle(handle);
        if (sensor == nullptr) {
            continue;
        }
        numSensors++;

        if (sensor->getSensor().getReportingMode() == AREPORTING_MODE_ONE_SHOT) {
            ALOGE("flush called on a one-shot sensor");
            err = INVALID_OPERATION;
            continue;
        }

        if (halVersion <= SENSORS_DEVICE_API_VERSION_1_0 || isVirtualSensor(handle)) {
            // For older devices just increment pending flush count which will send a trivial
            // flush complete event.
@@ -1776,7 +1781,8 @@ status_t SensorService::flushSensor(const sp<SensorEventConnection>& connection,
            err = (err_flush != NO_ERROR) ? err_flush : err;
        }
    }
    return err;

    return (numSensors == 0) ? INVALID_OPERATION : err;
}

bool SensorService::canAccessSensor(const Sensor& sensor, const char* operation,