Merge changes from topic "sensors_ndk_filter"

* changes:
  Export ASensorEventQueue_requestAdditionalInfoEvents
  Add ASensorEventQueue_requestAdditionalInfoEvents
This commit is contained in:
TreeHugger Robot
2019-01-22 20:47:43 +00:00
committed by Android (Google) Code Review
2 changed files with 13 additions and 3 deletions

View File

@@ -172,6 +172,7 @@ LIBANDROID {
ASensorEventQueue_hasEvents;
ASensorEventQueue_registerSensor; # introduced=26
ASensorEventQueue_setEventRate;
ASensorEventQueue_requestAdditionalInfoEvents; # introduced=29
ASensorManager_configureDirectReport; # introduced=26
ASensorManager_createEventQueue;
ASensorManager_createHardwareBufferDirectChannel; # introduced=26

View File

@@ -115,6 +115,7 @@ ASensorEventQueue* ASensorManager_createEventQueue(ASensorManager* manager,
if (queue != 0) {
ALooper_addFd(looper, queue->getFd(), ident, ALOOPER_EVENT_INPUT, callback, data);
queue->looper = looper;
queue->requestAdditionalInfo = false;
queue->incStrong(manager);
}
return static_cast<ASensorEventQueue*>(queue.get());
@@ -274,11 +275,19 @@ ssize_t ASensorEventQueue_getEvents(ASensorEventQueue* queue, ASensorEvent* even
return android::BAD_VALUE;
}
ssize_t actual = static_cast<SensorEventQueue*>(queue)->read(events, count);
SensorEventQueue* sensorQueue = static_cast<SensorEventQueue*>(queue);
ssize_t actual = sensorQueue->read(events, count);
if (actual > 0) {
static_cast<SensorEventQueue*>(queue)->sendAck(events, actual);
sensorQueue->sendAck(events, actual);
}
return actual;
return sensorQueue->filterEvents(events, actual);
}
int ASensorEventQueue_requestAdditionalInfoEvents(ASensorEventQueue* queue, bool enable) {
RETURN_IF_QUEUE_IS_NULL(android::BAD_VALUE);
queue->requestAdditionalInfo = enable;
return android::OK;
}
/*****************************************************************************/