NoHwServiceManager pretend like IServiceManager is registered

We don't actually want it registered, but we will return HWBINDER
transport so IServiceManager::getService() will actually return the fake
local NoHwServiceManager isntance.

Test: launch_cvd with isHidlSupported returning false
Bug: 218588089
Change-Id: Ibcd1c48687fa8f66bce07da5a23245a3a3a0fc9f
diff --git a/transport/ServiceManagement.cpp b/transport/ServiceManagement.cpp
index 8c9bc5b..a759c50 100644
--- a/transport/ServiceManagement.cpp
+++ b/transport/ServiceManagement.cpp
@@ -252,6 +252,12 @@
     }
 
     Return<Transport> getTransport(const hidl_string& fqName, const hidl_string& name) {
+        // We pretend like IServiceManager is declared for
+        // IServiceManager::getService to return this NoHwServiceManager
+        // instance
+        if (isServiceManager(fqName)) {
+            return Transport::HWBINDER;
+        }
         LOG(INFO) << "Trying to get transport of " << fqName << "/" << name
                   << " without hwservicemanager";
         return Transport::EMPTY;