diff options
author | Steve Kondik <steve@cyngn.com> | 2015-12-07 17:07:16 -0800 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-12-07 17:07:16 -0800 |
commit | 4951bcc16e99daafc44581e4222f012f9d419ae0 (patch) | |
tree | 7be00878227a20b4610649a7d455db2d9cb3463c /services/sensorservice | |
parent | 53602ffde5527c476a1d7d39da12ecd7f58917f4 (diff) | |
parent | a78c2e65e13cace4fdbb0295beca5b11de9fde06 (diff) | |
download | frameworks_native-4951bcc16e99daafc44581e4222f012f9d419ae0.zip frameworks_native-4951bcc16e99daafc44581e4222f012f9d419ae0.tar.gz frameworks_native-4951bcc16e99daafc44581e4222f012f9d419ae0.tar.bz2 |
Merge tag 'android-6.0.1_r3' of https://android.googlesource.com/platform/frameworks/native into cm-13.0
Android 6.0.1 release 3
Change-Id: I437aaf148d440a8144afe1454948980fc3b40cca
Diffstat (limited to 'services/sensorservice')
-rw-r--r-- | services/sensorservice/SensorService.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/services/sensorservice/SensorService.cpp b/services/sensorservice/SensorService.cpp index 9c67be2..28af943 100644 --- a/services/sensorservice/SensorService.cpp +++ b/services/sensorservice/SensorService.cpp @@ -913,11 +913,16 @@ status_t SensorService::enable(const sp<SensorEventConnection>& connection, status_t err = sensor->batch(connection.get(), handle, 0, samplingPeriodNs, maxBatchReportLatencyNs); - // Call flush() before calling activate() on the sensor. Wait for a first flush complete - // event before sending events on this connection. Ignore one-shot sensors which don't - // support flush(). Also if this sensor isn't already active, don't call flush(). + // Call flush() before calling activate() on the sensor. Wait for a first + // flush complete event before sending events on this connection. Ignore + // one-shot sensors which don't support flush(). Ignore on-change sensors + // to maintain the on-change logic (any on-change events except the initial + // one should be trigger by a change in value). Also if this sensor isn't + // already active, don't call flush(). const SensorDevice& device(SensorDevice::getInstance()); - if (err == NO_ERROR && sensor->getSensor().getReportingMode() != AREPORTING_MODE_ONE_SHOT && + if (err == NO_ERROR && + sensor->getSensor().getReportingMode() != AREPORTING_MODE_ONE_SHOT && + sensor->getSensor().getReportingMode() != AREPORTING_MODE_ON_CHANGE && rec->getNumConnections() > 1) { if (device.getHalDeviceVersion() >= SENSORS_DEVICE_API_VERSION_1_1) { connection->setFirstFlushPending(handle, true); |