summaryrefslogtreecommitdiff
path: root/modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h
diff options
context:
space:
mode:
authorErik Staats <estaats@google.com>2021-09-28 05:50:43 -0700
committerErik Staats <estaats@google.com>2021-09-29 10:07:03 -0700
commit7b29add5f73449e3fdcb462f030b7f44c985815e (patch)
treeb8c3d56791b68d4acf1d02e6fcf862ee8a09d149 /modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h
parent3c7a12d8f1764df734f74b486e57acf1f629dd5e (diff)
dynamic_sensor: Notify multi-HAL 2.1 of connected sensors.
Bug: 195964858 Test: Paired a Sony PS4 controller and verified it is present in sensor list as an accelerometer. It can't be sampled, but the LSM6DSR accelerometer may still be sampled. Change-Id: I182291cebdf84e5f6cd44d16debd6a07c4bc5281
Diffstat (limited to 'modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h')
-rw-r--r--modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h b/modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h
index ab5d2999..e9a46d68 100644
--- a/modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h
+++ b/modules/sensors/dynamic_sensor/DynamicSensorsSubHal.h
@@ -25,6 +25,7 @@ namespace android {
namespace SensorHalExt {
class DynamicSensorsSubHal :
+ public SensorEventCallback,
public ::android::hardware::sensors::V2_1::implementation::ISensorsSubHal {
using Event = ::android::hardware::sensors::V2_1::Event;
using hidl_handle = ::android::hardware::hidl_handle;
@@ -65,13 +66,20 @@ public:
Return<Result> initialize(
const sp<IHalProxyCallback>& hal_proxy_callback) override;
+ // SensorEventCallback.
+ int submitEvent(SP(BaseSensorObject) sensor,
+ const sensors_event_t& e) override;
+
private:
static constexpr int32_t kDynamicHandleBase = 0;
static constexpr int32_t kDynamicHandleEnd = 0x1000000;
static constexpr int32_t kMaxDynamicHandleCount = kDynamicHandleEnd -
kDynamicHandleBase;
+ void onSensorConnected(int handle, const sensor_t* sensor_info);
+
std::unique_ptr<DynamicSensorManager> mDynamicSensorManager;
+ sp<IHalProxyCallback> mHalProxyCallback;
};
} // namespace SensorHalExt