diff --git a/services/samgr/native/source/system_ability_manager_util.cpp b/services/samgr/native/source/system_ability_manager_util.cpp index 8b9cf16ffae25270ab492cda60f12f060df80275..1aee6a95a46c3b8a347ba5c85c04742ac9960ce3 100644 --- a/services/samgr/native/source/system_ability_manager_util.cpp +++ b/services/samgr/native/source/system_ability_manager_util.cpp @@ -245,31 +245,36 @@ bool SamgrUtil::CheckPengLai() void SamgrUtil::GetFilesByPriority(const std::string& path, std::vector& fileNames) { + std::map fileNamesMap; + CfgFiles* filePaths = GetCfgFiles(path.c_str()); + for (int i = 0; filePaths && i < MAX_CFG_POLICY_DIRS_CNT; i++) { + if (filePaths->paths[i] == nullptr) { + continue; + } + HILOGI("GetFilesByPriority filePaths : %{public}s!", filePaths->paths[i]); + std::vector files; + GetDirFiles(filePaths->paths[i], files); + for (const auto& file : files) { + HILOGD("GetFilesByPriority file : %{public}s!", file.c_str()); + fileNamesMap[fs::path(file).filename().string()] = file; + } + } + if (SamgrUtil::CheckPengLai()) { HILOGI("GetFilesByPriority penglai!"); - GetDirFiles(PENGLAI_PATH, fileNames); - } else { - std::map fileNamesMap; - CfgFiles* filePaths = GetCfgFiles(path.c_str()); - for (int i = 0; filePaths && i < MAX_CFG_POLICY_DIRS_CNT; i++) { - if (filePaths->paths[i] == nullptr) { - continue; - } - HILOGI("GetFilesByPriority filePaths : %{public}s!", filePaths->paths[i]); - std::vector files; - GetDirFiles(filePaths->paths[i], files); - for (const auto& file : files) { - HILOGD("GetFilesByPriority file : %{public}s!", file.c_str()); - fileNamesMap[fs::path(file).filename().string()] = file; - } - } - - for (const auto& pair : fileNamesMap) { - HILOGD("GetFilesByPriority files : %{public}s!", pair.second.c_str()); - fileNames.push_back(pair.second); + std::vector files; + GetDirFiles(PENGLAI_PATH, files); + for (const auto& file : files) { + HILOGD("GetFilesByPriority file : %{public}s!", file.c_str()); + fileNamesMap[fs::path(file).filename().string()] = file; } + } - FreeCfgFiles(filePaths); + for (const auto& pair : fileNamesMap) { + HILOGD("GetFilesByPriority files : %{public}s!", pair.second.c_str()); + fileNames.push_back(pair.second); } + + FreeCfgFiles(filePaths); } }