From 13ca5df169b2d55ac5787189c12b70df5c19b18d Mon Sep 17 00:00:00 2001 From: Erik Staats Date: Fri, 4 Feb 2022 06:39:24 -0800 Subject: [PATCH] Add ASensorManager_getDynamicSensorList. Bug: 217890463 Test: Used uhid-sample to add a dynamic sensor and verified it can be used with sensor_test. Change-Id: Ia930c6993c97527381d30e33f817f37632cb8396 --- native/android/libandroid.map.txt | 1 + native/android/sensor.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt index b7beb6e1a6a8..3009a36bae2c 100644 --- a/native/android/libandroid.map.txt +++ b/native/android/libandroid.map.txt @@ -205,6 +205,7 @@ LIBANDROID { ASensorManager_destroyEventQueue; ASensorManager_getDefaultSensor; ASensorManager_getDefaultSensorEx; # introduced=21 + ASensorManager_getDynamicSensorList; # introduced=33 ASensorManager_getInstance; ASensorManager_getInstanceForPackage; # introduced=26 ASensorManager_getSensorList; diff --git a/native/android/sensor.cpp b/native/android/sensor.cpp index 63082fd70bc6..968de34f5d69 100644 --- a/native/android/sensor.cpp +++ b/native/android/sensor.cpp @@ -83,6 +83,16 @@ int ASensorManager_getSensorList(ASensorManager* manager, ASensorList* list) { return c; } +ssize_t ASensorManager_getDynamicSensorList(ASensorManager* manager, ASensorList* list) { + RETURN_IF_MANAGER_IS_NULL(android::BAD_VALUE); + Sensor const* const* l; + ssize_t c = static_cast(manager)->getDynamicSensorList(&l); + if (list) { + *list = reinterpret_cast(l); + } + return c; +} + ASensor const* ASensorManager_getDefaultSensor(ASensorManager* manager, int type) { RETURN_IF_MANAGER_IS_NULL(nullptr); return static_cast(manager)->getDefaultSensor(type);