From 4b4c7b744db68a297c192be417d2ab4b1128e717 Mon Sep 17 00:00:00 2001 From: Stan Rokita Date: Tue, 10 Sep 2019 15:07:59 -0700 Subject: [PATCH] MultiHal 2.0 - activate, batch, flush methods of HalProxy These three methods of HalProxy simply call the apropriate ISensors methods of the subhal pointed to by sensorHandle. Test: Loaded onto device and observed no crashing. Bug: 136511617 Change-Id: If90652554ea18c22b24aead0074ab9847eae0a4f --- sensors/2.0/multihal/HalProxy.cpp | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) 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 */) {