summaryrefslogtreecommitdiff
path: root/wifi/1.3/default/service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'wifi/1.3/default/service.cpp')
-rw-r--r--wifi/1.3/default/service.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/wifi/1.3/default/service.cpp b/wifi/1.3/default/service.cpp
index a39c3eaef0..c470c1e7d2 100644
--- a/wifi/1.3/default/service.cpp
+++ b/wifi/1.3/default/service.cpp
@@ -15,6 +15,7 @@
*/
#include <android-base/logging.h>
+#include <hidl/HidlLazyUtils.h>
#include <hidl/HidlTransportSupport.h>
#include <utils/Looper.h>
#include <utils/StrongPointer.h>
@@ -28,6 +29,7 @@
using android::hardware::configureRpcThreadpool;
using android::hardware::joinRpcThreadpool;
+using android::hardware::LazyServiceRegistrar;
using android::hardware::wifi::V1_3::implementation::feature_flags::
WifiFeatureFlags;
using android::hardware::wifi::V1_3::implementation::legacy_hal::WifiLegacyHal;
@@ -45,6 +47,12 @@ size_t getHWBinderMmapSize() {
}
#endif /* ARCH_ARM_32 */
+#ifdef LAZY_SERVICE
+const bool kLazyService = true;
+#else
+const bool kLazyService = false;
+#endif
+
int main(int /*argc*/, char** argv) {
#ifdef ARCH_ARM_32
android::hardware::ProcessState::initWithMmapSize(getHWBinderMmapSize());
@@ -61,8 +69,14 @@ int main(int /*argc*/, char** argv) {
std::make_shared<WifiLegacyHal>(),
std::make_shared<WifiModeController>(),
std::make_shared<WifiFeatureFlags>());
- CHECK_EQ(service->registerAsService(), android::NO_ERROR)
- << "Failed to register wifi HAL";
+ if (kLazyService) {
+ LazyServiceRegistrar registrar;
+ CHECK_EQ(registrar.registerService(service), android::NO_ERROR)
+ << "Failed to register wifi HAL";
+ } else {
+ CHECK_EQ(service->registerAsService(), android::NO_ERROR)
+ << "Failed to register wifi HAL";
+ }
joinRpcThreadpool();