sensorservice: switch to use sp<> in sensor list
* Switch to use smart pointer in SensorList to avoid object
life cycle issue.
* Refactor HardwareSensor and various virtual sensor class.
* Change active virtual sensor map into a set of handles.
Change-Id: I674d5eb5c0038179f9ef1b6f0d576b8b605649ec
diff --git a/services/sensorservice/LinearAccelerationSensor.h b/services/sensorservice/LinearAccelerationSensor.h
index 6b8027b..428baa6 100644
--- a/services/sensorservice/LinearAccelerationSensor.h
+++ b/services/sensorservice/LinearAccelerationSensor.h
@@ -32,10 +32,8 @@
class SensorDevice;
class SensorFusion;
-class LinearAccelerationSensor : public SensorInterface {
- SensorDevice& mSensorDevice;
+class LinearAccelerationSensor : public VirtualSensor {
GravitySensor mGravitySensor;
- Sensor mSensor;
virtual bool process(sensors_event_t* outEvent,
const sensors_event_t& event);
@@ -43,8 +41,6 @@
LinearAccelerationSensor(sensor_t const* list, size_t count);
virtual status_t activate(void* ident, bool enabled) override;
virtual status_t setDelay(void* ident, int handle, int64_t ns) override;
- virtual const Sensor& getSensor() const override;
- virtual bool isVirtual() const override { return true; }
};
// ---------------------------------------------------------------------------