fix(launcher/amsd): amsd MSG_AMS_START 拉起缺口——pending-start 抽 meow_ams_start 模块复用启动链 + 负错误码符修复
根因(真机日志实证,M2.92 遗留):meow_ams_pending_start_set 误返回正错误码 (-MEOW_ERR_BUSY=+8/-MEOW_ERR_INVAL=+1),ipc_dispatch 的 rc<0?-rc:MEOW_OK 把「有前台 App 拒绝/空包名非法」误判为 OK(0) → amsd 报 OK 但 pending 未置位 → App 永不拉起(am start 报 OK 但界面没出现/进程未起)。 launcher: - 新增自包含模块 meow_ams_start.c/.h(ops 注入 launch=launch_app/launch_activity、 resolve=resolve_chain、log=logmsg):pending 状态 + 拉起决策 + picker 上下文。 - set 统一返回负 MEOW_ERR_*(根因修复);consume 复用既有启动链路真正拉起目标 App, 列表未就绪(state!=0)保留 pending 待 2s 重扫重试,不再静默丢弃。 - main_menu run_menu 改经 meow_ams_start_consume 消费(保留 launch_fail_toast/菜单收尾); app_launcher 移除旧 g_ams_start/g_ams_pick_* 迁入模块;util meow_ipc_process 顶部同步 busy、 meow_ipc_init 末尾 meow_ams_launcher_init()。 - build_launcher.sh 编入 meow_ams_start.c;meow_launcher_internal.h 更新挂点声明。 amsd(协议层归属说明):cmd_start 的 busy 判定对照 launcher ACK 正幅度(busy=8), 原 (uint32_t)MEOW_ERR_BUSY=0xFFFFFFF8 永不匹配 → busy 落入 launcher offline,改 (uint32_t)(-MEOW_ERR_BUSY)。 验证:宿主 test_ams_start.c 33 断言全 PASS(合法->拉起链、activity chain 透传、空包名/非法/busy 不拉起不崩、列表未就绪保留 pending、无路由 NO ROUTE、启动失败 idx 回报、picker 取回); launcher 目录全量回归 test_media/bgplay/depends/notif_panel/notif_tf/settings_brightness/ vol_ramp_jack/host_icon + test_font_tier/weight 全 PASS;mipsel -Wall -Wextra 0 warning。 新 md5:meow_launcherd a8200ae1b0aa68d7262749db87377d49、meow_amsd 7ddc677ce7938bc9b95c83c17bc78295。(M2.98 待打包,未刷机)
This commit is contained in:
1 parent
7e7e45ae26
commit
980d161972
13 files changed
+446
-101
No files matched your search
@@ -28,7 +28,7 @@
|
||||
|
||||
# ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)----
|
||||
patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216)
|
||||
patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|899ac22c10f596909d7f35ea685744de|主屏 launcher M4(后台服务保活+后台播放:MSG_REGISTER/SERVICE_STOP/MSG_SYS 退避熔断;nav-exit 播放中转后台保活,SDK present 自抑非 SIGSTOP;app.json depends 二进制依赖启动前检查:缺 required 阻断/optional 放行)
|
||||
patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|a8200ae1b0aa68d7262749db87377d49|主屏 launcher M4(后台服务保活+后台播放:MSG_REGISTER/SERVICE_STOP/MSG_SYS 退避熔断;nav-exit 播放中转后台保活,SDK present 自抑非 SIGSTOP;app.json depends 二进制依赖启动前检查:缺 required 阻断/optional 放行);M2.98 待打包:amsd MSG_AMS_START 拉起缺口修复(pending-start 抽 meow_ams_start 模块复用启动链真正拉起;负错误码符修复 busy/空pkg 正确拒,不再误报 OK)
|
||||
patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|553840cdc79d8d7bed766a5e3981ac57|应用看门狗 M2.97(音量反转 + DS1039 平方锥度 + 插孔消抖)
|
||||
patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187)
|
||||
mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194)
|
||||
@@ -46,7 +46,7 @@ patch_v2/meow_powermgr/meow_powermgr|/usr/bin/meow_power|469dddb74de424f7b9bc9c1
|
||||
# ---- 开机 init 脚本(etc/init.d,数字决定启动顺序,按文件名自然序)----
|
||||
patch_v2/meow_sysui/S70meow_sysui|/etc/init.d/S70meow_sysui|e435affcb56499e5229728c6ae2524b9|sysui 自启 M2.85(launcher.conf enabled=1+迁移)
|
||||
patch_v2/meow_svcd/S89meow_svcd|/etc/init.d/S89meow_svcd|f6ded7f835dba882c17dac52b9430a45|svcd 自启 M2.97(meow_route.conf → audiod.conf + 清理旧 route conf + 预置 meow_powermgr.conf/迁移热更 exec→/usr/bin,agent-244/246/267)
|
||||
patch_v2/meow_amsd/meow_amsd|/usr/bin/meow_amsd|da9a5004c6fdb7827c45c27daa825919|活动管理器 M2.91(注册表自愈:卡未挂载扫空 3s 快重试+30s 合并重扫+am rescan;兼容旧 launcher 5 段 EV LAUNCH;agent-250)
|
||||
patch_v2/meow_amsd/meow_amsd|/usr/bin/meow_amsd|7ddc677ce7938bc9b95c83c17bc78295|活动管理器 M2.91(注册表自愈:卡未挂载扫空 3s 快重试+30s 合并重扫+am rescan;兼容旧 launcher 5 段 EV LAUNCH;agent-250);M2.98 待打包:am start busy 识别修复(对照 launcher ACK 正幅度 busy=8,bool 误判二补 0xFFFFFFF8 导致 busy 落入 launcher offline)
|
||||
patch_v2/meow_amsd/am|/usr/bin/am|9e323faf1aeb0c6a6fb0425565cf525d|amsd 用户侧CLI(+resolve/picker/rescan)
|
||||
patch_v2/bootmenu/S90meow_bootmenu|/etc/init.d/S90meow_bootmenu|e0ace111ce5ee446a1e3c6605ac1e9c9|bootmenu 自启 M2.85(注释同步)
|
||||
patch_v2/bootmenu/S92_03_start_music_player|/etc/init.d/S92_03_start_music_player|c17257aa3d93f75da72903b57cbe1034|§4.3 兜底 patch(rcS 正常路径被 S90 阻塞不执行)
|
||||
|
||||
Reference in new issue
Block a user