diff --git a/services/service/include/devicenamemgr/device_name_manager.h b/services/service/include/devicenamemgr/device_name_manager.h index 8e3f85a0fc15defcd638cdc0cde42c592fbd14a8..ed68ca896c0116ba810c879ec5e77f2ceb7aed27 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 f48a13847ac3ccf4f584bba720a0e99ad1c0b199..00260e3edb2bf0626cae561af9b0c26ca09c0811 100644 --- a/services/service/src/device_manager_service_listener.cpp +++ b/services/service/src/device_manager_service_listener.cpp @@ -1034,7 +1034,9 @@ void DeviceManagerServiceListener::SetExistPkgName(const std::set & 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 537f9d81cd47da492723eca94a22d28738df7c6a..01b689eff46a7a0cf298717377c5e75a52ea070e 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/servicesfuzztest/devicenamemanager_fuzzer/device_name_manager_fuzzer.cpp b/test/servicesfuzztest/devicenamemanager_fuzzer/device_name_manager_fuzzer.cpp index 34c66b67cc23dd6a9916221041258437da6d7a71..69148d8ab6578812c3444d6ad218fa45f3b13632 100644 --- a/test/servicesfuzztest/devicenamemanager_fuzzer/device_name_manager_fuzzer.cpp +++ b/test/servicesfuzztest/devicenamemanager_fuzzer/device_name_manager_fuzzer.cpp @@ -115,15 +115,6 @@ void DeviceNameManagerSecondFuzzTest(const uint8_t* data, size_t size) std::shared_ptr deviceNameMgr = std::make_shared(); deviceNameMgr->UnInit(); deviceNameMgr->GetUserDefinedDeviceName(); - std::string str; - deviceNameMgr->AnoyPrivacyString(str); - str = "1"; - deviceNameMgr->AnoyPrivacyString(str); - str = "1234"; - deviceNameMgr->AnoyPrivacyString(str); - str = fdp.ConsumeRandomLengthString(); - deviceNameMgr->AnoyPrivacyString(str); - deviceNameMgr->ConvertToWholeCharacter(str); } } // namespace DistributedHardware } // namespace OHOS diff --git a/test/unittest/UTTest_device_manager_service_listener.cpp b/test/unittest/UTTest_device_manager_service_listener.cpp index a2bc5c562297f1d8b6140fe7238809eebec6ce09..23198a4e9f58e73a4e8ef3e3dc35f764d391cb14 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