summaryrefslogtreecommitdiffstats
path: root/services/sensorservice
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2015-12-07 17:07:16 -0800
committerSteve Kondik <steve@cyngn.com>2015-12-07 17:07:16 -0800
commit4951bcc16e99daafc44581e4222f012f9d419ae0 (patch)
tree7be00878227a20b4610649a7d455db2d9cb3463c /services/sensorservice
parent53602ffde5527c476a1d7d39da12ecd7f58917f4 (diff)
parenta78c2e65e13cace4fdbb0295beca5b11de9fde06 (diff)
downloadframeworks_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.cpp13
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);