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