Use android.hardware.vibrator NDK backend
Update vibrator HAL dependency to use the NDK backend.
Bug: 349595412
Test: libvibratorservice_test
Flag: EXEMPT mechanical refactor
Change-Id: I1eee7ea86d0535f93ed09d5295b3efbb4d5a1870
diff --git a/services/vibratorservice/VibratorManagerHalController.cpp b/services/vibratorservice/VibratorManagerHalController.cpp
index aa5b7fc..ba35d15 100644
--- a/services/vibratorservice/VibratorManagerHalController.cpp
+++ b/services/vibratorservice/VibratorManagerHalController.cpp
@@ -20,7 +20,7 @@
#include <vibratorservice/VibratorManagerHalController.h>
-namespace Aidl = android::hardware::vibrator;
+namespace Aidl = aidl::android::hardware::vibrator;
namespace android {
@@ -29,10 +29,15 @@
std::shared_ptr<ManagerHalWrapper> connectManagerHal(std::shared_ptr<CallbackScheduler> scheduler) {
static bool gHalExists = true;
if (gHalExists) {
- sp<Aidl::IVibratorManager> hal = waitForVintfService<Aidl::IVibratorManager>();
- if (hal) {
- ALOGV("Successfully connected to VibratorManager HAL AIDL service.");
- return std::make_shared<AidlManagerHalWrapper>(std::move(scheduler), hal);
+ auto serviceName = std::string(Aidl::IVibratorManager::descriptor) + "/default";
+ if (AServiceManager_isDeclared(serviceName.c_str())) {
+ std::shared_ptr<Aidl::IVibratorManager> hal = Aidl::IVibratorManager::fromBinder(
+ ndk::SpAIBinder(AServiceManager_checkService(serviceName.c_str())));
+ if (hal) {
+ ALOGV("Successfully connected to VibratorManager HAL AIDL service.");
+ return std::make_shared<AidlManagerHalWrapper>(std::move(scheduler),
+ std::move(hal));
+ }
}
}