summaryrefslogtreecommitdiff
path: root/wifi/1.3/default/service.cpp
diff options
context:
space:
mode:
authorScott Lobdell <slobdell@google.com>2019-02-05 23:29:57 -0800
committerSteven Moreland <smoreland@google.com>2019-02-06 19:31:20 +0000
commit1c5b5d75ceeeae9b4902bd62d2907a0b40d22f26 (patch)
tree6a542cdf2e2e37f83041151f2d2de9046e58eabf /wifi/1.3/default/service.cpp
parent44c873c6ea9ddae6188f5925dbc25958edd962c1 (diff)
parent7dc0a011c2f9fa7221003b2b6859299e88405713 (diff)
Merge QP1A.190205.002
Change-Id: I00eea204467afb5984b2dbcc87d8e8ff82aac307
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();