From 85b4aea24f11dcb10390a1c4e27b6a455385b061 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Mon, 31 Aug 2026 06:27:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(launcher):=20M3=E5=AF=BC=E8=88=AA=E6=A0=88?= =?UTF-8?q?+M5=E9=80=9A=E7=9F=A5=E7=82=B9=E5=87=BB=E8=B7=B3=E8=BD=AC=20(ag?= =?UTF-8?q?ent-202)=20=E2=80=94=20nav=5Fstack(=E2=89=A416=E6=B7=B1)+MSG=5F?= =?UTF-8?q?NAV=20REPORT/EXIT+launch=5Factivity=E9=93=BE=E8=B7=AF=E6=B3=A8?= =?UTF-8?q?=E5=85=A5(MEOW=5FACTIVITY/MEOW=5FCHAIN)+=E6=A0=88=E6=A0=B9?= =?UTF-8?q?=E9=80=80=E5=87=BA=E5=9B=9E=E4=B8=BB=E5=B1=8F;=20=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E7=82=B9=E5=87=BB=E6=8C=89route=5Fstatus(0=E6=8B=89?= =?UTF-8?q?=E8=B5=B7/1=20NO=20ROUTE/2=20SOURCE=20NOT=20FOUND/-1=20NONE?= =?UTF-8?q?=E5=85=B3=E9=9D=A2=E6=9D=BF=E4=B8=8D=E5=8A=A8=E4=BD=9C);=20pick?= =?UTF-8?q?er=E5=8D=8F=E8=AE=AE=E4=BD=8D=E9=A2=84=E7=95=99(0x0070/0x0071);?= =?UTF-8?q?=20=E8=A3=B8App=E5=85=BC=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit launcher 4fe4103a→a42171a1; qemu实测 declare/query/nav report/exit/notify+querynotif 全过 发现: §10.5 App前台通知中心叠加会话(MSG_NOTIF_OPEN)实际未实现,文档超前,待补 --- patch_v2/meow_launcherd/app_launcher.c | 116 +++++++++++++++++- patch_v2/meow_launcherd/main_menu.c | 62 ++++++++-- patch_v2/meow_launcherd/meow_ipc | Bin 62592 -> 64576 bytes patch_v2/meow_launcherd/meow_ipc.c | 47 ++++++- patch_v2/meow_launcherd/meow_ipc.h | 25 +++- .../meow_launcherd/meow_launcher_internal.h | 30 ++++- patch_v2/meow_launcherd/meow_launcherd | Bin 548188 -> 551276 bytes patch_v2/meow_launcherd/notif_center.c | 59 ++++++--- patch_v2/meow_launcherd/util.c | 21 ++++ 9 files changed, 321 insertions(+), 39 deletions(-) diff --git a/patch_v2/meow_launcherd/app_launcher.c b/patch_v2/meow_launcherd/app_launcher.c index 1dec427..a8db6c2 100644 --- a/patch_v2/meow_launcherd/app_launcher.c +++ b/patch_v2/meow_launcherd/app_launcher.c @@ -124,6 +124,72 @@ int resolve_chain(const char *app_id, const char *activity, char *out, int *dept } +/* ---- M3 导航栈(FRAMEWORK_DESIGN §3):每 app ≤16 深,v1 同一时刻单前台应用 ---- + * launcher 侧镜像:launch_* 冷启动时以链路深度初始化;App 经 MSG_NAV{REPORT,depth,current} + * 上报栈深变化(launcher 更新);MSG_NAV{EXIT} → 置退出请求,前台 waitpid 循环终止 app 回主屏。 + * 单一写者=主循环(meow_ipc_process 排空处 / launch_* 前台循环),无需锁。 */ +static struct { + char app_id[MEOW_APP_ID_MAX]; + int depth; /* 0=无/未上报;1..MEOW_NAV_MAX_DEPTH */ + char top[MEOW_ACT_MAX]; /* 当前顶层 activity_id(REPORT 上报) */ + int active; /* 1=前台应用有导航栈 */ +} g_nav; +static volatile int g_nav_exit_req = 0; + +void meow_nav_begin(const char *app_id, const char *chain) +{ + if (!app_id) return; + memset(&g_nav, 0, sizeof g_nav); + strncpy(g_nav.app_id, app_id, MEOW_APP_ID_MAX - 1); + g_nav.app_id[MEOW_APP_ID_MAX - 1] = 0; + if (chain && chain[0]) { + g_nav.depth = chain_depth(chain); + if (g_nav.depth > MEOW_NAV_MAX_DEPTH) g_nav.depth = MEOW_NAV_MAX_DEPTH; + const char *top = strrchr(chain, ';'); + top = top ? top + 1 : chain; + strncpy(g_nav.top, top, MEOW_ACT_MAX - 1); + g_nav.top[MEOW_ACT_MAX - 1] = 0; + } + g_nav.active = 1; + logmsg("nav: begin app=%s chain=\"%s\" depth=%d top=%s", + app_id, chain ? chain : "(bare)", g_nav.depth, g_nav.top); +} + +void meow_nav_report(const char *app_id, uint32_t depth, const char *current) +{ + if (!app_id) return; + if (depth == 0 || depth > MEOW_NAV_MAX_DEPTH) { meow_nav_exit(); return; } + g_nav.active = 1; + strncpy(g_nav.app_id, app_id, MEOW_APP_ID_MAX - 1); + g_nav.app_id[MEOW_APP_ID_MAX - 1] = 0; + g_nav.depth = (int)depth; + if (current) { strncpy(g_nav.top, current, MEOW_ACT_MAX - 1); g_nav.top[MEOW_ACT_MAX - 1] = 0; } + logmsg("nav: report app=%s depth=%d top=%s", app_id, g_nav.depth, g_nav.top); +} + +void meow_nav_exit(void) +{ + g_nav.active = 0; + g_nav.depth = 0; + g_nav.top[0] = 0; + logmsg("nav: exit (cleared)"); +} + +void meow_nav_request_exit(void) +{ + g_nav_exit_req = 1; + meow_nav_exit(); + logmsg("nav: EXIT requested"); +} + +int meow_nav_exit_pending(void) +{ + int r = g_nav_exit_req; + g_nav_exit_req = 0; + return r; +} + + /* ---- M2.17 keep_awake:前台当前顶层 activity 追踪 ---- * 前台应用经 IPC MSG_ACT_FOCUS/BACK 上报其当前顶层 activity;fg_keep_awake() 依注册表判断该 * activity 是否声明 keep_awake(app.json awake.=1 / route..keep_awake=1;运行时同类)。 @@ -815,10 +881,13 @@ static void notify_app_crash(const char *pkg, int status) close(fd); } -int launch_app(struct app *a) +/* launch_app_chain:launch_app / launch_activity 的共享核心。 + * chain 非空 → 向子进程注入 MEOW_ACTIVITY/MEOW_CHAIN 并初始化 nav_stack(M3);空/NULL → 裸启动。 */ +static int launch_app_chain(struct app *a, const char *chain) { - logmsg("launch: %s (%s)", a->name, a->exec); + logmsg("launch: %s (%s) chain=\"%s\"", a->name, a->exec, chain ? chain : ""); if (!a->ok) { logmsg("launch blocked: exec not ok"); return -1; } + meow_nav_begin(a->id, chain); /* M3:冷启动/裸启动都以当前链深初始化导航栈(chain 空→depth 0) */ /* M2.12:启动前准备 MeowData//{data,cache}(幂等;卡不在/失败只 log 不崩)。 * 应用经环境变量 MEOW_DATA_DIR/MEOW_CACHE_DIR 定位数据(exFAT 无 symlink)。 */ @@ -863,7 +932,9 @@ int launch_app(struct app *a) char env_tier[24]; char env_fs[20]; char env_cls[MEOW_FCLS_COUNT][2][400]; - char *envp[40]; /* PATH,HOME,log_dir,log_app,log_lvl,font 全局(3),多字体(1),tier(1),class(≤12),fullscreen(1),data,cache */ + char env_act[MEOW_ACT_MAX + 16]; /* M3:MEOW_ACTIVITY=(链路顶端) */ + char env_chain[MEOW_CHAIN_MAX + 16]; /* M3:MEOW_CHAIN=;;...; */ + char *envp[48]; /* PATH,HOME,log_dir,log_app,log_lvl,font 全局(3),多字体(1),tier(1),class(≤12),fullscreen(1),data,cache,act,chain */ int ne = 0; const char *cp = getenv("PATH"); snprintf(env_path, sizeof env_path, "PATH=%s", cp ? cp : "/usr/bin:/bin"); @@ -961,6 +1032,18 @@ int launch_app(struct app *a) envp[ne++] = env_data; envp[ne++] = env_cache; } + /* M3:冷启动/通知跳转注入 activity 链(FRAMEWORK_DESIGN §3)。chain 非空才注入; + * MEOW_ACTIVITY=链路顶端(最后一段=target),MEOW_CHAIN=完整链路。裸启动不注入 + * (App 走 SDK 默认首页)。 */ + if (chain && chain[0]) { + const char *top = strrchr(chain, ';'); + top = top ? top + 1 : chain; + snprintf(env_act, sizeof env_act, "MEOW_ACTIVITY=%s", top); + snprintf(env_chain, sizeof env_chain, "MEOW_CHAIN=%s", chain); + envp[ne++] = env_act; + envp[ne++] = env_chain; + logmsg("launch: M3 env %s / %s", env_act, env_chain); + } envp[ne] = NULL; execve(a->exec, argv, envp); int e = errno; @@ -1019,6 +1102,7 @@ int launch_app(struct app *a) * never fires on this unit, §18.12). Volume is snapped on the first * tap and restored when the sequence completes. */ int status = 0; + int nav_clean_exit = 0; /* M3:MSG_NAV{EXIT} 主动退出 → 不按崩溃上报 */ int app_prev_vold = 0; int app_seq_hits = 0; unsigned long long app_seq_last = 0; @@ -1054,6 +1138,17 @@ int launch_app(struct app *a) if (r == pid) break; if (r < 0 && errno != EINTR) break; if (sigterm_flag) { logmsg("sigterm during app"); kill(pid, SIGTERM); break; } + /* M3 导航栈:前台会话排空 IPC(App 经 MSG_NAV REPORT/EXIT 上报导航/请求退出)。 + * REPORT 更新 nav_stack(meow_ipc_process 内单写者);EXIT → 终止应用回主屏。 */ + meow_ipc_process(); + if (meow_nav_exit_pending()) { + logmsg("nav: app %s MSG_NAV{EXIT} -> terminate, return to home", a->name); + nav_clean_exit = 1; + kill(pid, SIGTERM); + usleep(300000); + if (waitpid(pid, &status, WNOHANG) != pid) { kill(pid, SIGKILL); waitpid(pid, &status, 0); } + break; + } /* M2.11 D:卡被拔(设备节点消失)且前台应用在卡上 → 主动 SIGTERM 干净退出, * 避免应用等 SIGBUS 崩。回菜单走正常应用退出路径。 */ if (app_on_card && !sd_device_present()) { @@ -1181,7 +1276,7 @@ int launch_app(struct app *a) /* M2.x:App 异常退出(信号杀 / 非 0 退出码)→ best-effort 直报 meow_crash。 * 判据与 svcd reap_children 一致:failed = !(WIFEXITED && WEXITSTATUS==0)。干净 exit(0) * 不上报;sigterm 关停/电源菜单重启路径 status 保持 0(未 waitpid)→ 视为干净退出不上报。 */ - if (!(WIFEXITED(status) && WEXITSTATUS(status) == 0)) + if (!(WIFEXITED(status) && WEXITSTATUS(status) == 0) && !nav_clean_exit) notify_app_crash(a->id, status); if (wpid > 0) { /* reap the watchdog: SIGTERM then wait up to 2s (it exits when the @@ -1205,7 +1300,20 @@ int launch_app(struct app *a) /* M2.24:应用运行期音量由 watchdog 写(settings.conf 同源)。返回菜单前 re-load, * 让菜单音量/状态栏与真实 DAC 一致(watchdog 可能已改)。 */ settings_load(); + meow_nav_exit(); /* M3:前台应用会话结束,清导航栈 */ logmsg("app %s exited status=%d", a->name, WEXITSTATUS(status)); return 0; } +/* M3:裸启动(无 activity 链)。保留旧签名,向下兼容不发 MSG_NAV 的 App。 */ +int launch_app(struct app *a) +{ + return launch_app_chain(a, NULL); +} + +/* M3:以 activity 链路冷启动。注入 MEOW_ACTIVITY/MEOW_CHAIN + 设 nav_stack 栈深。 */ +int launch_activity(struct app *a, const char *chain) +{ + return launch_app_chain(a, chain); +} + diff --git a/patch_v2/meow_launcherd/main_menu.c b/patch_v2/meow_launcherd/main_menu.c index fd7fd36..139bbec 100644 --- a/patch_v2/meow_launcherd/main_menu.c +++ b/patch_v2/meow_launcherd/main_menu.c @@ -420,6 +420,7 @@ static void menu_cell_rect(int i, int layout, int apps_top, static int menu_hit_app(int x, int y, struct app *apps, int napps, int state, int layout, int apps_top) { + (void)apps; /* 命中判定只依赖几何;apps 保留作接口(0-warning) */ if (state != 0 || napps <= 0) return -1; for (int i = 0; i < napps; i++) { int cx, cy, cw, ch; @@ -1151,8 +1152,11 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, t_last_y - loy); t_down = 0; t_down_valid = 0; /* 消费本次手势:返回后不再判 tap/滑动/重开 */ menu_arm_touch(TAP_ARM_DELAY_MS); - int want_launch = -1; - run_notif_center(apps, napps, &want_launch, 1, t_down_x, loy); + notif_click_t click; + memset(&click, 0, sizeof click); + click.app_idx = -1; + click.status = NOTIF_CLICK_STATUS_NONE; + run_notif_center(apps, napps, &click, 1, t_down_x, loy); /* 重播按键防抖基线(同原 top-swipe 路径),防面板内电源/音量边沿被 run_menu 误判 */ memset(&kd_pwr, 0, sizeof kd_pwr); memset(&kd_vold, 0, sizeof kd_vold); @@ -1167,17 +1171,32 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, last_input_ms = now_ms(); menu_arm_touch(800); dirty = 1; - if (want_launch >= 0 && want_launch < napps) { - logmsg("menu: notification launch app idx=%d", want_launch); - int ret = launch_app(&apps[want_launch]); + /* M5:通知点击按 route_status 产出 click(0 跳转 / 1 NO ROUTE / 2 SOURCE NOT FOUND) */ + if (click.status == NOTIF_CLICK_STATUS_OK && + click.app_idx >= 0 && click.app_idx < napps) { + logmsg("menu: notif click -> launch idx=%d chain=\"%s\"", + click.app_idx, click.chain); + int ret = click.chain[0] + ? launch_activity(&apps[click.app_idx], click.chain) + : launch_app(&apps[click.app_idx]); menu_after_app_exit(ret == 0); last_input_ms = now_ms(); dirty = 1; if (ret != 0) { snprintf(toast, sizeof toast, "CANNOT START: %s", - apps[want_launch].name); + apps[click.app_idx].name); toast_ms = TOAST_MS; } + } else if (click.status == NOTIF_CLICK_STATUS_NOROUTE) { + logmsg("menu: notif click NO ROUTE"); + snprintf(toast, sizeof toast, "NO ROUTE"); + toast_ms = TOAST_MS; + dirty = 1; + } else if (click.status == NOTIF_CLICK_STATUS_NOSRC) { + logmsg("menu: notif click SOURCE NOT FOUND"); + snprintf(toast, sizeof toast, "SOURCE NOT FOUND"); + toast_ms = TOAST_MS; + dirty = 1; } continue; /* 本圈不再按 tap/其余处理(剩余事件因 t_down=0 成 no-op) */ } @@ -1228,8 +1247,11 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, if (mnp_top_swipe_down(tx, ty, dx, dy, SB_BAR_H, MENU_SWIPE_THRESH)) { logmsg("menu: top-edge swipe-down -> notification center (release edge, fallback)"); menu_arm_touch(TAP_ARM_DELAY_MS); - int want_launch = -1; - run_notif_center(apps, napps, &want_launch, 0, 0, 0); /* ⑨ live_open=0 → 触发式自动展开(防御) */ + notif_click_t click; + memset(&click, 0, sizeof click); + click.app_idx = -1; + click.status = NOTIF_CLICK_STATUS_NONE; + run_notif_center(apps, napps, &click, 0, 0, 0); /* ⑨ live_open=0 → 触发式自动展开(防御) */ /* 重播按键防抖基线,防面板内电源/音量边沿被 run_menu 误判(M2.25 同款)。 */ memset(&kd_pwr, 0, sizeof kd_pwr); memset(&kd_vold, 0, sizeof kd_vold); @@ -1244,18 +1266,32 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, last_input_ms = now_ms(); menu_arm_touch(800); dirty = 1; - /* 点击通知命中可启动 app → 走标准启动链路(与触摸行同路径)。 */ - if (want_launch >= 0 && want_launch < napps) { - logmsg("menu: notification launch app idx=%d", want_launch); - int ret = launch_app(&apps[want_launch]); + /* M5:通知点击按 route_status 产出 click(0 跳转 / 1 NO ROUTE / 2 SOURCE NOT FOUND) */ + if (click.status == NOTIF_CLICK_STATUS_OK && + click.app_idx >= 0 && click.app_idx < napps) { + logmsg("menu: notif click -> launch idx=%d chain=\"%s\"", + click.app_idx, click.chain); + int ret = click.chain[0] + ? launch_activity(&apps[click.app_idx], click.chain) + : launch_app(&apps[click.app_idx]); menu_after_app_exit(ret == 0); last_input_ms = now_ms(); dirty = 1; if (ret != 0) { snprintf(toast, sizeof toast, "CANNOT START: %s", - apps[want_launch].name); + apps[click.app_idx].name); toast_ms = TOAST_MS; } + } else if (click.status == NOTIF_CLICK_STATUS_NOROUTE) { + logmsg("menu: notif click NO ROUTE"); + snprintf(toast, sizeof toast, "NO ROUTE"); + toast_ms = TOAST_MS; + dirty = 1; + } else if (click.status == NOTIF_CLICK_STATUS_NOSRC) { + logmsg("menu: notif click SOURCE NOT FOUND"); + snprintf(toast, sizeof toast, "SOURCE NOT FOUND"); + toast_ms = TOAST_MS; + dirty = 1; } continue; /* 本圈不再按 tap/其余处理 */ } diff --git a/patch_v2/meow_launcherd/meow_ipc b/patch_v2/meow_launcherd/meow_ipc index 9ebc470e71f8e145dbf2117409d9f186652fb98b..9c8970056608e740e7cf5af45fa923c37518e841 100755 GIT binary patch delta 12537 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 delta 10753 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 diff --git a/patch_v2/meow_launcherd/meow_ipc.c b/patch_v2/meow_launcherd/meow_ipc.c index ad5b299..81ed824 100644 --- a/patch_v2/meow_launcherd/meow_ipc.c +++ b/patch_v2/meow_launcherd/meow_ipc.c @@ -221,9 +221,38 @@ static int cmd_back(void) return 1; } +/* M3:上报导航 → MSG_NAV,期望 MSG_ACK。 + * nav report 上报栈深/顶层(MEOW_NAV_REPORT) + * nav exit 请求退出(MEOW_NAV_EXIT) */ +static int cmd_nav(const char *app_id, int exit_req, uint32_t depth, const char *top) +{ + int fd = connect_path(g_sock); + if (fd < 0) return 1; + m_nav_t n; + memset(&n, 0, sizeof n); + strncpy(n.app_id, app_id, MEOW_APP_ID_MAX - 1); + n.nav_type = exit_req ? MEOW_NAV_EXIT : MEOW_NAV_REPORT; + n.depth = depth; + if (top) strncpy(n.current, top, MEOW_ACT_MAX - 1); + uint8_t rbuf[256]; + int rt = xchg(fd, MSG_NAV, 10, &n, sizeof n, rbuf, sizeof rbuf); + close(fd); + if (rt == MSG_ACK) { + m_ack_t a; + memcpy(&a, rbuf, sizeof a); + printf("NAV ok: app=%s type=%u depth=%u top=\"%s\" code=%d\n", + app_id, n.nav_type, depth, n.current, a.code); + return a.code == MEOW_OK ? 0 : 1; + } + if (rt == MSG_ERR) { print_err((const m_err_t *)rbuf); return 1; } + fprintf(stderr, "NAV: unexpected resp type 0x%04x\n", rt); + return 1; +} + /* M2a:推送通知 → MSG_NOTIFY,期望 MSG_NOTIFY_ACK。 */ static int cmd_notify(const char *app_id, const char *category, const char *summary, - const char *body, uint32_t replaces_id, int ongoing, int media, int progress) + const char *body, uint32_t replaces_id, int ongoing, int media, int progress, + const char *target_activity) { int fd = connect_path(g_sock); if (fd < 0) return 1; @@ -233,6 +262,7 @@ static int cmd_notify(const char *app_id, const char *category, const char *summ strncpy(n.category, category, sizeof n.category - 1); strncpy(n.summary, summary, sizeof n.summary - 1); if (body) strncpy(n.body, body, sizeof n.body - 1); + if (target_activity) strncpy(n.target_activity, target_activity, MEOW_ACT_MAX - 1); n.replaces_id = replaces_id; n.ongoing = ongoing ? 1 : 0; n.media = media ? 1 : 0; @@ -356,14 +386,16 @@ int main(int argc, char **argv) return cmd_back(); } if (!strcmp(cmd, "notify")) { - /* notify [body] [replaces_id] [ongoing] [media] [progress] */ + /* notify [body] [replaces_id] [ongoing] [media] [progress] [target_activity] */ if (i + 2 >= argc) { fprintf(stderr, "notify needs \n"); return 1; } const char *body = (i + 4 < argc) ? argv[i + 4] : ""; uint32_t rid = (i + 5 < argc) ? (uint32_t)strtoul(argv[i + 5], NULL, 0) : 0; int ongoing = (i + 6 < argc) ? atoi(argv[i + 6]) : 0; int media = (i + 7 < argc) ? atoi(argv[i + 7]) : 0; int progress = (i + 8 < argc) ? atoi(argv[i + 8]) : -1; - return cmd_notify(argv[i + 1], argv[i + 2], argv[i + 3], body, rid, ongoing, media, progress); + const char *tgt = (i + 9 < argc) ? argv[i + 9] : ""; + return cmd_notify(argv[i + 1], argv[i + 2], argv[i + 3], body, rid, ongoing, media, progress, + tgt); } if (!strcmp(cmd, "dismiss")) { if (i + 1 >= argc) { fprintf(stderr, "dismiss needs \n"); return 1; } @@ -376,6 +408,15 @@ int main(int argc, char **argv) if (!strcmp(cmd, "dismissall")) { return cmd_dismissall(); } + if (!strcmp(cmd, "nav")) { + /* nav report | nav exit */ + if (i + 1 >= argc) { fprintf(stderr, "nav needs and report|exit\n"); return 1; } + int exit_req = (!strcmp(argv[i + 1], "exit") || !strcmp(argv[i + 1], "EXIT")); + if (i + 2 >= argc) { fprintf(stderr, "nav needs \n"); return 1; } + uint32_t depth = (i + 3 < argc) ? (uint32_t)strtoul(argv[i + 3], NULL, 0) : 0; + const char *top = (i + 4 < argc) ? argv[i + 4] : ""; + return cmd_nav(argv[i + 2], exit_req, depth, top); + } fprintf(stderr, "unknown cmd %s; try --help\n", cmd); return 1; } diff --git a/patch_v2/meow_launcherd/meow_ipc.h b/patch_v2/meow_launcherd/meow_ipc.h index ad9dba2..43da2b8 100644 --- a/patch_v2/meow_launcherd/meow_ipc.h +++ b/patch_v2/meow_launcherd/meow_ipc.h @@ -13,7 +13,9 @@ * uint32_t len; = payload 字节数 * }; * - * 本阶段(D · M0+M1)通讯子集:MSG_HELLO/ACK/ERR + MSG_ACT_DECLARE/QUERY/RESULT。 + * 本阶段(D · M0+M1+M2+M3 前置)通讯子集:MSG_HELLO/ACK/ERR + MSG_ACT_DECLARE/QUERY/RESULT + + * MSG_ACT_FOCUS/BACK + MSG_NOTIFY/PROGRESS/QUERY/DISMISS* + MSG_NAV(导航栈上报/退出)。 + * picker(0x0070/0x0071)仅预留协议位,本批不实现。 */ #ifndef MEOW_IPC_H #define MEOW_IPC_H @@ -59,6 +61,12 @@ enum { MSG_PERF_RESULT = 0x0051, /* ↓ 聚合 JSON(perf/system 子集) */ MSG_POWER_ACTION = 0x0060, /* ↑ 电源/系统动作信号(专项服务 meow_svc_power) */ MSG_POWER_STATUS = 0x0061, /* ↓ 动作受理/结果 + 状态文本 */ + /* ---- 【预留 · 本批不实现】picker:带返回值的跨 App 调用(M3 延伸,只留协议位)---- + * 语义:App A 经 MSG_PICKER_CALL 请求 App B 弹一个 selector 并返回所选值(如文件/音轨 + * 选择器)。属「跨 App 带返回值」调用,与单向业务通知(MSG_NOTIFY)不同;负载/应答结构 + * 待 M3 延伸阶段定义(m_picker_call_t / m_picker_result_t),此处仅固定消息号与方向。 */ + MSG_PICKER_CALL = 0x0070, /* ↑ 请求跨 App picker 调用(发起方 A → 持有方 B) */ + MSG_PICKER_RESULT = 0x0071, /* ↓ picker 返回值(候选结果回 A) */ MSG_SYS = 0x00F0 /* ↓ 系统事件(守护关闭/服务死亡/播放器状态) */ }; @@ -141,6 +149,21 @@ typedef struct m_act_declare { char entries[MEOW_IPC_CARGO - MEOW_APP_ID_MAX - 4]; } m_act_declare_t; +/* MSG_NAV nav_type 取值(FRAMEWORK_DESIGN §3 导航栈) */ +enum { MEOW_NAV_REPORT = 0, /* 应用内逐屏回退/前进:上报当前栈深 + 顶层 activity */ + MEOW_NAV_EXIT = 1 }; /* 应用在根屏按返回 → 请求启动器终止应用、回主屏 */ + +/* MSG_NAV ↑:上报导航/请求退出(M3 导航栈;launcher 主循环单写者消费)。 + * - REPORT:应用弹/推自己的屏后上报;depth=当前逻辑深度(1..16),current=当前顶层 activity_id; + * - EXIT :应用在根屏再按返回;depth 置 0,current 可空。 + * launcher 据此维护每应用 nav_stack(≤16 深),并在 EXIT 时终止前台应用会话。 */ +typedef struct m_nav { + char app_id[MEOW_APP_ID_MAX]; + uint32_t nav_type; /* MEOW_NAV_REPORT / MEOW_NAV_EXIT */ + uint32_t depth; /* REPORT: 1..16;EXIT: 0 */ + char current[MEOW_ACT_MAX]; /* REPORT: 当前顶层 activity_id;EXIT: 可空 */ +} m_nav_t; + /* MSG_NOTIFY ↑:推送/更新通知(freedesktop 对齐 + MeowOS 扩展;定长 LE)。 * - summary/body/app_icon/expire_timeout 直通 freedesktop 字段;app_icon 即 SDK `icon` * (icon name 或 path;映射为空串时 launcher 用该 app 默认图标回退); diff --git a/patch_v2/meow_launcherd/meow_launcher_internal.h b/patch_v2/meow_launcherd/meow_launcher_internal.h index 784dddd..b01c700 100644 --- a/patch_v2/meow_launcherd/meow_launcher_internal.h +++ b/patch_v2/meow_launcherd/meow_launcher_internal.h @@ -471,6 +471,7 @@ enum { NCP_CHIP_WIFI=0, NCP_CHIP_BT=1, NCP_CHIP_THEME=2, NCP_CHIP_BRIGHT=3, typedef struct { uint32_t id; char app_id[MEOW_NOTIF_APP_ID_MAX]; + char category[MEOW_NOTIF_CAT_MAX]; /* 通知类型(媒体="media")——点击 route_status 判定用 */ char summary[MEOW_NOTIF_SUMMARY_MAX]; char body[MEOW_NOTIF_BODY_MAX]; char icon[MEOW_NOTIF_ICON_MAX]; @@ -481,6 +482,22 @@ typedef struct { meow_img *img; /* 缓存图标(meow_img_load_file 结果;NULL=回退首字符圆点) */ } ncp_row_t; +/* M5 通知中心点击产出:run_notif_center 经 *click 回报,run_menu 消费。 + * app_idx: -1=无启动;>=0 = apps[] 下标(本批 run_menu 传入同源)。 + * status : route_status(FRAMEWORK_DESIGN §4):-1=NONE(面板已关,未点任何通知,run_menu 不动); + * 0=OK 跳转;1=NO ROUTE;2=SOURCE NOT FOUND。 + * chain : status==0 时解析出的 activity 链路(';' 分隔);空=裸启动/整 app 级(媒体→主屏)。 + * status==1/2/NONE 时置空。 */ +#define NOTIF_CLICK_STATUS_NONE (-1) +#define NOTIF_CLICK_STATUS_OK 0 +#define NOTIF_CLICK_STATUS_NOROUTE 1 +#define NOTIF_CLICK_STATUS_NOSRC 2 +typedef struct notif_click { + int app_idx; + int status; + char chain[MEOW_CHAIN_MAX]; +} notif_click_t; + /* ---- ⑧ 一键清除(批量):先转储留档 → 再清空显示(红线:保留 ongoing/media/progress)---- */ typedef struct { uint32_t ids[NCP_MAX_ROWS]; int n; } ncp_clear_ctx_t; @@ -598,6 +615,9 @@ int kp_open(struct keypoll *kp, const char *dev); int kp_poll(struct keypoll *kp, int (*cb)(int code, int down, void *ctx), void *ctx); int launch_app(struct app *a); +/* M3:以指定 activity 链路冷启动某 app(注入 MEOW_ACTIVITY/MEOW_CHAIN + 设 nav_stack 栈深)。 + * chain=NULL 或空 = 裸启动(进 App 主屏/首页,不注入 activity env)。 */ +int launch_activity(struct app *a, const char *chain); void load_config(void); void log_cleanup_old(void); int log_open_card(void); @@ -607,6 +627,14 @@ void meow_acct_declare(const char *app_id, const char *entries, int count); struct meow_acct *meow_acct_find(const char *app_id); void meow_acct_hello(const char *app_id, uint32_t version, uint32_t flags); void meow_dac_vol_flush(void); +/* M3 导航栈(每 app ≤16 深;v1 单前台应用)。launcher 侧镜像,主循环单写者。 */ +#define MEOW_NAV_MAX_DEPTH 16 +void meow_nav_begin(const char *app_id, const char *chain); /* chain=NULL→depth 0(裸启动) */ +void meow_nav_report(const char *app_id, uint32_t depth, const char *current); +void meow_nav_exit(void); /* 清栈(应用退出/EXIT) */ +void meow_nav_request_exit(void); /* MSG_NAV{EXIT}:置位让前台 waitpid 循环终止 app */ +int meow_nav_exit_pending(void); /* 读取并清除退出请求(前台 launch_* 循环轮询) */ + void meow_dac_vol_write(int pct); void meow_dac_vol_write_throttled(void); void meow_dirty_add(int x, int y, int w, int h); @@ -656,7 +684,7 @@ int read_file_int(const char *path); int resolve_chain(const char *app_id, const char *activity, char *out, int *depth); void restore_backlight(void); uint16_t rgb565(uint32_t c); -void run_notif_center(struct app *apps, int napps, int *want_launch, +void run_notif_center(struct app *apps, int napps, notif_click_t *click, int live_open, int lox, int loy); void run_settings_page(void); void s_about_open(void); diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index 00da89a1013dbe37f9a9331aab62ae264d80b493..969f0f3b86e0b6c67a61cf2e935cd92328605135 100755 GIT binary patch delta 174620 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 KoGvc3y8mB{tn{A% diff --git a/patch_v2/meow_launcherd/notif_center.c b/patch_v2/meow_launcherd/notif_center.c index 4ae1d35..59ef49b 100644 --- a/patch_v2/meow_launcherd/notif_center.c +++ b/patch_v2/meow_launcherd/notif_center.c @@ -69,6 +69,7 @@ static int ncp_collect_cb(const meow_notif_t *n, void *ctx) memset(r, 0, sizeof *r); r->id = n->id; ncp_strncpy(r->app_id, n->app_id, sizeof r->app_id); + ncp_strncpy(r->category, n->category, sizeof r->category); ncp_strncpy(r->summary, n->summary, sizeof r->summary); ncp_strncpy(r->body, n->body, sizeof r->body); ncp_strncpy(r->icon, n->app_icon, sizeof r->icon); @@ -713,32 +714,56 @@ static int ncp_slider_apply(int which, int tx, int save_now) } -/* 通知点击:dismiss(标记阅读)+ 若 app 有 entry 记录则请求启动。返回 1=应关闭面板。 */ -static int ncp_row_tap(int tx, int ty, int scroll, int *want_launch) +/* 通知点击:dismiss(标记阅读)+ 按 route_status(FRAMEWORK_DESIGN §4)产出 notif_click_t *click。 + * status 0=OK 跳转(chain 解析出链路;媒体无 target 也 status=0,chain 置空=裸启动主屏); + * status 1=NO ROUTE(源 app 在,但无 target_activity / 路由未注册); + * status 2=SOURCE NOT FOUND(源 app 不在 apps[] 或 exec 不可用)。 + * 返回 1=应关闭面板(点击即关;status 1/2 由 run_menu 弹 toast,不崩)。 */ +static int ncp_row_tap(int tx, int ty, int scroll, notif_click_t *click) { + (void)tx; /* 行命中仅依赖 ty/scroll;tx 保留作接口一致(0-warning) */ int eff = ty - NCP_LIST_TOP + scroll; int row = mnp_row_at(eff, 0, g_nrows * NCP_ROW_H, NCP_ROW_H); if (row < 0 || row >= g_nrows) return 0; const ncp_row_t *r = &g_rows[row]; meow_notif_dismiss(r->id); /* 点击 = 阅读,撤下 */ - /* 跳转:app entry 记录(apps[] 内且 ok)→ 记 want_launch(run_menu 走标准启动)。 - * target_activity 为后续 M3 导航预留下的跳转目标(activity 级路由后置)。 */ - if (want_launch) *want_launch = -1; + if (click) { + click->app_idx = -1; + click->status = NOTIF_CLICK_STATUS_NOROUTE; + click->chain[0] = 0; + } + /* 源 app 定位(apps[] 内且 exec ok):找不到 → SOURCE NOT FOUND(不崩,toast) */ + int src = -1; if (g_ncp_apps) for (int i = 0; i < g_ncp_napps; i++) - if (!strcmp(g_ncp_apps[i].id, r->app_id) && g_ncp_apps[i].ok) { - if (want_launch) *want_launch = i; - break; - } - return 1; /* 点击即关(启动由 run_menu 执行;无记录则仅关闭) */ + if (!strcmp(g_ncp_apps[i].id, r->app_id) && g_ncp_apps[i].ok) { src = i; break; } + if (src < 0) { + if (click) click->status = NOTIF_CLICK_STATUS_NOSRC; + return 1; + } + /* 跳转判定:M5 接 M3 —— target_activity 解析出链路则跳;媒体通知(无 target)整 app 拉起主屏; + * 其余无路由 → NO ROUTE(不崩,toast)。 */ + int depth = 0; + char chain[MEOW_CHAIN_MAX] = ""; + if (r->target[0] && resolve_chain(r->app_id, r->target, chain, &depth) == MEOW_OK) { + if (click) { click->app_idx = src; click->status = NOTIF_CLICK_STATUS_OK; + strncpy(click->chain, chain, MEOW_CHAIN_MAX - 1); + click->chain[MEOW_CHAIN_MAX - 1] = 0; } + } else if (!strcmp(r->category, MEOW_NOTIF_MEDIA_CAT)) { + if (click) { click->app_idx = src; click->status = NOTIF_CLICK_STATUS_OK; + click->chain[0] = 0; } /* 媒体:整 app 前台(无 activity 链则进主屏) */ + } else { + if (click) click->status = NOTIF_CLICK_STATUS_NOROUTE; + } + return 1; /* 点击即关(status 0 由 run_menu 走 launch_activity/launch_app;1/2 弹 toast) */ } /* ---- 通知中心面板主循环(阻塞;参照 run_settings_page 交互惯用法)---- */ -void run_notif_center(struct app *apps, int napps, int *want_launch, +void run_notif_center(struct app *apps, int napps, notif_click_t *click, int live_open, int lox, int loy) { - if (want_launch) *want_launch = -1; + if (click) { click->app_idx = -1; click->status = NOTIF_CLICK_STATUS_NONE; click->chain[0] = 0; } int list_scroll = 0; unsigned char evbuf16[16]; g_ncp_apps = apps; g_ncp_napps = napps; @@ -759,7 +784,7 @@ void run_notif_center(struct app *apps, int napps, int *want_launch, if (tfd >= 0) { unsigned char ev[16]; while (read(tfd, ev, sizeof ev) == 16) {} } unsigned long long touch_cooldown_until = now_ms() + 300; unsigned long long last_tick = now_ms(); - unsigned long long last_act = now_ms(); + unsigned long long last_act = now_ms(); (void)last_act; /* 预留 idle 计时;当前未读(0-warning) */ unsigned long long last_listchk = now_ms(); int td = 0, td_ok = 0, tdx = -1, tdy = -1, tlx = -1, tly = -1; @@ -928,10 +953,10 @@ void run_notif_center(struct app *apps, int napps, int *want_launch, if (meow_auto_slept && !meow_screen_on) pwr_woke = 1; } if (pwr && pwr_hold_at) { - if (now - pwr_hold_at >= power_forceoff_ms && !pwr_menu_state) { + if (now - pwr_hold_at >= (unsigned long long)power_forceoff_ms && !pwr_menu_state) { if (sim_no_exec) logmsg("notif-center pm: [sim-no-exec] hold %dms -> would forceoff", power_forceoff_ms); else { logmsg("notif-center pm: hold %dms -> force poweroff", power_forceoff_ms); meow_power_action(POWER_SHUTDOWN); } - } else if (now - pwr_hold_at >= power_longpress_menu_ms && !pwr_menu_state) { + } else if (now - pwr_hold_at >= (unsigned long long)power_longpress_menu_ms && !pwr_menu_state) { pwr_menu_state = 1; logmsg("notif-center pm: hold %dms -> power menu", power_longpress_menu_ms); show_power_menu(); @@ -951,7 +976,7 @@ void run_notif_center(struct app *apps, int napps, int *want_launch, if (!pwr && m_prev_pwr) { if (pwr_suppress_click) logmsg("notif-center pm: release after menu -> no toggle"); - else if (pwr_hold_at && (now - pwr_hold_at < power_longpress_menu_ms) && !pwr_menu_state && !pwr_woke) { + else if (pwr_hold_at && (now - pwr_hold_at < (unsigned long long)power_longpress_menu_ms) && !pwr_menu_state && !pwr_woke) { logmsg("notif-center pm: single-click -> toggle panel"); meow_toggle_panel(); meow_auto_slept = 0; last_act = now_ms(); need_paint = 1; } else if (pwr_woke) { @@ -1197,7 +1222,7 @@ void run_notif_center(struct app *apps, int napps, int *want_launch, hit = 1; need_paint = 1; } if (!hit && ty >= NCP_LIST_TOP && ty < NCP_LIST_BOT) { - if (ncp_row_tap(tx, ty, list_scroll, want_launch)) { + if (ncp_row_tap(tx, ty, list_scroll, click)) { hit = 1; if (anim_ok) anim_target = 0; /* 点击通知:dismiss + 记录启动 → 滑出收回 */ else closed = 1; diff --git a/patch_v2/meow_launcherd/util.c b/patch_v2/meow_launcherd/util.c index ae87f94..0100474 100644 --- a/patch_v2/meow_launcherd/util.c +++ b/patch_v2/meow_launcherd/util.c @@ -1133,6 +1133,27 @@ static void ipc_dispatch(struct meow_ipc_msg *m) logmsg("ipc: ACT_BACK -> ACK"); break; } + /* M3 导航栈(FRAMEWORK_DESIGN §3):前台应用上报导航(REPORT)或请求退出(EXIT)。 + * REPORT → 更新 nav_stack 深度/顶层;EXIT → 置退出请求,前台 waitpid 循环终止应用回主屏。 + * 均在主循环单写者上下文执行(meow_ipc_process 排空处;launch_* 前台循环也调 meow_ipc_process)。 */ + case MSG_NAV: { + m_nav_t n; + memset(&n, 0, sizeof n); + memcpy(&n, m->payload, m->plen < (uint16_t)sizeof n ? m->plen : (uint16_t)sizeof n); + n.app_id[MEOW_APP_ID_MAX - 1] = 0; + n.current[MEOW_ACT_MAX - 1] = 0; + if (n.nav_type == MEOW_NAV_REPORT) + meow_nav_report(n.app_id, n.depth, n.current); + else + meow_nav_request_exit(); /* MEOW_NAV_EXIT(含未知值防御性按退出处理) */ + m_ack_t a; + a.code = MEOW_OK; + a.status = (uint32_t)n.depth; + ipc_send(m->fd, MSG_ACK, m->req_id, &a, sizeof a); + logmsg("ipc: NAV app=%s type=%u depth=%u top=\"%s\" -> ACK", + n.app_id, n.nav_type, n.depth, n.current); + break; + } /* M2a:通知存储(NOTIFICATION_SYSTEM.md §4/§7/§8)。IPC 线程只入队,此处在主循环 * 单写者落存储 + 回 ACK(与 HELLO/QUERY 同一线程模型,绝不在 socket IO 阻塞)。 */ case MSG_NOTIFY: {