04 · 功能清单与车型差异
一、完整功能清单(36 项,按 Category)
后视镜(5)
| 功能 | Controller | 配置字控制 |
|---|
| 后视镜调节(折叠+调节) | MirrorSettingController | 默认显示 |
| 倒车自动下翻 | MirrorAutoDownController | 默认显示 |
| 锁车自动折叠 | MirrorFoldWhenLockController | 默认显示 |
| 自动防眩目 | MirrorAntiDazzleController | isInnerRearViewMirrorAntiDazzleEnable;外后视镜按 isOuterRearViewMirrorAntiDazzleEnable 切标题 |
| 外后视镜自动加热 | MirrorAutoHeatController | 默认显示 |
方向盘(4)
| 功能 | Controller | 配置字控制 |
|---|
| 方向盘调节 | SteeringWheelEntryController | isSteeringAdjustEnable |
| PUI 热键自定义(标准) | PUIHotKeyCustomEntryController | isEce || isKunLun 时移除标准入口 |
| PUI 左键(kunlun) | PUILeftHotKeyCustomEntryController | 仅 isKunLun |
| PUI 右键(kunlun) | PUIRightHotKeyCustomEntryController | 仅 isKunLun |
中央扶手按键(2)
| 功能 | Controller | 配置字控制 |
|---|
| 中控键 3 自定义 | ConsoleKeyCustomController | isCNSLCtrlEnable |
| 中控键 4 自定义 | ConsoleKey4CustomController | isCNSLCtrlEnable |
雨刮(3)
| 功能 | Controller | 配置字控制 |
|---|
| 雨刮调节 | WiperAdjustTabLayPrefController | 默认显示 |
| 自动雨刮灵敏度 | WiperRainSensorTabLayPrefController | dependKey=雨刮;受 PreferenceVisibleStatusHelperWrapper |
| 前挡深度清洁 | FrontWindshieldDeepCleaningController | isDeepCleanConfigEnable |
座椅(5)
| 功能 | Controller | 配置字控制 |
|---|
| 便利进出 | EasyEntrySwitchPrefController | 有电动踏板配置才显示 |
| 设置离车位置 | EasyEntryResetPrefController | dependKey=便利进出 |
| 儿童座椅安装位置 | ChildSeatEntryController | IoT 设备识别 |
| 主驾主动侧翼支撑 | DriverSeatBolsterController | isSeatBolsterEnabled;MS11 移除侧翼随安全带 |
| 主驾侧翼随安全带 | DriverSideBolsterSeatBeltController | isSeatBolsterEnabled + isBeforeLemansGTVehilceStage(E4U4) |
| 跳转舒控 app | HvacAppSeatEntranceController | hiddenFeatures=lemans_ece |
手套箱(1)
| 功能 | Controller | 配置字控制 |
|---|
| 手套箱(开关+密码) | GloveBoxController | getGloveBoxLockType == POWER(非电动屏蔽) |
电动踏板(2)
| 功能 | Controller | 配置字控制 |
|---|
| 单次开启 | SingleOpenPreferenceController | 有电动踏板配置 |
| 自动开启模式 | ElectricPedalModeController | 有电动踏板配置 |
无线充电/卡片钥匙(5)
| 功能 | Controller | 配置字控制 |
|---|
| 主驾无线充电 | WirelessChargePreferenceController | getWirelessChargeConfig(SINGLE/DUAL) |
| 副驾无线充电 | WirelessChargePreferenceController | DUAL 配置 |
| 手机遗忘检测 | CarryPhoneSuggestSwitchController | 联动无线充电 |
| 卡片钥匙检测 | NfcDetectStatusPreferenceController | 默认显示 |
二、配置字门控规则(getPreferenceKeyResIdsToRemove 核心)
Fragment 启动时按以下条件动态移除不支持的项(节选自 VehicleControlSettingsFragment):
| 条件 | 移除的项 |
|---|
!isSteeringAdjustEnable() | 方向盘调节 |
isEce() || isKunLun() | 标准 PUI 入口 |
!isKunLun() | PUI 子标题 + 左/右键 |
!isSeatBolsterEnabled() | 侧翼两项;MS11 再移除侧翼随安全带 |
isBeforeLemansGTVehilceStage(E4U4) | 侧翼随安全带 |
getGloveBoxLockType() != POWER | 手套箱 |
!isCNSLCtrlEnable() | 中控键 |
!isInnerRearViewMirrorAntiDazzleEnable() | 防眩目 |
WirelessChargeCfg == SINGLE_50W/80W_SINGLE | 副驾无线充电 + “更多”分组 |
WirelessChargeCfg == DUAL_50W/80W_DUAL | ”更多”分组(显示充电板分组) |
| 无电动踏板 | 便利进出 |
!isDeepCleanConfigEnable() | 前挡深度清洁 |
| MS11_P + MS11_U_LIMITED | 整个座椅 category |
| 无天幕配置 | 调光天幕内链 |
三、配置字方法清单(grep 实测)
MiCarSettings.isXxx(12 个,运行时判断)
| 方法 | 用途 | 引用次数 |
|---|
isKunLun() | 昆仑车型(PUI 左右键) | 4 |
isSuspensionEnabled() | 悬架 | 3 |
isSteeringAdjustEnable() | 方向盘调节 | 3 |
isCfgARSEnabled() | AR 抬显 | 3 |
isCfgWHudEnable() / isCfgPHudEnable() | W/P-HUD | 2/2 |
isCfgARDEnable() | ARD 扩散器(中控键选项) | 2 |
getVehicleType() | 车辆类型 | 2 |
isTransmissionDrivelineAllWheel() | 四驱(踏板 summary) | 1 |
isSeatBolsterEnabled() | 座椅侧翼 | 1 |
isEce() | 欧洲 ECE 合规 | 1 |
isDeepCleanConfigEnable() | 前挡深度清洁 | 1 |
CarConfigManager(8 个,CCP 配置字)
| 方法 | 用途 | 引用次数 |
|---|
getVehicleSuitConfig | 车型套装配置(通用) | 6 |
getWirelessChargeConfig | 无线充电 SINGLE/DUAL | 3 |
getSeatNumberConfig | 座位数(5/6/7 座) | 3 |
isTransparencyModeEnabled | 通透模式(PUI 选项) | 1 |
isOuterRearViewMirrorAntiDazzleEnable | 外后视镜防眩目 | 1 |
isInnerRearViewMirrorAntiDazzleEnable | 内后视镜防眩目 | 1 |
isEnergyModeEnabled | 能量模式(PUI 选项) | 1 |
getGloveBoxLockType | 手套箱锁类型(POWER 才显示) | 1 |
四、车型代号说明
| 代号 | 含义 |
|---|
| MS11 / MS11P / MS11_P / MS11_U_LIMITED | MS11 系列车型(座椅 category 整体屏蔽、侧翼随安全带差异) |
| KunLun / kunlun | 昆仑车型(独有 PUI 左/右键自定义) |
| Kepler | 开普勒车型(W-HUD 可选,方向盘 layout) |
| Lemans / lemans | 勒芒平台(hiddenFeatures=lemans_ece 隐藏内链建议;isBeforeLemansGTVehilceStage(E4U4) 阶段判断) |
| E4U4 | 车辆版本阶段(E4U4 之前不展示侧翼随安全带) |
| ECE | 欧洲合规区(隐藏部分功能) |
五、对抗验证记录(本次发现与修正)
| # | 常见误解 / Agent 偏差 | 源码真相 |
|---|
| ① | 「快控」是首页快捷卡片专用 | ✅ VehicleQuickCtrl 是所有车控 Preference 的通用数据载体(10 模块共用);卡片 UI 由 ButtonToggle/ButtonIcon/NewTab 实现 |
| ② | 车辆控制只用自己的 BodyCtrl 域 | ✅ 实际跨 8 域聚合(DrivingCtrl/GLOVE_BOX、LockCtrl/MIRROR_FOLD_WHEN_LOCK、EnergyManagement/WIRELESS_CHARGE、Service/WIPER 等) |
| ③ | 车型差异靠 sourceSet 分目录 | ✅ 本模块无 dcddif/xcddif/global 目录,差异完全靠运行时配置字 |
| ④ | compartment SDK 用于多种功能 | ✅ 仅手套箱用 compartment SDK;ConsoleKey/PUI 用更底层 mis-device SDK |
| ⑤ | QuickControlCmd 是信号下发通道 | ✅ 它是页面跳转事件(EventBus sticky),非信号通道 |
| ⑥ | 座椅调节在车辆控制页 | ✅ 座椅位置调节 RC10 起移除(交给舒控 app),seat 子系统只剩侧翼 |
| ⑦ | 前机盖提醒由用户点击触发 | ✅ 由 POWER_FRUNK_HOOD_CLOSE_REMIND 信号驱动自动弹窗 |
| ⑧ | 方向盘/后视镜调节用不同信号 | ✅ 共用 STEERWHEEL_MIRROR_HUD_ADJUST,靠 active_window 全局配置互斥 |
六、可信度与待核实
| 结论 | 可信度 | 备注 |
|---|
| 36 项 XML 结构、12 子系统、Controller 继承 | 🟢 源码实证 | 代码结构 Agent + 源码核对 |
| 信号清单、跨域映射、值定义 | 🟢 源码实证 | 作者直读 MiCarPropertyIds.java + grep |
| 配置字门控规则 | 🟢 源码实证 | 代码结构 Agent + grep MiCarSettings/CarConfigManager |
| 调节心跳、互斥窗口、手套箱 MIS | 🟢 源码实证 | 作者直读 VehicleAdjustHeartBeat.kt + Controller |
| 信号流动的”标准链路” | 🟡 推断 | 基于全局 04 文档 + Controller 继承体系推断,未逐个 Controller 单步跟踪(信号流动 Agent 因限流失败) |
若需逐 Controller 单步验证信号流动,可对照 docs/整体架构探索/04-车辆接口层与IPC.md 的全链路 + 本文档第三/四章的 Controller→信号映射,自行在源码中追踪。