summaryrefslogtreecommitdiffstats
path: root/services/sensorservice/SensorService.h
Commit message (Collapse)AuthorAgeFilesLines
* track UID with connectionsMathias Agopian2012-09-181-1/+4
| | | | Change-Id: Id4865f3cd27a95acdbbfdff1f2bb4123f312a13b
* add a way to enable debugging sensors at runtimeMathias Agopian2012-06-281-0/+1
| | | | | | | | if debug.sensors is true, extra debugging sensors are enabled and HAL provided sensor fusion is disabled Change-Id: I9b093424edb8c5363d1337237cdf6abe4ab266f9
* Rename SensorChannel to BitTubeMathias Agopian2012-06-271-3/+3
|
* PermissionCache caches permission checksMathias Agopian2012-06-271-2/+0
| | | | | | | | | | | | | This is intended to absorb the cost of the IPC to the permission controller. Cached permission checks cost about 3us, while full blown ones are two orders of magnitude slower. CAVEAT: PermissionCache can only handle system permissions safely for now, because the cache is not purged upon global permission changes. Change-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e
* improve orientation sensor with gyro dataMathias Agopian2012-06-271-0/+1
| | | | | | | | | when we do our own sensor fusion, we also export an improved orientation sensor and hide the HAL sensor. The fused orientation sensor is much more precise, fast and smooth. Change-Id: I0ea843b47ad9d12f6b22cce51f8629852d423126
* Fix a few issues with sensors reference-countingMathias Agopian2012-06-271-0/+2
|
* fix [3421350] Killing a game that uses the accelerometer renders the device ↵Mathias Agopian2012-06-271-1/+1
| | | | | | | | | | unable to sleep when an app dies, make sure to disable all sensors that process is connected to, regardless of wether this was the LAST connection to this sensor. Change-Id: I9c72b1792eee03815304674d5c2f25b5270e4748
* Add support for virtual sensors.Mathias Agopian2012-06-271-15/+12
| | | | | | | | | | | | | | | | | | | | | | Rework sensorservice to allow "virtual sensors", that is sensors that report a synthetized value based on real sensors. the main change to sensorservice is around managing which real sensor need to be activated and which rate to use. The logic for all this has been moved into SensorDevice, which essentially wraps the sensor HAL but adds two features to it: - it keeps track of which sensors need to be activated - it keeps track of what rate needs to be used For this purpose an "identity" is associated with each real sensor activation, so we can track them. On start-up we check for gravity, linear-acceleration and rotation-vector sensors, if they're not present in the HAL, we synthetize them in sensor-service. Change-Id: I841db2c1b37ef127ed571efa21732ecc5adf1800
* Fix a race condition in sensormanagerMathias Agopian2012-06-271-1/+2
| | | | | | | | | | | | the per-connection state assumed the main sensorservice lock was held during access. This is however not true while pre-processing the events just before sending them to clients. Therefore, there was a small window during which this state could be modified while being used. we now have an internal lock that protects this state. Change-Id: I594680f20f09d6a4f1f38f093a1d3f650dcef1be
* record the last event received regardless of having clients or notMathias Agopian2012-06-271-0/+2
| | | | | | | | | | | | We only recorded the last received event (which is needed when a sensor is activated on a connection) when there was some connection active. This should fix an issue where sometimes the light sensor doesn't return an event whent activated. we also didn't need to hold the main lock while dispatching events to clients. Change-Id: I6c6386c040051ce205e3c0516c678e0603fa45e1
* improve sensorservice dumpsys and increase the max sensor rate to 1 ms (1000Hz)Mathias Agopian2012-06-271-2/+2
| | | | | | | the increased maximum rate is needed for proper gyro integration, current gyro parts can sample at up to 800Hz Change-Id: Ide75f6d5bc7a0fdafeb2dafd72db39e7afb9e794
* SensorService handles last known state properlyMathias Agopian2012-06-271-1/+4
| | | | | | | | | | SensorService now correctly sends the last known state of a sensor as soon as a new connection is made. This fixes the issue where, for instance, an application could wait a long time before getting the light or proximity sensor initial state. Change-Id: Ic41392f3626e26c4f15746c7e17c7ecd44bbb10b
* filter sensor event by connectionMathias Agopian2012-06-271-3/+2
| | | | | | | we now don't send events down to a connection that has not registered for this event. Change-Id: I3fe507974d3e99293749bfec2ef871e8a0ee9600
* propagate sensor event rate properly to the sensor HALMathias Agopian2012-06-271-8/+26
| | | | Change-Id: I1abe4c0fcce423caab79208353fded4d57398227
* SensorService doesn't crash if correct HAL is not presentMathias Agopian2012-06-271-0/+1
| | | | Change-Id: I83700b1a1b43390f5830e1056572bfb16e58e8e4
* Better dumpsys logsMathias Agopian2012-06-271-0/+1
| | | | Change-Id: Iae65a8547ee5815cc4c3b74d2c9ef17bed7f565d
* new SensorServiceMathias Agopian2012-06-271-0/+119
remove old sensor service and implement SensorManager on top of the new (native) SensorManger API. Change-Id: Iddb77d498755da3e11646473a44d651f12f40281