Loading services/sensorservice/SensorService.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -464,6 +464,7 @@ void SensorService::SensorEventConnection::onFirstRef() } bool SensorService::SensorEventConnection::addSensor(int32_t handle) { Mutex::Autolock _l(mConnectionLock); if (mSensorInfo.indexOfKey(handle) <= 0) { SensorInfo info; mSensorInfo.add(handle, info); Loading @@ -473,6 +474,7 @@ bool SensorService::SensorEventConnection::addSensor(int32_t handle) { } bool SensorService::SensorEventConnection::removeSensor(int32_t handle) { Mutex::Autolock _l(mConnectionLock); if (mSensorInfo.removeItem(handle) >= 0) { return true; } Loading @@ -480,16 +482,19 @@ bool SensorService::SensorEventConnection::removeSensor(int32_t handle) { } bool SensorService::SensorEventConnection::hasSensor(int32_t handle) const { Mutex::Autolock _l(mConnectionLock); return mSensorInfo.indexOfKey(handle) >= 0; } bool SensorService::SensorEventConnection::hasAnySensor() const { Mutex::Autolock _l(mConnectionLock); return mSensorInfo.size() ? true : false; } status_t SensorService::SensorEventConnection::setEventRateLocked( int handle, nsecs_t ns) { Mutex::Autolock _l(mConnectionLock); ssize_t index = mSensorInfo.indexOfKey(handle); if (index >= 0) { SensorInfo& info = mSensorInfo.editValueFor(handle); Loading @@ -506,6 +511,7 @@ status_t SensorService::SensorEventConnection::sendEvents( // filter out events not for this connection size_t count = 0; if (scratch) { Mutex::Autolock _l(mConnectionLock); size_t i=0; while (i<numEvents) { const int32_t curr = buffer[i].sensor; Loading services/sensorservice/SensorService.h +2 −1 Original line number Diff line number Diff line Loading @@ -75,8 +75,9 @@ class SensorService : sp<SensorService> const mService; sp<SensorChannel> const mChannel; mutable Mutex mConnectionLock; // protected by SensorService::mLock // protected mConnectionLock struct SensorInfo { SensorInfo() : ns(DEFAULT_EVENTS_PERIOD) { } nsecs_t ns; Loading Loading
services/sensorservice/SensorService.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -464,6 +464,7 @@ void SensorService::SensorEventConnection::onFirstRef() } bool SensorService::SensorEventConnection::addSensor(int32_t handle) { Mutex::Autolock _l(mConnectionLock); if (mSensorInfo.indexOfKey(handle) <= 0) { SensorInfo info; mSensorInfo.add(handle, info); Loading @@ -473,6 +474,7 @@ bool SensorService::SensorEventConnection::addSensor(int32_t handle) { } bool SensorService::SensorEventConnection::removeSensor(int32_t handle) { Mutex::Autolock _l(mConnectionLock); if (mSensorInfo.removeItem(handle) >= 0) { return true; } Loading @@ -480,16 +482,19 @@ bool SensorService::SensorEventConnection::removeSensor(int32_t handle) { } bool SensorService::SensorEventConnection::hasSensor(int32_t handle) const { Mutex::Autolock _l(mConnectionLock); return mSensorInfo.indexOfKey(handle) >= 0; } bool SensorService::SensorEventConnection::hasAnySensor() const { Mutex::Autolock _l(mConnectionLock); return mSensorInfo.size() ? true : false; } status_t SensorService::SensorEventConnection::setEventRateLocked( int handle, nsecs_t ns) { Mutex::Autolock _l(mConnectionLock); ssize_t index = mSensorInfo.indexOfKey(handle); if (index >= 0) { SensorInfo& info = mSensorInfo.editValueFor(handle); Loading @@ -506,6 +511,7 @@ status_t SensorService::SensorEventConnection::sendEvents( // filter out events not for this connection size_t count = 0; if (scratch) { Mutex::Autolock _l(mConnectionLock); size_t i=0; while (i<numEvents) { const int32_t curr = buffer[i].sensor; Loading
services/sensorservice/SensorService.h +2 −1 Original line number Diff line number Diff line Loading @@ -75,8 +75,9 @@ class SensorService : sp<SensorService> const mService; sp<SensorChannel> const mChannel; mutable Mutex mConnectionLock; // protected by SensorService::mLock // protected mConnectionLock struct SensorInfo { SensorInfo() : ns(DEFAULT_EVENTS_PERIOD) { } nsecs_t ns; Loading