diff --git a/sensors/2.0/multihal/HalProxy.cpp b/sensors/2.0/multihal/HalProxy.cpp index 964f5893aa..dcdccac2be 100644 --- a/sensors/2.0/multihal/HalProxy.cpp +++ b/sensors/2.0/multihal/HalProxy.cpp @@ -123,9 +123,9 @@ Return HalProxy::setOperationMode(OperationMode /* mode */) { return Result::INVALID_OPERATION; } -Return HalProxy::activate(int32_t /* sensorHandle */, bool /* enabled */) { - // TODO: Proxy API call to appropriate sub-HAL. - return Result::INVALID_OPERATION; +Return HalProxy::activate(int32_t sensorHandle, bool enabled) { + return getSubHalForSensorHandle(sensorHandle) + ->activate(zeroOutFirstByte(sensorHandle), enabled); } Return HalProxy::initialize( @@ -163,15 +163,14 @@ Return HalProxy::initialize( return result; } -Return HalProxy::batch(int32_t /* sensorHandle */, int64_t /* samplingPeriodNs */, - int64_t /* maxReportLatencyNs */) { - // TODO: Proxy API call to appropriate sub-HAL. - return Result::INVALID_OPERATION; +Return HalProxy::batch(int32_t sensorHandle, int64_t samplingPeriodNs, + int64_t maxReportLatencyNs) { + return getSubHalForSensorHandle(sensorHandle) + ->batch(zeroOutFirstByte(sensorHandle), samplingPeriodNs, maxReportLatencyNs); } -Return HalProxy::flush(int32_t /* sensorHandle */) { - // TODO: Proxy API call to appropriate sub-HAL. - return Result::INVALID_OPERATION; +Return HalProxy::flush(int32_t sensorHandle) { + return getSubHalForSensorHandle(sensorHandle)->flush(zeroOutFirstByte(sensorHandle)); } Return HalProxy::injectSensorData(const Event& /* event */) {