diff --git a/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp b/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp index b4028301a72553b81099d2463f5c562040e38e8b..afa23a979cd7c0f76c015a5f85459a50a671e163 100644 --- a/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp +++ b/services/distributedhardwarefwkservice/src/distributed_hardware_manager_factory.cpp @@ -110,7 +110,7 @@ int32_t DistributedHardwareManagerFactory::SendOffLineEvent(const std::string &n } std::lock_guard lock(mutex_); - if (distributedHardwareMgrPtr_ == nullptr) { + if (distributedHardwareMgrPtr_ == nullptr && !Init()) { DHLOGE("distributedHardwareMgr is null"); return ERR_DH_FWK_HARDWARE_MANAGER_LOAD_IMPL_FAILED; } diff --git a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp index 0c6b882ba263c237ec04760b79335a354856ebd7..15db9dbd24ecea944c5320beee3836ef5adf7761 100644 --- a/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp +++ b/services/distributedhardwarefwkservice/test/unittest/common/accessmanager/access_manager_test.cpp @@ -115,7 +115,7 @@ HWTEST_F(AccessManagerTest, SendOnLineEvent_002, TestSize.Level1) */ HWTEST_F(AccessManagerTest, SendOffLineEvent_001, TestSize.Level1) { - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); + ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); for (const auto &dev : TEST_DEVICES) { auto ret = @@ -140,17 +140,17 @@ HWTEST_F(AccessManagerTest, SendOffLineEvent_001, TestSize.Level1) */ HWTEST_F(AccessManagerTest, SendOffLineEvent_002, TestSize.Level1) { - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); + ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); auto ret = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent("", TEST_DEVICES[0].second, TEST_DEV_TYPE_PAD); ASSERT_EQ(ERR_DH_FWK_REMOTE_NETWORK_ID_IS_EMPTY, ret); - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); + ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); ret = DistributedHardwareManagerFactory::GetInstance().SendOffLineEvent(TEST_DEVICES[0].first, "", TEST_DEV_TYPE_PAD); - ASSERT_EQ(ERR_DH_FWK_HARDWARE_MANAGER_LOAD_IMPL_FAILED, ret); - ASSERT_FALSE(DistributedHardwareManagerFactory::GetInstance().IsInit()); + ASSERT_EQ(ERR_DH_FWK_REMOTE_DEVICE_ID_IS_EMPTY, ret); + ASSERT_TRUE(DistributedHardwareManagerFactory::GetInstance().IsInit()); } /**