diff options
Diffstat (limited to 'native/android/sensor.cpp')
-rw-r--r-- | native/android/sensor.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/native/android/sensor.cpp b/native/android/sensor.cpp index b09bc2e..73b52aa 100644 --- a/native/android/sensor.cpp +++ b/native/android/sensor.cpp @@ -59,6 +59,19 @@ ASensor const* ASensorManager_getDefaultSensor(ASensorManager* manager, int type return static_cast<SensorManager*>(manager)->getDefaultSensor(type); } +ASensor const* ASensorManager_getDefaultSensorEx(ASensorManager* manager, + int type, bool wakeUp) { + Sensor const* const* sensorList; + size_t size = static_cast<SensorManager*>(manager)->getSensorList(&sensorList); + for (size_t i = 0; i < size; ++i) { + if (ASensor_getType(sensorList[i]) == type && + ASensor_isWakeUpSensor(sensorList[i]) == wakeUp) { + return reinterpret_cast<ASensor const *>(sensorList[i]); + } + } + return NULL; +} + ASensorEventQueue* ASensorManager_createEventQueue(ASensorManager* manager, ALooper* looper, int ident, ALooper_callbackFunc callback, void* data) { @@ -176,3 +189,8 @@ int ASensor_getReportingMode(ASensor const* sensor) { return static_cast<Sensor const*>(sensor)->getReportingMode(); } + +bool ASensor_isWakeUpSensor(ASensor const* sensor) +{ + return static_cast<Sensor const*>(sensor)->isWakeUpSensor(); +}
\ No newline at end of file |