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

Change-Id: Ib7ac0c55409f2dc7f8fb114167e9f4b2e8859223
This commit is contained in:
Cosmin Tanislav 2022-02-17 01:08:50 +02:00 committed by Simon1511
parent 4fc52ef9ac
commit 19a1c19c93
2 changed files with 17 additions and 1 deletions

View File

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

View File

@ -79,6 +79,15 @@ class Sensor {
OperationMode mMode; 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 implementation
} // namespace subhal } // namespace subhal
} // namespace V2_1 } // namespace V2_1