sensor_t const* list;
ssize_t count = dev.getSensorList(&list);
if (count > 0) {
- // this is the only place besides the dynamic sensor register and unregister functions
- // where write operation to various sensor lists has to be locked.
- Mutex::Autolock _l(mSensorsLock);
-
ssize_t orientationIndex = -1;
bool hasGyro = false, hasAccel = false, hasMag = false;
uint32_t virtualSensorsNeeds =
}
Sensor SensorService::registerSensor(SensorInterface* s) {
- //caller of this function has to make sure mSensorsLock is locked
- assert(mSensorsLock.tryLock() != 0);
-
const Sensor sensor(s->getSensor());
// add handle to used handle list
}
Sensor SensorService::registerDynamicSensor(SensorInterface* s) {
- Mutex::Autolock _l(mSensorsLock);
-
Sensor sensor = registerSensor(s);
mDynamicSensorList.add(sensor);
}
bool SensorService::unregisterDynamicSensor(int handle) {
- Mutex::Autolock _l(mSensorsLock);
-
bool found = false;
for (size_t i = 0 ; i < mSensorList.size() ; i++) {
}
bool SensorService::isNewHandle(int handle) {
- Mutex::Autolock _l(mSensorsLock);
for (int h : mUsedHandleList) {
if (h == handle) {
return false;
}
SensorService::~SensorService() {
- Mutex::Autolock _l(mSensorsLock);
for (size_t i=0 ; i<mSensorMap.size() ; i++) {
delete mSensorMap.valueAt(i);
}
} else {
// Default dump the sensor list and debugging information.
result.append("Sensor List:\n");
- Mutex::Autolock _l(mSensorsLock);
for (size_t i=0 ; i<mSensorList.size() ; i++) {
const Sensor& s(mSensorList[i]);
result.appendFormat(
}
String8 SensorService::getSensorName(int handle) const {
- Mutex::Autolock _l(mSensorsLock);
size_t count = mUserSensorList.size();
for (size_t i=0 ; i<count ; i++) {
const Sensor& sensor(mUserSensorList[i]);
}
Vector<Sensor> SensorService::getSensorList(const String16& opPackageName) {
- Mutex::Autolock _l(mSensorsLock);
-
char value[PROPERTY_VALUE_MAX];
property_get("debug.sensors", value, "0");
const Vector<Sensor>& initialSensorList = (atoi(value)) ?
}
Vector<Sensor> SensorService::getDynamicSensorList(const String16& opPackageName) {
- Mutex::Autolock _l(mSensorsLock);
-
Vector<Sensor> accessibleSensorList;
for (size_t i = 0; i < mDynamicSensorList.size(); i++) {
Sensor sensor = mDynamicSensorList[i];
}
SensorInterface* SensorService::getSensorInterfaceFromHandle(int handle) const {
- Mutex::Autolock _l(mSensorsLock);
ssize_t index = mSensorMap.indexOfKey(handle);
return index < 0 ? nullptr : mSensorMap.valueAt(index);
}