fix: 玲珑应用功能适配
v23环境下,玲珑应用和普通应用的desktop文件名相同, 两种类型的应用都安装的情况下只显示一个. 修复方案: 删除去重处理, 补充desktop全路径校验 Log: Influence: 启动器-应用列表中可以获取到所有应用 Task: https://pms.uniontech.com/task-view-152805.html Change-Id: I9eeed5e87de2cbaf7e44d75f81c40f00af344b6a
This commit is contained in:
@ -371,7 +371,6 @@ std::map<std::string, bool> AppsDir::getAppNames()
|
||||
// 获取所有应用信息
|
||||
std::vector<DesktopInfo> AppsDir::getAllDesktopInfos()
|
||||
{
|
||||
std::map<std::string, bool> recoder;
|
||||
std::vector<DesktopInfo> desktopInfos;
|
||||
|
||||
for (auto dir : BaseDir::appDirs()) {
|
||||
@ -381,19 +380,13 @@ std::vector<DesktopInfo> AppsDir::getAllDesktopInfos()
|
||||
continue;
|
||||
|
||||
for (const auto &iter : appNames) {
|
||||
if (recoder.find(iter.first) != recoder.end())
|
||||
continue;
|
||||
|
||||
std::string filePath = dir + iter.first;
|
||||
|
||||
DesktopInfo desktopInfo(filePath);
|
||||
if (!desktopInfo.isValidDesktop())
|
||||
if (!DFile::isExisted(filePath) || !desktopInfo.isValidDesktop() || !desktopInfo.shouldShow())
|
||||
continue;
|
||||
|
||||
if (!desktopInfo.shouldShow())
|
||||
continue;
|
||||
|
||||
desktopInfos.push_back(std::move(desktopInfo));
|
||||
recoder[iter.first] = true;
|
||||
desktopInfos.push_back(desktopInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user