sm7125-common: sensors: Move one shot sensor out of main class

Change-Id: Ib7ac0c55409f2dc7f8fb114167e9f4b2e8859223
tirimbino
Cosmin Tanislav 3 years ago committed by Ruchit Marathe
parent 5b2895dd6b
commit 6aeec1293a
  1. 9
      sensors/Sensor.cpp
  2. 9
      sensors/Sensor.h

@ -93,7 +93,7 @@ void Sensor::activate(bool enable) {
Result Sensor::flush() {
// Only generate a flush complete event if the sensor is enabled and if the sensor is not a
// one-shot sensor.
if (!mIsEnabled || (mSensorInfo.flags & static_cast<uint32_t>(SensorFlagBits::ONE_SHOT_MODE))) {
if (!mIsEnabled) {
return Result::BAD_VALUE;
}
@ -184,6 +184,13 @@ Result Sensor::injectEvent(const Event& event) {
return result;
}
OneShotSensor::OneShotSensor(int32_t sensorHandle, ISensorsEventCallback* callback)
: Sensor(sensorHandle, callback) {
mSensorInfo.minDelay = -1;
mSensorInfo.maxDelay = 0;
mSensorInfo.flags |= SensorFlagBits::ONE_SHOT_MODE;
}
} // namespace implementation
} // namespace subhal
} // namespace V2_1

@ -79,6 +79,15 @@ class Sensor {
OperationMode mMode;
};
class OneShotSensor : public Sensor {
public:
OneShotSensor(int32_t sensorHandle, ISensorsEventCallback* callback);
virtual void batch(int32_t /* samplingPeriodNs */) override {}
virtual Result flush() override { return Result::BAD_VALUE; }
};
} // namespace implementation
} // namespace subhal
} // namespace V2_1

Loading…
Cancel
Save