diff options
author | 2022-05-05 17:07:05 -0700 | |
---|---|---|
committer | 2022-05-06 00:31:32 +0000 | |
commit | 24f2b4c066fda9c5258f1aa8afa0ce7b688fa8f0 (patch) | |
tree | ecf1a5e318a3a58a5a008212f141b74af4025911 | |
parent | bad4627a24da7ce8887de29acafa3ebc79ef6aa8 (diff) |
Restore sensor flush behavior for disabled clients
Add back code that blocks requests to flush a sensor from clients that
are disabled (e.g. UID is idle).
Also restore some conditional debug logs.
Fixes: 230704084
Test: CTS testBatchAndFlushUidIdle
Change-Id: I235f09b7bc79dd694fe6dc82ded9ec875e075822
-rw-r--r-- | services/sensorservice/SensorDevice.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/sensorservice/SensorDevice.cpp b/services/sensorservice/SensorDevice.cpp index 53a3025779..de050e02d0 100644 --- a/services/sensorservice/SensorDevice.cpp +++ b/services/sensorservice/SensorDevice.cpp @@ -612,8 +612,10 @@ int SensorDevice::getHalDeviceVersion() const { return SENSORS_DEVICE_API_VERSION_1_4; } -status_t SensorDevice::flush(void* /*ident*/, int handle) { +status_t SensorDevice::flush(void* ident, int handle) { if (mHalWrapper == nullptr) return NO_INIT; + if (isClientDisabled(ident)) return INVALID_OPERATION; + ALOGD_IF(DEBUG_CONNECTIONS, "\t>>> actuating h/w flush %d", handle); return mHalWrapper->flush(handle); } @@ -754,6 +756,13 @@ void SensorDevice::disableAllSensors() { status_t SensorDevice::injectSensorData(const sensors_event_t* injected_sensor_event) { if (mHalWrapper == nullptr) return NO_INIT; + ALOGD_IF(DEBUG_CONNECTIONS, + "sensor_event handle=%d ts=%" PRId64 " data=%.2f, %.2f, %.2f %.2f %.2f %.2f", + injected_sensor_event->sensor, injected_sensor_event->timestamp, + injected_sensor_event->data[0], injected_sensor_event->data[1], + injected_sensor_event->data[2], injected_sensor_event->data[3], + injected_sensor_event->data[4], injected_sensor_event->data[5]); + return mHalWrapper->injectSensorData(injected_sensor_event); } |