From 320488eae84ac3e562aa7f4534e517519975574a Mon Sep 17 00:00:00 2001 From: guoyi Date: Tue, 24 Jun 2025 14:46:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E8=AE=BE=E5=A4=87=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: guoyi --- .../devicenamemgr/device_name_manager.h | 18 ---- .../src/device_manager_service_listener.cpp | 4 +- .../src/devicenamemgr/device_name_manager.cpp | 89 ------------------- ...UTTest_device_manager_service_listener.cpp | 9 ++ 4 files changed, 12 insertions(+), 108 deletions(-) diff --git a/services/service/include/devicenamemgr/device_name_manager.h b/services/service/include/devicenamemgr/device_name_manager.h index 8e3f85a0f..ed68ca896 100644 --- a/services/service/include/devicenamemgr/device_name_manager.h +++ b/services/service/include/devicenamemgr/device_name_manager.h @@ -45,7 +45,6 @@ public: int32_t RestoreLocalDeviceName(); int32_t InitDeviceNameWhenLanguageOrRegionChanged(); std::string GetUserDefinedDeviceName(); - std::string GetLocalDisplayDeviceNameForPrivacy(); private: DeviceNameManager() = default; @@ -58,23 +57,6 @@ private: std::string GetLocalDisplayDeviceName(const std::string &prefixName, const std::string &subffixName, int32_t maxNamelength); std::string SubstrByBytes(const std::string &str, int32_t maxNumBytes); - /** - * @brief Convert the raw string to whole character, consider character encoding, such as One Chinese - * letter maybe encoded to 3 bytes. - * - * @param str raw string - * @return std::string string in encoded letter. - */ - std::vector ConvertToWholeCharacter(const std::string &str); - /** - * @brief anonymize the string middle part, left begin and end 3 letter, the middle part set "***" - * - * @param str the raw string - * @return std::string the string processed - */ - std::string AnoyPrivacyString(const std::string &str); - std::string GenLocalAnoyDeviceNameWithNickAndMarketName(const std::string &nickName, - const std::string &marketName); std::string GetSystemLanguage(); std::string GetSystemRegion(); diff --git a/services/service/src/device_manager_service_listener.cpp b/services/service/src/device_manager_service_listener.cpp index 2fa0fe73b..2eef1fa8e 100644 --- a/services/service/src/device_manager_service_listener.cpp +++ b/services/service/src/device_manager_service_listener.cpp @@ -1013,7 +1013,9 @@ void DeviceManagerServiceListener::OnSetRemoteDeviceNameResult(const ProcessInfo std::string DeviceManagerServiceListener::GetLocalDisplayDeviceNameForPrivacy() { #if !(defined(__LITEOS_M__) || defined(LITE_DEVICE)) - return DeviceNameManager::GetInstance().GetLocalDisplayDeviceNameForPrivacy(); + std::string displayName = ""; + DeviceNameManager::GetInstance().GetLocalDisplayDeviceName(0, displayName); + return displayName; #else return ""; #endif diff --git a/services/service/src/devicenamemgr/device_name_manager.cpp b/services/service/src/devicenamemgr/device_name_manager.cpp index 537f9d81c..01b689eff 100644 --- a/services/service/src/devicenamemgr/device_name_manager.cpp +++ b/services/service/src/devicenamemgr/device_name_manager.cpp @@ -347,36 +347,6 @@ int32_t DeviceNameManager::GetLocalDisplayDeviceName(int32_t maxNamelength, std: return DM_OK; } -std::string DeviceNameManager::GenLocalAnoyDeviceNameWithNickAndMarketName(const std::string &nickName, - const std::string &marketName) -{ - if (nickName.empty()) { - return marketName; - } - - std::string anoyNickName = AnoyPrivacyString(nickName); - std::string nameSeparator = NAME_SEPARATOR_ZH; - if (GetSystemLanguage() != LANGUAGE_ZH_HANS || GetSystemRegion() != LOCAL_ZH_HANS_CN) { - nameSeparator = NAME_SEPARATOR_OTHER; - } - - return anoyNickName + nameSeparator + marketName; -} - -std::string DeviceNameManager::GetLocalDisplayDeviceNameForPrivacy() -{ - int32_t userId = MultipleUserConnector::GetCurrentAccountUserID(); - std::string userDefinedDeviceName = ""; - GetUserDefinedDeviceName(userId, userDefinedDeviceName); - if (!userDefinedDeviceName.empty()) { - return AnoyPrivacyString(userDefinedDeviceName); - } - - std::string nickName = MultipleUserConnector::GetAccountNickName(userId); - std::string localMarketName = GetLocalMarketName(); - return GenLocalAnoyDeviceNameWithNickAndMarketName(nickName, localMarketName); -} - std::string DeviceNameManager::GetLocalDisplayDeviceName(const std::string &prefixName, const std::string &subffixName, int32_t maxNameLength) { @@ -470,65 +440,6 @@ int32_t DeviceNameManager::GetUserDefinedDeviceName(int32_t userId, std::string return GetValue(SETTINGSDATA_SECURE, userId, SETTINGS_GENERAL_USER_DEFINED_DEVICE_NAME, deviceName); } -std::string DeviceNameManager::AnoyPrivacyString(const std::string &str) -{ - std::vector wholeCharVec = ConvertToWholeCharacter(str); - if (wholeCharVec.size() == NUM0) { - return ""; - } - if (wholeCharVec.size() == NUM1) { - return wholeCharVec[0]; - } - - std::string res; - if (wholeCharVec.size() > NUM1 && wholeCharVec.size() <= NUM6) { - uint32_t leftLen = wholeCharVec.size() / 2; - for (uint32_t i = 0; i < leftLen; i++) { - res += wholeCharVec[i]; - } - res += ANOY_STRING; - return res; - } - - for (int32_t i = 0; i < NUM3; i++) { - res += wholeCharVec[i]; - } - res += ANOY_STRING; - for (size_t j = wholeCharVec.size() - NUM3; j < wholeCharVec.size(); j++) { - res += wholeCharVec[j]; - } - return res; -} - -std::vector DeviceNameManager::ConvertToWholeCharacter(const std::string &str) -{ - std::vector wholeCharacterVec; - int32_t length = static_cast(str.size()); - for (int32_t i = 0; i < length;) { - unsigned char c = static_cast(str[i]); - int numBytes = NUM1; - if ((c & 0x80) == 0) { - numBytes = NUM1; - } else if ((c & 0xE0) == 0xC0) { - numBytes = NUM2; - } else if ((c & 0xF0) == 0xE0) { - numBytes = NUM3; - } else if ((c & 0xF8) == 0xF0) { - numBytes = NUM4; - } else { - LOGE("Invalid characters"); - return {}; - } - if (i + numBytes > length) { - break; - } - std::string substr(str.begin() + i, str.begin() + i + numBytes); - wholeCharacterVec.emplace_back(substr); - i += numBytes; - } - return wholeCharacterVec; -} - std::string DeviceNameManager::SubstrByBytes(const std::string &str, int32_t maxNumBytes) { int32_t length = static_cast(str.size()); diff --git a/test/unittest/UTTest_device_manager_service_listener.cpp b/test/unittest/UTTest_device_manager_service_listener.cpp index a2bc5c562..23198a4e9 100644 --- a/test/unittest/UTTest_device_manager_service_listener.cpp +++ b/test/unittest/UTTest_device_manager_service_listener.cpp @@ -1084,6 +1084,15 @@ HWTEST_F(DeviceManagerServiceListenerTest, SetDeviceInfo_001, testing::ext::Test listener_->SetDeviceInfo(pReq, processInfo, state, deviceInfo, deviceBasicInfo); EXPECT_EQ(listener_->alreadyOnlinePkgName_.empty(), false); } + +HWTEST_F(DeviceManagerServiceListenerTest, GetLocalDisplayDeviceNameForPrivacy_001, testing::ext::TestSize.Level1) +{ + std::shared_ptr listener_ = std::make_shared(); + EXPECT_NE(listener_, nullptr); + std::string displayDeviceName = ""; + displayDeviceName = listener_->GetLocalDisplayDeviceNameForPrivacy(); + EXPECT_FALSE(displayDeviceName.empty()); +} } // namespace } // namespace DistributedHardware } // namespace OHOS -- Gitee