Skip to content

fix(camera): display FHD Camera in image device details#707

Merged
deepin-bot[bot] merged 1 commit into
linuxdeepin:develop/eaglefrom
Resurgamz:fix/fhd-camera-details-task-392807
Jul 15, 2026
Merged

fix(camera): display FHD Camera in image device details#707
deepin-bot[bot] merged 1 commit into
linuxdeepin:develop/eaglefrom
Resurgamz:fix/fhd-camera-details-task-392807

Conversation

@Resurgamz

@Resurgamz Resurgamz commented Jul 15, 2026

Copy link
Copy Markdown

Show FHD Camera only in the image device Name field for special types.
特殊机型的图像设备详情名称字段显示为FHD Camera。

Log:修复特殊机型图像设备名称显示
Task: https://pms.uniontech.com/task-view-392807.html
Influence:Flemingz和Flemingzs机型的图像设备详情名称显示为FHD Camera。

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @Resurgamz, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

Show FHD Camera only in the image device Name field for special types.

特殊机型的图像设备详情名称字段显示为FHD Camera。

Log: 修复特殊机型图像设备名称显示

PMS: TASK-392807

Influence: FlemingZ和FlemingZS机型的图像设备详情名称显示为FHD Camera。
@Resurgamz Resurgamz force-pushed the fix/fhd-camera-details-task-392807 branch from ab27622 to 0b87d7f Compare July 15, 2026 02:20
@deepin-ci-robot

Copy link
Copy Markdown

deepin pr auto review

★ 总体评分:97分

■ 【总体评价】

代码修复了设备名称被副作用篡改的问题,将特殊命名逻辑集中在展示层处理
逻辑正确且消除了状态污染,但硬编码字符串和缺少注释轻微影响可维护性,扣3分

■ 【详细分析】

  • 1.语法逻辑(正确)✓

diff移除了setSpecialCameraName函数及其在setInfoFromLshw(第28行)、setInfoFromHwinfo(第63、81行)中的3处调用,改为在loadBaseDeviceInfo(第162-166行)中通过三目运算符临时替换展示值。条件判断Common::specialComType == Common::kSpecialType9 || Common::specialComType == Common::kSpecialType10与原逻辑等价,m_Name不再被覆盖,其他依赖该变量的逻辑(如setEnable中的DBus调用)将使用真实硬件名称。
潜在问题:无
建议:可添加注释说明为何仅在展示层替换名称而非修改源数据

  • 2.代码质量(良好)✓

重构将分散在3处的特殊命名逻辑集中到1处,消除了代码重复和副作用。但原代码中的kFhdCameraName常量被移除,字符串"FHD Camera"直接硬编码在三目运算符中,降低了可维护性。loadBaseDeviceInfo函数缺少对特殊机型判断的注释说明。
潜在问题:硬编码字符串" FHD Camera"若未来需要修改需全文搜索;缺少业务逻辑注释
建议:保留kFhdCameraName常量定义或在类中声明为静态常量;添加注释说明kSpecialType9/10对应机型为何需要特殊命名

  • 3.代码性能(无性能问题)✓

布尔变量isFhdCamera在函数入口计算一次,三目运算符开销可忽略。相比原方案在3处位置分别调用函数并执行字符串赋值,新方案仅在展示时计算一次,性能略有提升。
潜在问题:无
建议:无需优化

  • 4.代码安全(存在0个安全漏洞)✓

漏洞对比统计:新增漏洞 0 个,减少漏洞 0 个,持平 0 个
本次修改仅涉及设备名称展示逻辑调整,不涉及用户输入处理、内存操作、外部命令调用或权限校验,无攻击面引入。

  • 建议:无需安全修复

■ 【改进建议代码示例】

// 在DeviceImage.h中添加静态常量声明
class DeviceImage : public DeviceBaseInfo
{
    // ...
private:
    static constexpr const char* kFhdCameraName = "FHD Camera";
};

// DeviceImage.cpp 中的loadBaseDeviceInfo改进版本
void DeviceImage::loadBaseDeviceInfo()
{
    qCDebug(appLog) << "DeviceImage::loadBaseDeviceInfo called.";
    
    // 特殊机型(kSpecialType9/10)在UI展示时使用统一名称"FHD Camera"
    // 注意:不修改m_Name本身,确保其他依赖真实设备名的逻辑(如DBus调用)不受影响
    const bool isFhdCamera = Common::specialComType == Common::kSpecialType9
        || Common::specialComType == Common::kSpecialType10;
    
    addBaseDeviceInfo("Name", isFhdCamera ? kFhdCameraName : m_Name);
    addBaseDeviceInfo("Vendor", m_Vendor);
    addBaseDeviceInfo("Version", m_Version);
    addBaseDeviceInfo("Model", m_Model);
    addBaseDeviceInfo("Bus Info", m_BusInfo);
    
    qCDebug(appLog) << "Base device info loaded.";
}

@deepin-ci-robot

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: max-lvs, Resurgamz

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@Resurgamz

Copy link
Copy Markdown
Author

/forcemerge

@deepin-bot

deepin-bot Bot commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

This pr force merged! (status: unstable)

@deepin-bot deepin-bot Bot merged commit d3bde18 into linuxdeepin:develop/eagle Jul 15, 2026
21 of 23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants