Loading services/sensorservice/SensorService.cpp +12 −11 Original line number Diff line number Diff line Loading @@ -426,20 +426,21 @@ bool SensorService::threadLoop() } void SensorService::recordLastValue( sensors_event_t const * buffer, size_t count) { const sensors_event_t* buffer, size_t count) { Mutex::Autolock _l(mLock); // record the last event for each sensor int32_t prev = buffer[0].sensor; for (size_t i=1 ; i<count ; i++) { // record the last event of each sensor type in this buffer int32_t curr = buffer[i].sensor; if (curr != prev) { mLastEventSeen.editValueFor(prev) = buffer[i-1]; prev = curr; const sensors_event_t* last = NULL; for (size_t i = 0; i < count; i++) { const sensors_event_t* event = &buffer[i]; if (event->type != SENSOR_TYPE_META_DATA) { if (last && event->sensor != last->sensor) { mLastEventSeen.editValueFor(last->sensor) = *last; } last = event; } } if (last) { mLastEventSeen.editValueFor(last->sensor) = *last; } mLastEventSeen.editValueFor(prev) = buffer[count-1]; } void SensorService::sortEventBuffer(sensors_event_t* buffer, size_t count) Loading services/sensorservice/SensorService.h +1 −1 Original line number Diff line number Diff line Loading @@ -131,7 +131,7 @@ class SensorService : String8 getSensorName(int handle) const; bool isVirtualSensor(int handle) const; void recordLastValue(sensors_event_t const * buffer, size_t count); void recordLastValue(const sensors_event_t* buffer, size_t count); static void sortEventBuffer(sensors_event_t* buffer, size_t count); Sensor registerSensor(SensorInterface* sensor); Sensor registerVirtualSensor(SensorInterface* sensor); Loading Loading
services/sensorservice/SensorService.cpp +12 −11 Original line number Diff line number Diff line Loading @@ -426,20 +426,21 @@ bool SensorService::threadLoop() } void SensorService::recordLastValue( sensors_event_t const * buffer, size_t count) { const sensors_event_t* buffer, size_t count) { Mutex::Autolock _l(mLock); // record the last event for each sensor int32_t prev = buffer[0].sensor; for (size_t i=1 ; i<count ; i++) { // record the last event of each sensor type in this buffer int32_t curr = buffer[i].sensor; if (curr != prev) { mLastEventSeen.editValueFor(prev) = buffer[i-1]; prev = curr; const sensors_event_t* last = NULL; for (size_t i = 0; i < count; i++) { const sensors_event_t* event = &buffer[i]; if (event->type != SENSOR_TYPE_META_DATA) { if (last && event->sensor != last->sensor) { mLastEventSeen.editValueFor(last->sensor) = *last; } last = event; } } if (last) { mLastEventSeen.editValueFor(last->sensor) = *last; } mLastEventSeen.editValueFor(prev) = buffer[count-1]; } void SensorService::sortEventBuffer(sensors_event_t* buffer, size_t count) Loading
services/sensorservice/SensorService.h +1 −1 Original line number Diff line number Diff line Loading @@ -131,7 +131,7 @@ class SensorService : String8 getSensorName(int handle) const; bool isVirtualSensor(int handle) const; void recordLastValue(sensors_event_t const * buffer, size_t count); void recordLastValue(const sensors_event_t* buffer, size_t count); static void sortEventBuffer(sensors_event_t* buffer, size_t count); Sensor registerSensor(SensorInterface* sensor); Sensor registerVirtualSensor(SensorInterface* sensor); Loading