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);