diff options
author | 2022-02-04 06:39:24 -0800 | |
---|---|---|
committer | 2022-02-08 14:20:32 -0800 | |
commit | 13ca5df169b2d55ac5787189c12b70df5c19b18d (patch) | |
tree | 90b71d5ddc3432b73ac1435b443fce18724bf16e | |
parent | 34c22039a24bce7531f2312aa91b15cb844632ad (diff) |
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
-rw-r--r-- | native/android/libandroid.map.txt | 1 | ||||
-rw-r--r-- | native/android/sensor.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
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<SensorManager*>(manager)->getDynamicSensorList(&l); + if (list) { + *list = reinterpret_cast<ASensorList>(l); + } + return c; +} + ASensor const* ASensorManager_getDefaultSensor(ASensorManager* manager, int type) { RETURN_IF_MANAGER_IS_NULL(nullptr); return static_cast<SensorManager*>(manager)->getDefaultSensor(type); |