diff options
| -rw-r--r-- | services/sensorservice/SensorDeviceUtils.cpp | 5 | ||||
| -rw-r--r-- | services/sensorservice/SensorDeviceUtils.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/services/sensorservice/SensorDeviceUtils.cpp b/services/sensorservice/SensorDeviceUtils.cpp index 30de63fd79..dbafffe303 100644 --- a/services/sensorservice/SensorDeviceUtils.cpp +++ b/services/sensorservice/SensorDeviceUtils.cpp @@ -29,6 +29,11 @@ namespace android { namespace SensorDeviceUtils { HidlServiceRegistrationWaiter::HidlServiceRegistrationWaiter() { +} + +void HidlServiceRegistrationWaiter::onFirstRef() { + // Creating sp<...>(this) in the constructor should be avoided, hence + // registerForNotifications is called in onFirstRef callback. mRegistered = ISensors::registerForNotifications("default", this); } diff --git a/services/sensorservice/SensorDeviceUtils.h b/services/sensorservice/SensorDeviceUtils.h index 4e429146eb..e2eb606b9a 100644 --- a/services/sensorservice/SensorDeviceUtils.h +++ b/services/sensorservice/SensorDeviceUtils.h @@ -46,6 +46,8 @@ public: * @return true if service is restart since last reset(); false otherwise. */ bool wait(); +protected: + void onFirstRef() override; private: bool mRegistered; |