From dafe31784d3585a0e3d3bc9ff920996b2fd62cec Mon Sep 17 00:00:00 2001 From: MeowOS Date: Sun, 30 Aug 2026 17:45:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=AD=E5=BF=83=20?= =?UTF-8?q?=E2=91=A7=E2=91=A8:=20=E4=B8=80=E9=94=AE=E6=B8=85=E9=99=A4(?= =?UTF-8?q?=E4=BF=9D=E7=95=99=E6=B4=BB=E5=8A=A8=E9=80=9A=E7=9F=A5)=20+=20?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E8=B7=9F=E6=89=8B=E4=B8=8B=E6=8B=89=E5=8D=8A?= =?UTF-8?q?=E7=A8=8B=E5=8F=AF=E5=9B=9E(agent-133)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ⑧ 一键清除: mnp_clearable(ongoing/media/progress) 红线保留活动通知; 先 meow_notif 转储(notifications.log+10MB滚动) 再清空显示; 勿扰左半+清除右半(NCP_DND_SPLIT_X=fb_xres/2)对称, 命中互斥 - ⑨ 面板跟手下拉/半程可回: reveal 连续映射 1:1 跟手(mnp_drag_progress/reveal), 松手 mnp_drag_anchor(fix,40%)=1→补到1024/0→回0收回; 与⑦行左滑/列表滚动/meow_edge_back 互斥; 复用快照+局部刷(panel帧/新露出条) - meow_ui.a 零改动(d249c6e6); launcher=b140e9e5; 宿主189项ok; 新增0warn - NOTIFICATION_SYSTEM §9 增 ⑧⑨; MEOW_APP_SDK §5.7 收合动画落点标注 --- MEOW_APP_SDK.md | 2 +- NOTIFICATION_SYSTEM.md | 2 + patch_v2/meow_launcherd/meow_launcherd | Bin 487596 -> 490812 bytes patch_v2/meow_launcherd/meow_launcherd.c | 245 +++++++++++++++++++-- patch_v2/meow_launcherd/meow_notif_panel.h | 47 ++++ patch_v2/meow_launcherd/test_notif_panel.c | 132 +++++++++++ 6 files changed, 406 insertions(+), 22 deletions(-) diff --git a/MEOW_APP_SDK.md b/MEOW_APP_SDK.md index a0d52eb..53bfbdf 100644 --- a/MEOW_APP_SDK.md +++ b/MEOW_APP_SDK.md @@ -435,7 +435,7 @@ void meow_ui_dialog_close(meow_dialog *d); - **底部边缘上滑** → **底部面板**(本模板新增;底部边缘无既有冲突)。 - **快捷设置**:为不与通知中心冲突,**待定案**——建议从通知中心二级拉出、或屏幕右上角/右侧缘单独热区触达、或「通知中心内点箭头展开」。**不新占顶部下滑**(避免与 §5.1 冲突)。 - **侧边栏**(可选):右缘向左滑出(右侧无既有手势,安全)。 -- **收合动画**:跟手平移面板(手指拖多长露多长),松手**过半阈值** → 补 2-4 帧**短插值**吸附到位;**未过** → 回弹。动画只在松手时做一次,不做逐帧几何重算(B1 无 tween;短插值=有限帧序列)。 +- **收合动画**:跟手平移面板(手指拖多长露多长),松手**过半阈值** → 补 2-4 帧**短插值**吸附到位;**未过** → 回弹。动画只在松手时做一次,不做逐帧几何重算(B1 无 tween;短插值=有限帧序列)。`[落点 2026-08-30]`:launcher 通知中心(顶部面板)已按此模板实现「跟手下拉 + 松手锚定」(progress=手指位移映射,40% 阈值补到位/回弹收回,复用快照 blit 平移,不逐帧重排)——见 NOTIFICATION_SYSTEM §9(⑨)与 devdocs NOTIF_CENTER_UI_PLAN §16。 - **内容懒载**:面板**首次拉出**才构建内容(或预建空容器),避免打开即全量绘制;面板内滚动局部 dirty。 - **关闭**:点面板外关闭 / 再划回边缘收合 / 返回键关闭(模态时)。 diff --git a/NOTIFICATION_SYSTEM.md b/NOTIFICATION_SYSTEM.md index 9e8c676..3cca280 100644 --- a/NOTIFICATION_SYSTEM.md +++ b/NOTIFICATION_SYSTEM.md @@ -73,6 +73,8 @@ target_activity(可选, 来自 hints) / progress(可选 int) / urgency(0-3, 缺 - **交互**:**状态栏下滑展开**(用户已定);**上滑 / 点面板外关**;**左缘返回关**(与全局左缘返回/顶部滑条按起始位置分流,见 spec-ref §5.1)。列表显示通知(app 图标 + summary + body + target Activity),点击按路由表解析跳转(M3 导航栈),下拉关闭/清除。 - **⑥ 快捷 chip + 面板内开关(launcher 侧,用户拍板 2026-08-30)**:快捷行为 **5 个**(WiFi/蓝牙/亮度/主题/**电源菜单**——第 5 个 chip 点击**唤起既有系统电源菜单** `show_power_menu`,真弹对话框);**勿扰不做 chip**,改**通知中心面板内开关**(列表上方小 toggle),开=只显示 `urgency>=2`(HIGH/CRITICAL),状态存 `notify.dnd`(SYSTEM_SETTINGS §1),面板内读写 `meow_settings_*` 零旁路。 - **⑦ 单条通知左滑删除(launcher 侧,用户拍板 2026-08-30)**:通知行**从右往左横向滑动删除**,跟手 + 半程可回(未过阈值/反向滑回 → 回弹复原);行内左滑=删该条、竖向=列表滚动、`meow_edge_back`(左缘起点)优先不变,滑动只在该行生效;松手过阈值 → `meow_notif_dismiss` + 行移除/重排。 +- **⑧ 一键清除通知(launcher 侧,用户拍板 2026-08-30)**:勿扰开关带**对称处(右半段)**加「一键清除」按钮(垃圾桶字形 + 清除),点击把**可清除的非活动通知先转储留档**(走既有 dump 链 `meow_notif_dismiss → dump_cb → meow_notif_dump_tf`,一行 CSV 追加到 `MeowOS/notifications/notifications.log` + 10MB 滚动),再**清空显示**(对可清除项 dismiss,活动项保留)。**红线:绝不清「活动状态」通知**——① ongoing 常驻、② 媒体通知(媒体会话单例)、③ 带进度条进行中的通知(`progress>=0`;终态 100% 已由 `meow_notif_update_progress` 里程碑落盘释放,不再活跃)一律保留;只清「非 ongoing / 非 media / 无进行中进度(`progress<0`)」的普通通知。= 转储留档先、清空显示后,活动项照常显示。 +- **⑨ 面板「跟手下拉、半程可回」(launcher 侧,用户拍板 2026-08-30)**:面板打开/关闭由「触发式 180ms 时间轴过渡」升级为**手指拖动实时跟手**——手指在顶部热区下拉时 `progress = 手指下移量映射`(复用 `mnp_anim_off`,progress∈[0,1024],跟手 1:1),松手 `progress ≥ 40%×1024≈410` → 走时间轴补到 1024(完成展开);`< 阈值 或 反向拖回` → 回弹到 0 收回(半程取消)。关闭同理可跟手:上滑拖动时 progress 1→0 跟手,松手 `< 阈值(回到接近 1)` → 回弹重新展开;`≥ 阈值` → 时间轴归 0 收回。与行左滑(⑦ 横向主导)/列表滚动(§11 列表溢出区)/`meow_edge_back`(左缘)互斥分流,竖向滑动仍是列表滚动/关闭语义。 - **协议/约束**:遵守 freedesktop 字段(summary/body/app_icon/actions/hints/expire_timeout/replaces_id)、配额(每 App 4 类型×每类型 4、媒体单例)、TTL、转储(10s + `MeowOS/notifications/` 10MB ring)、`urgency`/`icon`/`progress`(见 §5-§8)。 - **依赖**:M2 存储 + M3 导航栈(点击跳转)+ SDK 控件基座。**阶段 B 进行中。**(叠加/与播放器帧备份的互斥边界见 DEV_NOTES #16。) - **App 前台变体(跨进程,[源:2026-08-30])**:全屏 App 前台时,App 进程内顶部下滑也能唤起通知中心——**App diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index c619435f5fdf7d96f5e17e2cb758cbeba2c4c9bc..bf303a78e9ab740888fa136dbe858e84a23eb6f2 100755 GIT binary patch delta 160578 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

d8Qdvvr1kKP4747=@q&|L(N!p>7E!rqa3{a@3 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 RdVopy;qbGG7Dre!{vV)`DCz(J delta 157232 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


qZc^X$gg#x5vxekxzcV44i8pDqXQg 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 F;=jQ%Ubp}N diff --git a/patch_v2/meow_launcherd/meow_launcherd.c b/patch_v2/meow_launcherd/meow_launcherd.c index c48c635..d6d8bcd 100644 --- a/patch_v2/meow_launcherd/meow_launcherd.c +++ b/patch_v2/meow_launcherd/meow_launcherd.c @@ -3290,7 +3290,8 @@ static void run_settings_page(void); /* 阶段B:通知中心面板(定义在下方 run_settings_page 之后;run_menu 顶部热区下滑调用)。 * *want_launch 初始为 -1;若点击通知命中可启动 app,返回时置为 apps[] 下标(run_menu 据此 * 走标准启动链路)。返回后由调用方重置按键防抖基线防面板误切换。 */ -static void run_notif_center(struct app *apps, int napps, int *want_launch); +static void run_notif_center(struct app *apps, int napps, int *want_launch, + int live_open, int lox, int loy); static int touch_fd = -1; static int t_last_x = -1, t_last_y = -1; @@ -3300,7 +3301,16 @@ static int t_down_x = 0, t_down_y = 0; * 故 t_down_x/y 延迟到「本次按下之后」的首个有效 ABS 才锁定,避免把上一手势残留 * (-1/旧坐标) 当本次原点。t_down_valid=0 表示本次尚未锁到有效坐标。 */ static int t_down_valid = 0; +/* ⑨ 顶部热区「跟手下拉」进入通知中心的 per-gesture latch:进入后置 1,本次手势不再二次进入; + * 由下次 touch-down 复位。防止「拖动中切入 run_notif_center 后返回」把同次手势再判成打开/滑动。 */ +static int menu_live_open_pending = 0; #define MENU_SWIPE_THRESH 65 /* px:抬手位移 >= 阈值判为滑动,不启动行(同 SDK SWIPE_THRESH) */ +/* ⑨ 面板跟手下拉、半程可回(progress=手指位移映射;复用 mnp_anim_off/快照/ncp_anim_rebuild)。 + * NCP_DRAG_ENTER_SLOP = 顶部热区下拉进入 run_notif_center(run_menu 切入时机)的位移阈值(px); + * NCP_DRAG_THR_PCT = 松手锚定阈值(progress >= fix*40/100≈410 → 补到展开;否则收回=半程取消)。 + * 拖满=面板高 PH(g_ncp_ph),实现「面板顶缘 1:1 跟手」:off = dy - PH。 */ +#define NCP_DRAG_ENTER_SLOP 16 +#define NCP_DRAG_THR_PCT 40 /* Bug 2/4 (2026-08-28): after an app exits we return to the menu, but touch * events that were generated DURING the app run (the goodix ghost touch the * v6.4 watchdog guards against, plus the back-tap/press that actually exited @@ -4407,6 +4417,52 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, if (t_down && !t_down_valid && t_last_x >= 0 && t_last_y >= 0) { t_down_x = t_last_x; t_down_y = t_last_y; t_down_valid = 1; } + /* ⑨ 顶部热区「跟手下拉」打开通知中心(拖动中即进,真跟手): + * 原点锁定 + 起点在顶部热区(y= 0 && t_down_y < SB_BAR_H && + (t_last_y - t_down_y) >= NCP_DRAG_ENTER_SLOP) { + menu_live_open_pending = 1; /* 本次手势仅触发一次 */ + int loy = t_down_y; + logmsg("menu: top-edge live drag-down -> notification center (dy=%d)", + 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); + /* 重播按键防抖基线(同原 top-swipe 路径),防面板内电源/音量边沿被 run_menu 误判 */ + memset(&kd_pwr, 0, sizeof kd_pwr); + memset(&kd_vold, 0, sizeof kd_vold); + memset(&kd_volu, 0, sizeof kd_volu); + memset(&kd_play, 0, sizeof kd_play); + kp_poll(&kp_power, NULL, NULL); + kp_poll(&kp_keys, NULL, NULL); + m_prev_pwr = kp_is_down(&kp_power, KEY_POWER); + m_prev_vold = kp_is_down(&kp_keys, KEY_VOLUMEDOWN); + m_prev_volu = kp_is_down(&kp_keys, KEY_VOLUMEUP); + m_prev_play = kp_is_down(&kp_keys, KEY_PLAYPAUSE); + 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]); + 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); + toast_ms = TOAST_MS; + } + } + continue; /* 本圈不再按 tap/其余处理(剩余事件因 t_down=0 成 no-op) */ + } } else if (type == EV_KEY && code == BTN_TOUCH) { if (val && !t_down) { /* Bug 2/4: ignore touches inside the post-app @@ -4422,6 +4478,7 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, t_down = 1; t_down_valid = 0; /* 原点待首个有效坐标锁定(防残留 -1/旧值) */ t_last_x = -1; t_last_y = -1; /* 本次以「无坐标」起步(防跨手势残留) */ + menu_live_open_pending = 0; /* ⑨ 新触摸:复位 live-open latch */ } } else if (!val && t_down) { @@ -4442,10 +4499,10 @@ static void run_menu(struct app apps[MAX_APPS], int napps, int state, * 左缘(down_x notification center"); + 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); + run_notif_center(apps, napps, &want_launch, 0, 0, 0); /* ⑨ live_open=0 → 触发式自动展开(防御) */ /* 重播按键防抖基线,防面板内电源/音量边沿被 run_menu 误判(M2.25 同款)。 */ memset(&kd_pwr, 0, sizeof kd_pwr); memset(&kd_vold, 0, sizeof kd_vold); @@ -6809,6 +6866,10 @@ done: /* 勿扰过滤阈值:dnd=1 只显示 urgency>=2(HIGH=2/CRITICAL=3) */ #define NCP_DND_MIN_URGENCY 2 +/* ⑧ 一键清除(勿扰对称处):与勿扰带同排(NCP_DND_Y/H),x 对半(中线=fb_xres/2)。 + * 勿扰=左半段 [NCP_ROW_X, fb_xres/2);清除=右半段 [fb_xres/2, fb_xres-NCP_ROW_X)。 */ +#define NCP_DND_SPLIT_X (fb_xres / 2) /* 勿扰/清除带分割中线(左右对称) */ + /* ---- 开关平移动画(§9:状态时间轴 + 快照 blit 平移,不整屏重绘)---- */ #define NCP_ANIM_FIX 1024 /* 进度 p 的定点分母(1/1024 精度) */ #define NCP_ANIM_MS 180 /* 单程打开/关闭时长(ms,真机可调) */ @@ -7015,6 +7076,21 @@ static int ncp_anim_rebuild(int off, int prev_bot) return cur_bot; } +/* ⑨ 应用一帧面板动画(开关时间轴 §9 与跟手拖动 ⑨ 共用):把 back_buf 面板区重建为 + * 「背景 + 平移后的面板」并标脏/呈现。p=当前进度;prev_bot=上一帧覆盖底缘(exclusive, + * 回填本帧);ok=快照可用(否则 no-op,动画降级为瞬时)。只刷面板矩形 + 新露出条, + * 顶= NCP_TOP(不盖状态栏)、不含 [0,NCP_TOP) 带;不重排面板控件(panel_snap 固定)。 */ +static void ncp_anim_frame(int p, int *prev_bot, int ok) +{ + if (!ok || g_ncp_ph <= 0 || !prev_bot) return; + int off = mnp_anim_off(p, NCP_ANIM_FIX, g_ncp_ph); + int cur_bot = ncp_anim_rebuild(off, *prev_bot); + int maxb = (*prev_bot > cur_bot) ? *prev_bot : cur_bot; + *prev_bot = cur_bot; + meow_dirty_add(0, NCP_TOP, fb_xres, maxb - NCP_TOP); + meow_ui_flush(); +} + /* 把文本按宽度截断(UTF-8 安全:不切开多字节码),超出加 "..."。 */ static void ncp_text(int x, int y, const char *s, int size, uint32_t color, int maxw) { @@ -7260,14 +7336,26 @@ static void ncp_repaint_row(int scroll, int row, int off) meow_ui_flush(); } -/* ⑥ 勿扰开关带命中(面板内小 toggle):落在 [NCP_DND_Y, NCP_DND_Y+NCP_DND_H) 整宽 → 命中。 - * 不与 5 chip(y≤130)、滑条带(y≤238)、通知列表(y≥NCP_LIST_TOP=308)、状态栏(y<28)重叠。 */ +/* ⑥/⑧ 勿扰开关带命中(面板内小 toggle,⑧ 收窄为左半段): + * 落在 [NCP_DND_Y, NCP_DND_Y+NCP_DND_H) 且 x ∈ [0, NCP_DND_SPLIT_X) → 勿扰命中。 + * 右半段归「一键清除」(ncp_clear_hit,互斥);不与 5 chip(y≤130)、滑条带(y≤238)、 + * 通知列表(y≥NCP_LIST_TOP=308)、状态栏(y<28)重叠。 */ static int ncp_dnd_hit(int tx, int ty) { - return (ty >= NCP_DND_Y && ty < NCP_DND_Y + NCP_DND_H && tx >= 0 && tx < fb_xres); + return (ty >= NCP_DND_Y && ty < NCP_DND_Y + NCP_DND_H && + tx >= 0 && tx < NCP_DND_SPLIT_X); } -/* ⑥ 绘勿扰带:label「勿扰」+ 铃铛图标 + 状态「开/关」 + 右侧 s_draw_switch(48×28)。 */ +/* ⑧ 一键清除带命中(勿扰对称处的右半段): + * 落在 [NCP_DND_Y, NCP_DND_Y+NCP_DND_H) 且 x ∈ [NCP_DND_SPLIT_X, fb_xres) → 清除命中。 */ +static int ncp_clear_hit(int tx, int ty) +{ + return (ty >= NCP_DND_Y && ty < NCP_DND_Y + NCP_DND_H && + tx >= NCP_DND_SPLIT_X && tx < fb_xres); +} + +/* ⑥ 绘勿扰带(⑧ 收窄为左半段):label「勿扰」+ 铃铛图标 + 状态「开/关」 + 左半段右侧 s_draw_switch(48×28)。 + * 右半段由 ncp_draw_clear 画「一键清除」按钮(对称)。 */ static void ncp_draw_dnd(const meow_ui_theme_t *th) { int y = NCP_DND_Y; @@ -7285,8 +7373,52 @@ static void ncp_draw_dnd(const meow_ui_theme_t *th) int lw = ui_width("勿扰", 18); ui_draw(bx + 22 + lw + 12, cy - meow_font_line_height(18) / 2 + 2, st, dnd_on ? th->primary : th->on_surface_variant, 18); - /* 右侧开关(既有的开关绘制;48×28 垂直居中) */ - s_draw_switch(fb_xres - 24 - 48, cy - 14, dnd_on, th); + /* 左半段右侧开关(⑧:从原 fb_xres-24-48 左移到分割线左侧,48×28 垂直居中) */ + s_draw_switch(NCP_DND_SPLIT_X - 6 - 48, cy - 14, dnd_on, th); +} + +/* ⑧ 绘一键清除按钮(勿扰对称处的右半段):圆角按钮底 + 垃圾桶字形 + 「清除」文字。 */ +static void ncp_draw_clear(const meow_ui_theme_t *th) +{ + int y = NCP_DND_Y; + int cy = y + NCP_DND_H / 2; + int cx0 = NCP_DND_SPLIT_X + 8; /* 右半段按钮左缘 */ + int cw = (fb_xres - NCP_ROW_X) - cx0; /* 右半段按钮宽 */ + if (cw <= 0) return; + meow_gfx_fill_round(cx0, y + 4, cw, NCP_DND_H - 8, 12, th->surface_container); + /* 垃圾桶字形(简化:顶盖横条 + 桶身圆角 + 侧提手)+「清除」文字,整体在按钮内居中(美观对称)。 */ + const char *lbl = "清除"; + int lw = ui_width(lbl, 18); + int unit = 22; /* 图标占位宽 + 与文字的间距 */ + int total = unit + lw; + int gx = cx0 + (cw - total) / 2; /* 图标左缘(居中) */ + int icy = cy; + fill_rect(gx, icy - 7, 14, 2, th->on_surface_variant); /* 顶盖 */ + meow_gfx_fill_round(gx + 1, icy - 3, 12, 12, 2, th->on_surface_variant);/* 桶身 */ + meow_gfx_fill_round(gx - 2, icy - 6, 4, 3, 1, th->on_surface_variant);/* 侧提手左 */ + meow_gfx_fill_round(gx + 14, icy - 6, 4, 3, 1, th->on_surface_variant);/* 侧提手右 */ + ui_draw(gx + unit, cy - meow_font_line_height(18) / 2 + 2, lbl, th->on_surface, 18); +} + +/* ---- ⑧ 一键清除(批量):先转储留档 → 再清空显示(红线:保留 ongoing/media/progress)---- */ +typedef struct { uint32_t ids[NCP_MAX_ROWS]; int n; } ncp_clear_ctx_t; +static int ncp_clear_collect_cb(const meow_notif_t *n, void *ctx) +{ + ncp_clear_ctx_t *c = ctx; + if (!mnp_clearable(n->ongoing, n->media, n->progress)) return 0; /* 保留红线项 */ + if (c->n >= NCP_MAX_ROWS) return 1; /* 满:中止遍历 */ + c->ids[c->n++] = n->id; + return 0; +} +/* 收集可清除通知 id 后逐条 dismiss(dismiss = archive_one(dump→TF) + 释放槽 = 转储留档 + 清出显示)。 + * 返回清除条数。 */ +static int ncp_clear_all(void) +{ + ncp_clear_ctx_t c; + memset(&c, 0, sizeof c); + meow_notif_list(NULL, ncp_clear_collect_cb, &c); + for (int i = 0; i < c.n; i++) meow_notif_dismiss(c.ids[i]); + return c.n; } /* 绘制整个通知中心面板(画进 SDK back_buf;redraw_sb=1 时另绘状态栏在最顶)。 @@ -7366,8 +7498,10 @@ static void draw_notif_center(int scroll, int redraw_sb) /* 分隔线 */ fill_rect(12, NCP_DIV_Y, W - 24, 1, th->outline); - /* ⑥ 勿扰面板内开关带(list 上方) */ + /* ⑥ 勿扰面板内开关带(list 上方,左半段) */ ncp_draw_dnd(th); + /* ⑧ 一键清除按钮(勿扰对称处的右半段) */ + ncp_draw_clear(th); /* 通知列表 */ ncp_draw_list(scroll); @@ -7443,7 +7577,8 @@ static int ncp_row_tap(int tx, int ty, int scroll, int *want_launch) } /* ---- 通知中心面板主循环(阻塞;参照 run_settings_page 交互惯用法)---- */ -static void run_notif_center(struct app *apps, int napps, int *want_launch) +static void run_notif_center(struct app *apps, int napps, int *want_launch, + int live_open, int lox, int loy) { if (want_launch) *want_launch = -1; int list_scroll = 0; @@ -7488,6 +7623,15 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) int row_off_target = 0; unsigned long long row_anim_at = 0; int row_paint = 0; /* 仅重绘该行带(行左滑专用) */ + /* ⑨ 面板跟手下拉、半程可回: + * panel_drag = 1 面板跟手拖动中(anim_p 直接由手指位移映射,状态时间轴暂停); + * drag_seed_reveal = 进入拖动时锁定的面板「露出高度」(= ph + off,防触发瞬间跳变); + * drag_y0 = 进入拖动时锁定手指 y(此后 reveal = seed + (tly - drag_y0),连续跟手/半程可回); + * drag_paint = 仅用动画重建路径重绘一帧(复用 §9 快照 blit,不整屏/不重排控件)。 */ + int panel_drag = 0; + int drag_seed_reveal = 0; + int drag_y0 = 0; + int drag_paint = 0; int closed = 0; /* 非动画路径的兜底关面板(快照不可用时瞬时退出) */ int after_modal = 0; /* 电源菜单返回:整帧重绘还原被 dim 的状态栏 */ int wake_suppress = 0; @@ -7504,6 +7648,15 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) int anim_prev_bot = NCP_TOP; /* 上一帧面板覆盖底缘(exclusive;初始=NCP_TOP=未覆盖) */ int anim_ok = 0; + /* ⑨ live_open 入口(run_menu 热区拖动中切入):手指此刻已按下且正拖动。 + * - 触摸:直接以传入原点作「已按下已锁原点」(evdev 广播,本 fd 只接后续 move/release)。 + * - 进度:面板从隐藏(anim_p=0)起步,target 未定(=0),由拖动路径实时映射 anim_p; + * 松手按阈值锚定 target。默认(非 live_open)仍为 trigger 式自动展开(防御路径)。 */ + if (live_open) { + td = 1; td_ok = 1; tdx = lox; tdy = loy; scroll_y0 = tdy; + anim_target = 0; anim_last_target = 0; /* 待拖动/松手锚定 */ + } + /* ⑥ 读勿扰面板内开关态(开面板一次;切换在下面 tap 分支写回)。 */ { int d = 0; meow_settings_get_bool("notify.dnd", &d); @@ -7576,6 +7729,7 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) row_swipe_row = -1; row_off = 0; row_settle = 0; row_off_target = 0; row_anim_at = 0; row_paint = 0; g_ncp_swipe_row = -1; g_ncp_swipe_off = 0; + panel_drag = 0; drag_seed_reveal = 0; drag_y0 = 0; drag_paint = 0; /* 唤醒:面板直接就位(不重播滑入动画,面板早已打开);重拍快照防内容已变 */ anim_p = anim_target = anim_last_target = NCP_ANIM_FIX; if (anim_ok) anim_prev_bot = NCP_TOP + g_ncp_ph; @@ -7713,6 +7867,30 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) g_ncp_swipe_off = row_off; row_paint = 1; } + /* ⑨ 面板跟手拖动(进入):竖向位移达 slop、起点不在列表溢出滚动区(归 §11)、 + * 未锁行左滑/滚动/滑条 → 进入拖动。锁定当前面板露出高度 + 当前手指 y, + * 此后 reveal = seed + (tly - drag_y0),方向无关、连续可反向(半程可回)。 */ + if (td_ok && !drag_slider && !scroll_drag && row_swipe_row < 0 && !panel_drag) { + int ady2 = (tly - tdy) < 0 ? (tdy - tly) : (tly - tdy); + if (ady2 >= S_SCROLL_SLOP) { + int av = g_nrows * NCP_ROW_H; + int vw = NCP_LIST_BOT - NCP_LIST_TOP; + int in_over = (tdy >= NCP_LIST_TOP && tdy < NCP_LIST_BOT && + mnp_scroll_max(av, vw) > 0); + if (!in_over) { + int cur_off = mnp_anim_off(anim_p, NCP_ANIM_FIX, g_ncp_ph); + drag_seed_reveal = (g_ncp_ph > 0) ? (g_ncp_ph + cur_off) : 0; + drag_y0 = tly; + panel_drag = 1; + } + } + } + /* ⑨ 跟手:panel_drag 时 reveal=seed+位移 → progress 更新 anim_p;拖动期时间轴暂停。 */ + if (panel_drag && td_ok) { + int reveal = mnp_drag_reveal(drag_seed_reveal, tly - drag_y0, g_ncp_ph); + int np = mnp_drag_progress(reveal, NCP_ANIM_FIX, g_ncp_ph); + if (np != anim_p) { anim_p = np; drag_paint = 1; } + } /* 列表滚动(§11):面板就位(open_settled)+ 起点在列表区 + 内容溢出 + * 纵向位移达 slop → 进滚动。方向遵循 input.swipe_invert(与设置页列表同式); * 拖到顶/底继续拖 → 回弹标记。动画进行中(面板在滑,未就位)不启动滚动。 */ @@ -7750,6 +7928,8 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) row_swipe_row = -1; row_off = 0; row_settle = 0; row_off_target = 0; row_anim_at = 0; row_paint = 0; g_ncp_swipe_row = -1; g_ncp_swipe_off = 0; + /* ⑨ 新触摸:清面板跟手(防上一拖动残留) */ + panel_drag = 0; drag_seed_reveal = 0; drag_y0 = 0; drag_paint = 0; } } else if (!val && td) { td = 0; @@ -7793,6 +7973,14 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) } list_paint = 1; scroll_base = 0; scroll_y0 = 0; scroll_rebound = 0; scroll_invert = 0; + } else if (panel_drag) { + /* ⑨ 面板跟手拖动松手:按阈值锚定 target(≥40% → 补到展开; + * <40% 或反向拖回 → 回 0 收回 = 半程取消/关闭过阈值)。时间轴接管 + * 把 anim_p 补到位;不误关面板、不走 tap/上滑/点空白(本手势锁定)。 */ + int go_open = mnp_drag_anchor(anim_p, NCP_ANIM_FIX, NCP_DRAG_THR_PCT); + if (anim_ok) anim_target = go_open ? NCP_ANIM_FIX : 0; + else if (!go_open) closed = 1; /* 无快照降级:收回 → 直接退出 */ + panel_drag = 0; drag_paint = 0; drag_seed_reveal = 0; drag_y0 = 0; } else if (adx < 60 && ady < 60) { /* tap */ if (animating) break; /* 动画进行中:tap 忽略(控件命中会误触,见 §9.5) */ int tx = tdx, ty = tdy; @@ -7837,6 +8025,19 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) NCP_LIST_BOT - NCP_LIST_TOP); hit = 1; need_paint = 1; } + /* ⑧ 一键清除(勿扰对称处右半段):先转储留档 → 再清空显示(留 ongoing/media/progress)。 */ + if (!hit && ncp_clear_hit(tx, ty)) { + int n = ncp_clear_all(); + logmsg("notif-center: clear %d notif(s) (dumped first, kept ongo/media/progress)", n); + /* 清除后取消行左滑(下标会变),再重采集 + 重钳 + 整面板重画。 */ + row_swipe_row = -1; row_off = 0; row_settle = 0; + row_off_target = 0; row_anim_at = 0; row_paint = 0; + g_ncp_swipe_row = -1; g_ncp_swipe_off = 0; + ncp_refresh_rows(); + list_scroll = mnp_scroll_clamp(list_scroll, g_nrows * NCP_ROW_H, + NCP_LIST_BOT - NCP_LIST_TOP); + 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)) { hit = 1; @@ -7871,10 +8072,11 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) last_listchk = now; meow_notif_tick(); if (ncp_rows_changed()) { - /* ⑦ 列表已变(新条/撤下/TTL):取消当前行左滑,避免行下标错位。 */ + /* ⑦ 列表已变(新条/撤下/TTL):取消当前行左滑,避免行下标错位。⑨ 同时取消面板跟手。 */ row_swipe_row = -1; row_off = 0; row_settle = 0; row_off_target = 0; row_anim_at = 0; row_paint = 0; g_ncp_swipe_row = -1; g_ncp_swipe_off = 0; + panel_drag = 0; drag_seed_reveal = 0; drag_y0 = 0; drag_paint = 0; ncp_refresh_rows(); list_scroll = mnp_scroll_clamp(list_scroll, g_nrows * NCP_ROW_H, NCP_LIST_BOT - NCP_LIST_TOP); @@ -7884,7 +8086,7 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) /* 开关动画推进(§9:状态时间轴 + 快照 blit 平移;present 尊重 SDK 帧率门控,动画不更高频)。 * 每 tick 依壁钟差推进 p;改 anim_target 即平滑转向(可打断,不跳变)。 */ - if (anim_ok && anim_p != anim_target) { + if (anim_ok && anim_p != anim_target && !panel_drag) { unsigned long long anow = now_ms(); int dt; if (anim_target != anim_last_target) { @@ -7901,16 +8103,10 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) (unsigned long long)dt, NCP_ANIM_MS); if (np != anim_p) { anim_p = np; - int off = mnp_anim_off(anim_p, NCP_ANIM_FIX, g_ncp_ph); - int cur_bot = ncp_anim_rebuild(off, anim_prev_bot); - int maxb = (anim_prev_bot > cur_bot) ? anim_prev_bot : cur_bot; - anim_prev_bot = cur_bot; - /* 只刷面板矩形 + 新露出的条(不整屏;不含状态栏 0-27 带) */ - meow_dirty_add(0, NCP_TOP, fb_xres, maxb - NCP_TOP); - meow_ui_flush(); + ncp_anim_frame(anim_p, &anim_prev_bot, anim_ok); /* §9 快照 blit 平移(只刷面板矩形) */ } } - if (anim_ok && anim_target == 0 && anim_p == 0) break; /* 滑出到 0 → 真正退出子循环 */ + if (anim_ok && !panel_drag && !td && anim_target == 0 && anim_p == 0) break; /* 滑出到 0 且无按下触摸 → 真正退出子循环 */ /* ⑦ 行左滑落位动画:row_settle=1 时按壁钟差向 row_off_target 线性步进(回弹→0 / 滑出→-row_w)。 * 到达目标:0=回弹完成(行复原,无需重排);-row_w=删除 → dismiss + 重采集 + 重排(need_paint)。 @@ -7976,6 +8172,13 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) list_paint = 0; } } + /* ⑨ 面板跟手拖动重绘:只刷面板矩形 + 新露出条(§9 快照 blit 平移;不整屏/不重排控件)。 + * 拖动期 anim_p 直接由手指映射,故不受下方「animating」门控(非时间轴推进),直接呈现。 */ + if (drag_paint) { + last_act = now; + ncp_anim_frame(anim_p, &anim_prev_bot, anim_ok); + drag_paint = 0; + } /* 仅重绘该行带(行左滑跟手/回弹/滑出专用:只刷该行矩形,不整面板/不刷状态栏;同受动画门控)。 * row_swipe_row<0(行已回弹/删除/被取消)则跳过并清标记,避免对已移除行重绘。 */ if (row_paint) { diff --git a/patch_v2/meow_launcherd/meow_notif_panel.h b/patch_v2/meow_launcherd/meow_notif_panel.h index a254b7e..1dafab8 100644 --- a/patch_v2/meow_launcherd/meow_notif_panel.h +++ b/patch_v2/meow_launcherd/meow_notif_panel.h @@ -244,4 +244,51 @@ static inline int mnp_swipe_step(int off, int target, unsigned long long dt_ms, return off + dir * (int)step; } +/* ---- ⑧ 一键清除通知判定(纯逻辑,可单测)---- + * 通知中心「一键清除」= 把可清除的非活动通知先转储留档(走既有 dump 链),再清空显示; + * 红线(源:用户 2026-08-30):① ongoing 常驻、② 媒体通知(媒体会话单例)、③ 带进度条进行中的通知 + * (progress>=0;终态 100% 已由 meow_notif_update_progress 里程碑落盘释放,不再活跃)——一律保留。 + * 本函数只做「该不该清」的标量判定,不碰存储/fb;ongoing/media/progress 直读 meow_notif_t 字段。 */ + +/* 「可清除」判定:非 ongoing 且 非 media 且 无进行中进度(progress<0)。返回 1=应清除;0=保留(红线)。 */ +static inline int mnp_clearable(int ongoing, int media, int progress) +{ + return !ongoing && !media && progress < 0; +} + +/* ---- ⑨ 面板「跟手下拉、半程可回」(纯逻辑,可单测)---- + * 把面板打开/关闭从「触发式时间轴过渡」升级为「手指拖动实时跟手」:progress∈[0,fix], + * reveal(面板当前露出高度,∈[0,ph])随手指位移连续映射;松手按阈值锚定补到位/收回。 + * 本组函数只做标量:reveal→progress / seed+delta clamp / 松手锚定,不碰 fb/几何—— + * 供 launcher(meow_launcherd.c 内嵌面板)与宿主单测(test_notif_panel.c)共用同一份实现。 */ + +/* 跟手 reveal→progress:reveal∈[0,ph](面板露出高度)→ p∈[0,fix]。线性、方向无关。 + * 与 mnp_anim_off 互逆(off = -ph + reveal;p = fix*reveal/ph)。 */ +static inline int mnp_drag_progress(int reveal, int fix, int ph) +{ + if (reveal <= 0) return 0; + if (reveal >= ph) return fix; + return (int)((long long)reveal * fix / ph); +} + +/* reveal 跟手 clamp:seed(进入拖动时锁定的露出高) + delta(自进入竖向位移, y 向下为正) → clamp[0,ph]。 + * 连续可反向:反向 delta 减小 reveal,未到边界不跳变(半程可回)。ph<=0 时恒 0。 */ +static inline int mnp_drag_reveal(int seed, int delta, int ph) +{ + if (ph <= 0) return 0; + int r = seed + delta; + if (r < 0) r = 0; + if (r > ph) r = ph; + return r; +} + +/* 松手锚定:progress p(∈[0,fix])与阈值(fix*thr_pct/100,如 40%→410)相比。 + * 返回 1=≥阈值 → 前去 fix(打开完成 / 关闭手势未过阈值→回弹重新展开); + * 返回 0=<阈值 或 反向拖回 → 回 0(开半程取消收回 / 关闭过阈值→收回)。 */ +static inline int mnp_drag_anchor(int p, int fix, int thr_pct) +{ + int thr = fix * thr_pct / 100; + return p >= thr ? 1 : 0; +} + #endif /* MEOW_NOTIF_PANEL_H */ diff --git a/patch_v2/meow_launcherd/test_notif_panel.c b/patch_v2/meow_launcherd/test_notif_panel.c index 8c45bc1..4ffd7ab 100644 --- a/patch_v2/meow_launcherd/test_notif_panel.c +++ b/patch_v2/meow_launcherd/test_notif_panel.c @@ -311,6 +311,136 @@ static void test_dnd_swipe_pure(void) CHECK(mnp_swipe_delete(off, row_w, 40, 110) == 0, "mini: -100 back under threshold -> cancel"); } +/* P6 ⑧ 一键清除判定 + ⑨ 面板跟手下拉/半程可回(纯逻辑,header-only): + * - mnp_clearable:红线(ongoing / media / progress>=0 进行中)一律保留;非活动普通通知可清。 + * - mnp_drag_progress:reveal→progress(0/fix/线性/越界 clamp)。 + * - mnp_drag_reveal:seed+delta 正向/反向/边界 clamp(连续、半程可回)。 + * - mnp_drag_anchor:松手锚定(≥40%→前去 fix;<40%→回 0)。 + * 另加 mini 状态机:开(跟手下拉→松手过阈值展开/未过收回)+ 关(上滑跟手→松手未过阈值回弹重展/过阈值收回)。 */ +static void test_clear_drag_pure(void) +{ + fprintf(stderr, "--- P6 clear predicate + panel drag-follow ---\n"); + enum { FIX = 1024, PH = 692 }; + + /* mnp_clearable */ + CHECK(mnp_clearable(1, 0, -1) == 0, "clearable: ongoing -> keep"); + CHECK(mnp_clearable(0, 1, -1) == 0, "clearable: media -> keep"); + CHECK(mnp_clearable(0, 0, 50) == 0, "clearable: progress in-progress(50) -> keep"); + CHECK(mnp_clearable(0, 0, 0) == 0, "clearable: progress bar(0) -> keep"); + CHECK(mnp_clearable(0, 0, -1) == 1, "clearable: plain inactive -> clear"); + CHECK(mnp_clearable(0, 1, 50) == 0, "clearable: media+progress -> keep"); + CHECK(mnp_clearable(1, 0, 50) == 0, "clearable: ongoing+progress -> keep"); + + /* mnp_drag_progress(reveal∈[0,ph] → p∈[0,fix]) */ + CHECK(mnp_drag_progress(0, FIX, PH) == 0, "drag_progress reveal=0 -> 0"); + CHECK(mnp_drag_progress(PH, FIX, PH) == FIX, "drag_progress reveal=ph -> fix"); + CHECK(mnp_drag_progress(PH / 2, FIX, PH) == FIX / 2, "drag_progress mid -> half"); + CHECK(mnp_drag_progress(-50, FIX, PH) == 0, "drag_progress negative reveal -> 0"); + CHECK(mnp_drag_progress(PH + 50, FIX, PH) == FIX, "drag_progress reveal>ph -> fix"); + CHECK(mnp_drag_progress(173, FIX, 692) == FIX * 173 / 692, "drag_progress linear 173/692"); + + /* mnp_drag_reveal(seed+delta → [0,ph],连续/反向/边界) */ + CHECK(mnp_drag_reveal(0, 0, PH) == 0, "drag_reveal seed0 delta0 -> 0"); + CHECK(mnp_drag_reveal(0, 300, PH) == 300, "drag_reveal open: seed0+300 -> 300 (1:1)"); + CHECK(mnp_drag_reveal(PH, -300, PH) == PH - 300, "drag_reveal close: seed ph -300"); + CHECK(mnp_drag_reveal(100, -200, PH) == 0, "drag_reveal clamps below 0 (reverse past top)"); + CHECK(mnp_drag_reveal(100, 1000, PH) == PH, "drag_reveal clamps above ph (drag past bottom)"); + CHECK(mnp_drag_reveal(0, -50, PH) == 0, "drag_reveal reverse on hidden stays 0"); + CHECK(mnp_drag_reveal(50, 0, 0) == 0, "drag_reveal ph<=0 -> 0"); + + /* mnp_drag_anchor(≥fix*40/100=409 → 1;<409 → 0) */ + CHECK(mnp_drag_anchor(409, FIX, 40) == 1, "drag_anchor at 40% (409) -> go open"); + CHECK(mnp_drag_anchor(410, FIX, 40) == 1, "drag_anchor above 40% -> go open"); + CHECK(mnp_drag_anchor(1024, FIX, 40) == 1, "drag_anchor full -> go open"); + CHECK(mnp_drag_anchor(408, FIX, 40) == 0, "drag_anchor below 40% -> collapse"); + CHECK(mnp_drag_anchor(0, FIX, 40) == 0, "drag_anchor 0 -> collapse"); + CHECK(mnp_drag_anchor(0, FIX, 0) == 1, "drag_anchor thr_pct=0 -> always open"); + + /* mini 状态机:跟手下拉打开(seed 从0 升)→ 松手锚定 */ + int seed = 0, p = 0; + int dy = 0; + /* 手指下移 300px:reveal=seed+(tly-drag_y0) */ + seed = 0; p = mnp_drag_progress(mnp_drag_reveal(seed, 300, PH), FIX, PH); + CHECK(p > 0 && p < FIX, "mini open-follow: drag 300px -> partial progress"); + CHECK(mnp_drag_anchor(p, FIX, 40) == 1, "mini open-follow: 300/692=43% >= 40% -> open"); + /* 反向拖回 200(reveal=200,即拖 200)→ 半程取消(29% < 40%) */ + p = mnp_drag_progress(mnp_drag_reveal(seed, 200, PH), FIX, PH); + CHECK(p < FIX && mnp_drag_anchor(p, FIX, 40) == 0, "mini open-follow: 200/692=29% < 40% -> collapse(cancel)"); + /* 全拉满 → 满 */ + CHECK(mnp_drag_anchor(mnp_drag_progress(mnp_drag_reveal(seed, PH, PH), FIX, PH), FIX, 40) == 1, + "mini open-follow: drag full -> open"); + /* 关闭:seed=PH 上滑 600 → reveal=PH-600 → 过阈值收回 */ + int close_p = mnp_drag_progress(mnp_drag_reveal(PH, -600, PH), FIX, PH); + CHECK(close_p < FIX && mnp_drag_anchor(close_p, FIX, 40) == 0, "mini close-follow: up 600 -> close"); + /* 关闭:上滑仅 150(reveal=PH-150,仍高)→ 松手回弹重展 */ + int reopen_p = mnp_drag_progress(mnp_drag_reveal(PH, -150, PH), FIX, PH); + CHECK(reopen_p > 0 && mnp_drag_anchor(reopen_p, FIX, 40) == 1, "mini close-follow: up 150 -> reopen"); +} + +/* P7 ⑧ 一键清除(存储契约):先用 mnp_clearable + meow_notif_list/dismiss 模拟面板 ncp_clear_all, + * 验证「先转储留档(dismiss 触发 dump_cb)→ 清出显示」且红线项(ongoing/media/progress)保留。 */ +typedef struct { uint32_t ids[8]; int n; } clear_ctx_t; +static int clear_collect_cb(const meow_notif_t *n, void *ctx) +{ + clear_ctx_t *c = ctx; + if (!mnp_clearable(n->ongoing, n->media, n->progress)) return 0; + if (c->n >= 8) return 1; + c->ids[c->n++] = n->id; + return 0; +} +/* 通用「收集全部活跃 id」(兼作测试排空用:非仅可清)。 */ +static int clear_all_cb(const meow_notif_t *n, void *ctx) +{ + clear_ctx_t *c = ctx; + if (c->n >= 8) return 1; + c->ids[c->n++] = n->id; + return 0; +} +static void test_clear_storage(void) +{ + fprintf(stderr, "--- P7 clear-all storage contract (dump then clear, keep ongo/media/progress) ---\n"); + /* 排空上一测试留下的所有活跃通知,保证本测试从干净基数开始(count 断言可用绝对值)。 */ + for (int pass = 0; pass < 8 && meow_notif_count(NULL) > 0; pass++) { + clear_ctx_t c2; memset(&c2, 0, sizeof c2); + meow_notif_list(NULL, clear_all_cb, &c2); /* clear_all_cb:收集全部(非仅可清) */ + if (c2.n == 0) break; + for (int i = 0; i < c2.n; i++) meow_notif_dismiss(c2.ids[i]); + } + meow_notif_t n; memset(&n, 0, sizeof n); + /* 普通(可清) */ + snprintf(n.app_id, sizeof n.app_id, "os.meow.app"); snprintf(n.category, sizeof n.category, "general"); + snprintf(n.summary, sizeof n.summary, "普通1"); n.progress = -1; n.urgency = 1; + uint32_t idA = 0; CHECK(meow_notif_post(&n, &idA) == NOTIF_OK, "clear st: post plain1"); + /* 普通2(可清) */ + memset(&n, 0, sizeof n); + snprintf(n.app_id, sizeof n.app_id, "os.meow.app"); snprintf(n.category, sizeof n.category, "general"); + snprintf(n.summary, sizeof n.summary, "普通2"); n.progress = -1; n.urgency = 1; + uint32_t idB = 0; CHECK(meow_notif_post(&n, &idB) == NOTIF_OK, "clear st: post plain2"); + /* 媒体(红线:保留) */ + memset(&n, 0, sizeof n); + snprintf(n.app_id, sizeof n.app_id, "os.meow.app"); snprintf(n.category, sizeof n.category, "media"); + snprintf(n.summary, sizeof n.summary, "媒体"); n.ongoing = 1; n.media = 1; n.progress = 30; n.urgency = 2; + uint32_t idM = 0; CHECK(meow_notif_post(&n, &idM) == NOTIF_OK, "clear st: post media"); + /* 进度进行中(红线:保留) */ + memset(&n, 0, sizeof n); + snprintf(n.app_id, sizeof n.app_id, "os.meow.app"); snprintf(n.category, sizeof n.category, "general"); + snprintf(n.summary, sizeof n.summary, "下载中"); n.progress = 60; n.urgency = 2; + uint32_t idP = 0; CHECK(meow_notif_post(&n, &idP) == NOTIF_OK, "clear st: post progress"); + CHECK(meow_notif_count(NULL) == 4, "clear st: count 4 before clear"); + + /* 按 mnp_clearable 收集 + dismiss(= dump_cb + 释放槽,模拟 ncp_clear_all) */ + clear_ctx_t c; memset(&c, 0, sizeof c); + meow_notif_list(NULL, clear_collect_cb, &c); + int cleared = 0; + for (int i = 0; i < c.n; i++) { meow_notif_dismiss(c.ids[i]); cleared++; } + CHECK(cleared == 2, "clear st: exactly 2 plain cleared"); + CHECK(meow_notif_count(NULL) == 2, "clear st: 2 remaining after clear (media+progress kept)"); + grab_list(); + CHECK(find_slot("媒体") != NULL, "clear st: media kept"); + CHECK(find_slot("下载中") != NULL, "clear st: progress kept"); + CHECK(find_slot("普通1") == NULL && find_slot("普通2") == NULL, "clear st: plain dismissed"); +} + static void test_storage_contract(void) { fprintf(stderr, "--- P0 storage contract (panel reads) ---\n"); @@ -415,7 +545,9 @@ int main(void) test_scroll_pure(); test_anim_pure(); test_dnd_swipe_pure(); + test_clear_drag_pure(); test_storage_contract(); + test_clear_storage(); unlink(g_tflog); rmdir(dir);