### 概述 / Summary 完整实现红外控制与学习模块(`:android:feature:infrared`),支持红外设备按键学习、实体发射、Room 本地持久化,以及空调 (AC) / 电视 (TV) 虚拟遥控器面板。 ### 核心变更 / Key Changes 1. **领域模型与用例 (`:domain`)**: - 实现按键学习流程:`LearnInfraredKey`、`ManageInfraredKey`、`InfraredKeyFactory`; - 增加虚拟遥控器模型与用例:`CreateVirtualRemote`、`LearnVirtualRemoteKey`、`SendVirtualRemoteAction`、`AcCodeGenerator` 与预置码库 `PresetCodeLibrary`。 2. **数据持久化与仓储 (`:android:feature:infrared`)**: - 引入 Room 数据库 `InfraredDatabase` 及 DAO,提供 `RoomInfraredKeyRepository` 与 `RoomVirtualRemoteRepository`; - 支持多配置隔离(`ProviderProfileId`)、按键状态管理(`LEARNING` / `READY` / `FAILED`)。 3. **UI 与 ViewModel (`:android:feature:infrared`)**: - `InfraredControlScreen`:红外学习与按键调试列表; - `RemotePanelScreen` / `AcRemotePanel` / `TvRemotePanel`:空调/电视专属可视化遥控面板; - `InfraredHubScreen`:红外中枢与多遥控器管理入口; - 在认证后导航栈中将 `DeviceListScreen` 的红外入口无缝对接到 `InfraredHubRoute`。 4. **测试与文档**: - 补齐用例、Fakes、Repository、ViewModel 以及 Compose UI 自动化测试; - 补充红外控制设计规范与真机硬件验收清单。 Reviewed-on: #9 Co-authored-by: mxhsnd <2049295946@qq.com> Co-authored-by: KremeCN <3265494849@qq.com>
117 lines
8.5 KiB
XML
117 lines
8.5 KiB
XML
<resources>
|
||
<string name="infrared_title">红外遥控</string>
|
||
<string name="infrared_mode_fake">模式:模拟体验</string>
|
||
<string name="infrared_mode_real">模式:ABBox 真实硬件</string>
|
||
<string name="infrared_switch_mode">切换模式</string>
|
||
<string name="infrared_device_name_label">红外设备名称</string>
|
||
<string name="infrared_device_name_hint">例如:ir-living</string>
|
||
<string name="infrared_saved_device">已配置设备:%1$s</string>
|
||
<string name="infrared_no_device_saved">未配置红外设备</string>
|
||
<string name="infrared_save_device">保存设备</string>
|
||
<string name="infrared_keys_title">已学习按键</string>
|
||
<string name="infrared_no_keys">暂无已保存按键</string>
|
||
<string name="infrared_learn_new_key">学习新按键</string>
|
||
<string name="infrared_status_learning">学习中…</string>
|
||
<string name="infrared_status_ready">已就绪</string>
|
||
<string name="infrared_status_failed">学习失败</string>
|
||
<string name="infrared_send">发射</string>
|
||
<string name="infrared_sending">发射中…</string>
|
||
<string name="infrared_retry">重试</string>
|
||
<string name="infrared_rename">重命名</string>
|
||
<string name="infrared_delete">删除</string>
|
||
<string name="infrared_learn_dialog_title">学习红外按键</string>
|
||
<string name="infrared_learn_dialog_prompt">请准备好实体遥控器,点击开始后将遥控器对准红外转发器并按下目标按键。</string>
|
||
<string name="infrared_learn_dialog_input_label">按键名称(如:电源)</string>
|
||
<string name="infrared_learn_dialog_slot_label">按键槽位(1-100)</string>
|
||
<string name="infrared_key_slot_label">按键编号:%1$s</string>
|
||
<string name="infrared_learn_dialog_start">开始学习</string>
|
||
<string name="infrared_rename_dialog_title">重命名按键</string>
|
||
<string name="infrared_rename_dialog_input_label">新按键名称</string>
|
||
<string name="infrared_delete_dialog_title">删除按键</string>
|
||
<string name="infrared_delete_dialog_message">仅从本机删除该按键记录,ABox 主机上可能仍保留已录制码值。</string>
|
||
<string name="infrared_dialog_cancel">取消</string>
|
||
<string name="infrared_dialog_confirm">确认</string>
|
||
<string name="infrared_back">返回</string>
|
||
<string name="infrared_remote_title">红外遥控器</string>
|
||
<string name="infrared_remote_recording">录制中</string>
|
||
<string name="infrared_remote_learning_mode">学习模式</string>
|
||
<string name="infrared_remote_learning_banner">🔴 学习模式已开启:点击任意按键开始录制实体遥控器信号</string>
|
||
<string name="infrared_remote_scene_ac">❄️ 空调面板</string>
|
||
<string name="infrared_remote_scene_tv">📺 电视面板</string>
|
||
<string name="infrared_remote_settings">设置</string>
|
||
|
||
<string name="infrared_msg_learning_mode_enabled">🔴 学习模式已开启:点击任意按键开始录制</string>
|
||
<string name="infrared_msg_recording_key">正在录制【%1$s】(槽位 %2$s),请按下实体遥控器按键…</string>
|
||
<string name="infrared_msg_learned_success">【%1$s】录制成功</string>
|
||
<string name="infrared_msg_key_not_learned">按键【%1$s】尚未学习,开启右上角学习模式即可录制</string>
|
||
<string name="infrared_msg_signal_sent">已发射信号:%1$s</string>
|
||
<string name="infrared_msg_device_offline">红外设备离线(错误码:%1$s)</string>
|
||
<string name="infrared_msg_load_failed">加载数据失败</string>
|
||
<string name="infrared_msg_operation_failed">操作失败</string>
|
||
<string name="infrared_label_temp_control">温度调节</string>
|
||
<string name="infrared_label_vol">音量</string>
|
||
<string name="infrared_label_ch">频道</string>
|
||
<string name="infrared_label_cool_mode">❄️ 制冷模式</string>
|
||
<string name="infrared_label_ac_status">💨 自动风速 | ↔ 自动扫风</string>
|
||
|
||
<string name="infrared_key_ac_power">空调-电源</string>
|
||
<string name="infrared_key_ac_temp_up">空调-升温</string>
|
||
<string name="infrared_key_ac_temp_down">空调-降温</string>
|
||
<string name="infrared_key_ac_mode">空调-模式</string>
|
||
<string name="infrared_key_ac_fan">空调-风速</string>
|
||
<string name="infrared_key_ac_swing">空调-扫风</string>
|
||
<string name="infrared_key_ac_timer">空调-定时</string>
|
||
|
||
<string name="infrared_key_tv_power">电视-电源</string>
|
||
<string name="infrared_key_tv_mute">电视-静音</string>
|
||
<string name="infrared_key_tv_nav_up">电视-向上</string>
|
||
<string name="infrared_key_tv_nav_down">电视-向下</string>
|
||
<string name="infrared_key_tv_nav_left">电视-向左</string>
|
||
<string name="infrared_key_tv_nav_right">电视-向右</string>
|
||
<string name="infrared_key_tv_ok">电视-确定</string>
|
||
<string name="infrared_key_tv_vol_up">电视-音量+</string>
|
||
<string name="infrared_key_tv_vol_down">电视-音量-</string>
|
||
<string name="infrared_key_tv_ch_up">电视-频道+</string>
|
||
<string name="infrared_key_tv_ch_down">电视-频道-</string>
|
||
<string name="infrared_key_tv_home">电视-主页</string>
|
||
<string name="infrared_key_tv_back">电视-返回</string>
|
||
<string name="infrared_control_title">红外设备与环境配置</string>
|
||
<string name="infrared_device_config_section">ABSDK 设备名称配置</string>
|
||
<string name="infrared_device_config_desc">ABSDK 依靠此设备名称(默认为 红外控制器)寻址具体的硬件转发器,请确保名称与主机端保持一致。</string>
|
||
<string name="infrared_device_name_current">当前绑定设备:%1$s</string>
|
||
<string name="infrared_device_save_changes">保存修改</string>
|
||
<string name="infrared_device_stats_section">硬件槽位与遥控器概览</string>
|
||
<string name="infrared_mode_label">运行环境:%1$s</string>
|
||
<string name="infrared_mode_local_simulation">本地体验(模拟)</string>
|
||
<string name="infrared_mode_abox_real">ABox(真实硬件)</string>
|
||
<string name="infrared_msg_device_name_saved">设备名称已成功保存</string>
|
||
<string name="infrared_msg_device_name_blank">设备名称不能为空</string>
|
||
<string name="infrared_msg_key_name_blank">按键名称不能为空</string>
|
||
<string name="infrared_msg_slot_invalid">按键编号必须在 1 到 100 之间</string>
|
||
<string name="infrared_msg_key_renamed">按键已重命名</string>
|
||
<string name="infrared_msg_key_deleted">按键已从本机删除</string>
|
||
<string name="infrared_msg_key_not_ready">按键尚未就绪,无法发射</string>
|
||
<string name="infrared_hub_title">红外中枢</string>
|
||
<string name="infrared_hub_my_remotes">我的遥控器</string>
|
||
<string name="infrared_hub_slot_quota">硬件槽位:%1$d / %2$d 已占用(剩余 %3$d)</string>
|
||
<string name="infrared_hub_static_quota">静态占用:%1$d</string>
|
||
<string name="infrared_hub_dynamic_scratch">动态缓冲:Slot %1$s</string>
|
||
<string name="infrared_hub_remotes_title">虚拟遥控器</string>
|
||
<string name="infrared_hub_no_remotes">暂无虚拟遥控器,点击右上角或下方 ➕ 添加</string>
|
||
<string name="infrared_hub_add_remote">添加遥控器</string>
|
||
<string name="infrared_hub_mode_static">🚀 静态独占(%1$s 槽位)</string>
|
||
<string name="infrared_hub_mode_dynamic">📦 动态缓冲(共用 Slot %1$s)</string>
|
||
<string name="infrared_hub_create_dialog_title">添加虚拟遥控器</string>
|
||
<string name="infrared_hub_device_type_label">设备类型</string>
|
||
<string name="infrared_hub_brand_label">预设码库 / 品牌</string>
|
||
<string name="infrared_hub_trans_mode_label">传输模式</string>
|
||
<string name="infrared_hub_trans_mode_static_desc">超低延迟(~20ms),极速响应,占用 ~15 个硬件槽位</string>
|
||
<string name="infrared_hub_trans_mode_dynamic_desc">节省槽位(0 额外槽位),现场写码发射(~80ms)</string>
|
||
<string name="infrared_hub_quota_insufficient">硬件槽位不足,请选择动态写码模式</string>
|
||
<string name="infrared_hub_raw_keys_button">硬件槽位与底层按键管理</string>
|
||
<string name="infrared_hub_device_type_tv">📺 电视机 / 电视盒子</string>
|
||
<string name="infrared_hub_device_type_ac">❄️ 空调设备</string>
|
||
<string name="infrared_hub_device_type_fan">🌀 电风扇 / 空气净化器</string>
|
||
<string name="infrared_hub_device_type_custom">🎛️ 自定义面板</string>
|
||
</resources>
|