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
This commit is contained in:
Stan Rokita
2019-09-10 15:07:59 -07:00
parent 1638531dfb
commit 4b4c7b744d

View File

@@ -123,9 +123,9 @@ Return<Result> HalProxy::setOperationMode(OperationMode /* mode */) {
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> HalProxy::initialize(
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 */) {