From aa4787f833be80fd3b4ae93ca196a09feb0750ec Mon Sep 17 00:00:00 2001 From: guoyi Date: Mon, 7 Jul 2025 20:35:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=B4=A6=E5=8F=B7=E5=AD=90?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=B0=B1=E7=BB=AA=E7=9A=84=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: guoyi --- .../src/devicenamemgr/device_name_manager.cpp | 9 +++-- test/unittest/UTTest_device_name_manager.cpp | 38 +++++++++++++++++++ 2 files changed, 44 insertions(+), 3 deletions(-) diff --git a/services/service/src/devicenamemgr/device_name_manager.cpp b/services/service/src/devicenamemgr/device_name_manager.cpp index 01b689eff..f58602049 100644 --- a/services/service/src/devicenamemgr/device_name_manager.cpp +++ b/services/service/src/devicenamemgr/device_name_manager.cpp @@ -100,8 +100,11 @@ bool DeviceNameManager::DependsIsReady() return false; } if (!isAccountSysReady_) { - LOGE("Account system not ready"); - return false; + if (MultipleUserConnector::GetCurrentAccountUserID() == DEFAULT_USER_ID) { + LOGE("Account system not ready"); + return false; + } + isAccountSysReady_ = true; } if (GetRemoteObj() == nullptr) { LOGE("dm sa not publish"); @@ -276,7 +279,7 @@ void DeviceNameManager::UnRegisterDeviceNameChangeMonitor(int32_t userId) void DeviceNameManager::InitDeviceName(int32_t userId) { LOGI("In userId:%{public}d", userId); - if (userId == -1) { + if (userId == DEFAULT_USER_ID) { LOGE("userId:%{public}d is invalid", userId); return; } diff --git a/test/unittest/UTTest_device_name_manager.cpp b/test/unittest/UTTest_device_name_manager.cpp index d27817429..4351f7513 100644 --- a/test/unittest/UTTest_device_name_manager.cpp +++ b/test/unittest/UTTest_device_name_manager.cpp @@ -673,5 +673,43 @@ HWTEST_F(DeviceNameManagerTest, GetLocalDisplayDeviceName_008, testing::ext::Tes EXPECT_EQ(result, "VeryLon..."); } +HWTEST_F(DeviceNameManagerTest, DependsIsReady_001, testing::ext::TestSize.Level1) +{ + bool srcDataShareReady = DeviceNameManager::GetInstance().isDataShareReady_; + DeviceNameManager::GetInstance().isDataShareReady_ = false; + bool result = DeviceNameManager::GetInstance().DependsIsReady(); + EXPECT_FALSE(result); + DeviceNameManager::GetInstance().isDataShareReady_ = srcDataShareReady; +} + +HWTEST_F(DeviceNameManagerTest, DependsIsReady_002, testing::ext::TestSize.Level1) +{ + bool srcDataShareReady = DeviceNameManager::GetInstance().isDataShareReady_; + bool srcAccountSysReady = DeviceNameManager::GetInstance().isAccountSysReady_; + DeviceNameManager::GetInstance().isDataShareReady_ = true; + DeviceNameManager::GetInstance().isAccountSysReady_ = false; + EXPECT_CALL(*multipleUserConnector_, GetCurrentAccountUserID()).WillRepeatedly(Return(DEFAULT_USER_ID)); + bool result = DeviceNameManager::GetInstance().DependsIsReady(); + EXPECT_FALSE(result); + DeviceNameManager::GetInstance().isDataShareReady_ = srcDataShareReady; + DeviceNameManager::GetInstance().isAccountSysReady_ = srcAccountSysReady; +} + +HWTEST_F(DeviceNameManagerTest, DependsIsReady_003, testing::ext::TestSize.Level1) +{ + bool srcDataShareReady = DeviceNameManager::GetInstance().isDataShareReady_; + bool srcAccountSysReady = DeviceNameManager::GetInstance().isAccountSysReady_; + sptr srcRemoteObj = DeviceNameManager::GetInstance().remoteObj_; + DeviceNameManager::GetInstance().isDataShareReady_ = true; + DeviceNameManager::GetInstance().isAccountSysReady_ = false; + DeviceNameManager::GetInstance().remoteObj_ = nullptr; + EXPECT_CALL(*multipleUserConnector_, GetCurrentAccountUserID()).WillRepeatedly(Return(0)); + bool result = DeviceNameManager::GetInstance().DependsIsReady(); + EXPECT_TRUE(DeviceNameManager::GetInstance().isAccountSysReady_); + EXPECT_FALSE(result); + DeviceNameManager::GetInstance().isDataShareReady_ = srcDataShareReady; + DeviceNameManager::GetInstance().isAccountSysReady_ = srcAccountSysReady; + DeviceNameManager::GetInstance().remoteObj_ = srcRemoteObj; +} } // DistributedHardware } // OHOS -- Gitee