From 82b77d64b44a4b9d594c8ae23f029985639c3cb1 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Sun, 30 Aug 2026 17:23:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=9A=E7=9F=A5=E4=B8=AD=E5=BF=83=20?= =?UTF-8?q?=E2=91=A5=E2=91=A6:=20=E7=94=B5=E6=BA=90=E8=8F=9C=E5=8D=95chip?= =?UTF-8?q?=20+=20=E5=8B=BF=E6=89=B0=E9=9D=A2=E6=9D=BF=E5=86=85=E5=BC=80?= =?UTF-8?q?=E5=85=B3=20+=20=E5=8D=95=E6=9D=A1=E5=B7=A6=E6=BB=91=E5=88=A0?= =?UTF-8?q?=E9=99=A4(agent-132)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ⑥ 快捷行 5chip: WiFi/蓝牙/亮度/主题/电源菜单; 电源菜单chip点击=唤起 show_power_menu(真弹) + after_modal 还原 - 勿扰=面板内开关(notify.dnd bool, 零旁路), ncp_draw_list 按 urgency>=2 过滤; NCP_LIST_TOP 308 - ⑦ 单条通知行左滑删除: 跟手(mnp_swipe_clamp)+半程可回(未过阈值回弹), 过阈值滑出删除(mnp_swipe_delete/step) - 手势区分: 行内左滑=删该条, 竖向=滚动, meow_edge_back(左缘<24) 优先; 局部刷该行带 - meow_ui.a 零改动(d249c6e6); launcher=115e2b1d; 宿主147断言PASS; 新增0warn - SYSTEM_SETTINGS §1 加 notify.dnd; NOTIFICATION_SYSTEM §9 增 ⑥/⑦ 定案 --- NOTIFICATION_SYSTEM.md | 2 + SYSTEM_SETTINGS.md | 1 + patch_v2/meow_launcherd/meow_launcherd | Bin 482780 -> 487596 bytes patch_v2/meow_launcherd/meow_launcherd.c | 367 ++++++++++++++++++--- patch_v2/meow_launcherd/meow_notif_panel.h | 51 +++ patch_v2/meow_launcherd/meow_settings.c | 3 + patch_v2/meow_launcherd/test_notif_panel.c | 74 +++++ 7 files changed, 452 insertions(+), 46 deletions(-) diff --git a/NOTIFICATION_SYSTEM.md b/NOTIFICATION_SYSTEM.md index f7b291b..9e8c676 100644 --- a/NOTIFICATION_SYSTEM.md +++ b/NOTIFICATION_SYSTEM.md @@ -71,6 +71,8 @@ target_activity(可选, 来自 hints) / progress(可选 int) / urgency(0-3, 缺 - **渲染主体 = 系统进程(meow_launcherd),非 APP**:通知中心 UI 由系统进程负责渲染(复用 SDK 控件/状态栏基底);**APP 进程不渲染通知中心**(系统级控件仅内部,见 MEOW_APP_SDK §6.1 ③、FRAMEWORK_DESIGN §10.2)。 - **数据来源**:通知列表经 IPC 从通知存储/通知服务读(如 `MSG_NOTIFY_LIST` 重同步、`target_activity`/`progress`/`icon` 等字段),launcher 只做 UI 呈现与手势,不各画各的。 - **交互**:**状态栏下滑展开**(用户已定);**上滑 / 点面板外关**;**左缘返回关**(与全局左缘返回/顶部滑条按起始位置分流,见 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` + 行移除/重排。 - **协议/约束**:遵守 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/SYSTEM_SETTINGS.md b/SYSTEM_SETTINGS.md index c9dd9ab..6f4c6a6 100644 --- a/SYSTEM_SETTINGS.md +++ b/SYSTEM_SETTINGS.md @@ -50,6 +50,7 @@ | | `notify.categories` | int | 4 | 通知类型数上限(每 App,M2.53)[源:审计 2026-08-30]| | | `notify.category_quota` | int | 4 | 每类型活动通知上限(4×4=16/App)| | | `notify.media_quota` | int | 1 | 媒体通知单例(每 App 仅 1 条)| +| | `notify.dnd` | bool | false | 通知中心「勿扰」面板内开关(通知列表上方小 toggle;开=只显示 `urgency>=2`(HIGH/CRITICAL),关=全部;面板内读写 `meow_settings_*`,零旁路)[源:用户 2026-08-30] | | **日志** | `log.level` | enum | `info` | `error/warn/info/debug` | | | `log.to_card` | bool | true | 写 TF 卡(无卡回退内存环) | | **音频** | `audio.volume` | int 0-100 | 60 | 系统音量(MeowOS 直写 CS43198 DAC;读回为追踪值) | diff --git a/patch_v2/meow_launcherd/meow_launcherd b/patch_v2/meow_launcherd/meow_launcherd index ee8bfbec2732236537d09d2c59b5b763dc42cb26..c619435f5fdf7d96f5e17e2cb758cbeba2c4c9bc 100755 GIT binary patch delta 160622 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 delta 156479 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 RyKTlJ6ne%kyDdED{{Yd6cQOC~ diff --git a/patch_v2/meow_launcherd/meow_launcherd.c b/patch_v2/meow_launcherd/meow_launcherd.c index db40965..c48c635 100644 --- a/patch_v2/meow_launcherd/meow_launcherd.c +++ b/patch_v2/meow_launcherd/meow_launcherd.c @@ -6779,13 +6779,15 @@ done: #define NCP_CHIP_H 44 #define NCP_CHIP_W 70 #define NCP_CHIP_GAP 8 -#define NCP_CHIP_N 4 +#define NCP_CHIP_N 5 /* ⑥:快捷 chip 扩充为 5 个(+电源菜单) */ #define NCP_SLIDER_X 20 #define NCP_SLIDER_W (fb_xres - 40) #define NCP_SL1_Y 162 /* 亮度滑条 track 顶(label 在 -26 =136) */ #define NCP_SL2_Y 214 /* 音量滑条 track 顶(label 在 -26 =188) */ #define NCP_DIV_Y 258 -#define NCP_LIST_TOP 266 +#define NCP_DND_Y 264 /* ⑥:勿扰面板内开关带顶缘(分隔线下方) */ +#define NCP_DND_H 40 /* 勿扰开关带高(label+状态+s_draw_switch 48×28) */ +#define NCP_LIST_TOP 308 /* 通知列表顶缘(原 266 → 下移 42 给勿扰带) */ #define NCP_LIST_BOT 694 #define NCP_ROW_H 92 #define NCP_ROW_X 12 @@ -6798,13 +6800,22 @@ done: #define NCP_SCROLL_REBOUND_TOL 48 /* px:列表拖到顶/底仍继续拖过此容差 → 判回弹(关闭语义), 避免在边界小幅抖动即误关(> S_SCROLL_SLOP=40) */ +/* ---- ⑦ 单条通知行左滑删除(跟手 + 半程可回 + 回弹)---- */ +#define NCP_SWIPE_SLOP 24 /* px:行内水平位移达此值且横向主导+左移 → 进行左滑(>阈值) */ +#define NCP_SWIPE_RATE 3 /* px/ms:行左滑落位动画线性速率(回弹/滑出) */ +#define NCP_SWIPE_DELETE_FRAC 40 /* %:行宽百分比阈值(│off│>=row_w*40/100 → 删) */ +#define NCP_SWIPE_DELETE_MIN 110 /* px:绝对像素阈值(│off│>=110 → 删;OR 语义,窄行由 frac 起作用) */ + +/* 勿扰过滤阈值:dnd=1 只显示 urgency>=2(HIGH=2/CRITICAL=3) */ +#define NCP_DND_MIN_URGENCY 2 + /* ---- 开关平移动画(§9:状态时间轴 + 快照 blit 平移,不整屏重绘)---- */ #define NCP_ANIM_FIX 1024 /* 进度 p 的定点分母(1/1024 精度) */ #define NCP_ANIM_MS 180 /* 单程打开/关闭时长(ms,真机可调) */ -/* chip 索引 */ +/* chip 索引(⑥:第 5 个 = 电源菜单,点击唤起既有系统电源菜单 show_power_menu) */ enum { NCP_CHIP_WIFI=0, NCP_CHIP_BT=1, NCP_CHIP_THEME=2, NCP_CHIP_BRIGHT=3, - NCP_CHIP_COUNT=4 }; + NCP_CHIP_POWER=4, NCP_CHIP_COUNT=5 }; /* 通知行快照(面板读取字段 + 缓存的 icon 句柄)。 */ typedef struct { @@ -6825,6 +6836,17 @@ static int g_nrows = 0; static struct app *g_ncp_apps = NULL; /* run_notif_center 注入(通知点击找 app 用) */ static int g_ncp_napps = 0; +/* ⑥ 勿扰面板内开关:当前 dnd 态(开面板/切换时从 meow_settings notify.dnd 读/写,零旁路)。 + * ncp_collect_cb / ncp_active_count 按它过滤行(only urgency>=NCP_DND_MIN_URGENCY when on)。 */ +static int g_ncp_dnd = 0; + +/* ⑦ 行左滑删除的绘制态(供 ncp_draw_list / ncp_repaint_row 画该行位移)。 + * g_ncp_swipe_row = 正在左滑的行下标(-1=无);g_ncp_swipe_off = 该行左移量(px,<=0)。 + * run_notif_center 的手势状态机(row_swipe_row/row_off/row_settle/row_off_target/row_anim_at/row_paint) + * 与其同步,绘制只读这组全局,避免给 draw_notif_center/ncp_draw_list 加参数。 */ +static int g_ncp_swipe_row = -1; +static int g_ncp_swipe_off = 0; + /* 短串拷贝(同 meow_notif.c 语义:保证 NUL + 截断) */ static void ncp_strncpy(char *dst, const char *src, size_t len) { @@ -6859,6 +6881,8 @@ static int ncp_collect_cb(const meow_notif_t *n, void *ctx) { (void)ctx; if (g_nrows >= NCP_MAX_ROWS) return 1; /* 满:中止遍历 */ + /* 勿扰(⑥):dnd 开时只收集 urgency>=NCP_DND_MIN_URGENCY(HIGH/CRITICAL)。 */ + if (!mnp_dnd_should_show(n->urgency, g_ncp_dnd)) return 0; ncp_row_t *r = &g_rows[g_nrows++]; memset(r, 0, sizeof *r); r->id = n->id; @@ -6890,12 +6914,25 @@ static int ncp_refresh_rows(void) return g_nrows; } -/* 通知列表是否变化(简单按活跃数比;新条/撤下/TTL 释放都反映在 count)。 */ +/* 当前应显示的活跃通知数(按 g_ncp_dnd 过滤,与 g_rows 同口径)——供变化检测/重采集用。 */ +static int ncp_count_cb(const meow_notif_t *n, void *ctx) +{ + if (!mnp_dnd_should_show(n->urgency, g_ncp_dnd)) return 0; + (*(int *)ctx)++; + return 0; +} +static int ncp_active_count(void) +{ + int c = 0; + meow_notif_list(NULL, ncp_count_cb, &c); + if (c > NCP_MAX_ROWS) c = NCP_MAX_ROWS; + return c; +} + +/* 通知列表是否变化(按过滤后活跃数比;新条/撤下/TTL 释放都反映在 count,含 dnd 过滤)。 */ static int ncp_rows_changed(void) { - int c = meow_notif_count(NULL); - if (c > NCP_MAX_ROWS) c = NCP_MAX_ROWS; - return c != g_nrows; + return ncp_active_count() != g_nrows; } /* ---- 开关平移动画辅助(§9:快照 blit + 平移;只在 run_notif_center 内分配/释放)---- @@ -7057,11 +7094,16 @@ static void ncp_chip_state(int chip, int *on, char *val, int vlen) int vc = mnp_brightness_clamp(v, vmin); if (val && vlen > 0) snprintf(val, vlen, "%d%%", vc); *on = (vc >= 50); /* 过半视为"亮"态 */ + } else if (chip == NCP_CHIP_POWER) { + /* 电源菜单 chip:非开关(无 on/off 态),恒示中性;点击由 ncp_chip_apply 唤起电源菜单。 */ + *on = 0; } } /* chip 快捷动作(写 meow_settings_* + 侧效应;零手写文件)。 - * 返回 1=主题变化(需重刷状态栏);0=其它。 */ + * 返回 1=主题变化(需重刷状态栏);2=电源菜单已弹出(调用方置 after_modal=1 整帧重绘还原); + * 0=其它。电源菜单 chip 复用既有系统级 show_power_menu(含 dim/圆钮/音量导航/电源确认/8s强关/ + * 空闲自动息屏),真弹对话框,动作在函数内 system();取消则返回续 panel —— 与电源键长按同款。 */ static int ncp_chip_apply(int chip) { if (chip == NCP_CHIP_WIFI) { @@ -7098,12 +7140,72 @@ static int ncp_chip_apply(int chip) g_sys.brightness = vmin; } paint_sb_right(); + } else if (chip == NCP_CHIP_POWER) { + /* 电源菜单 chip:唤起既有系统级电源菜单(真弹对话框,动作在函数内 system();取消则返回)。 + * 不涉及任何设置项(电源菜单不走 meow_settings,零旁路)。返回 2 → 调用方整帧重绘还原面板/状态栏。 */ + logmsg("notif-center: power chip -> show power menu"); + show_power_menu(); + return 2; } meow_settings_save(); return 0; } -/* 绘制通知列表可见区(scroll=像素偏移)。每行:图标 + app名 + 标题 + 内容 + 时间 + 进度。 */ +/* ⑦ 画删除底:行右缘被空出的条(宽=-off)铺 error 红底 + 白「删除」字(条宽≥44 才显字,否则纯红渐进)。 + * off<=0(负得多=卡滑出多、露出右条多);off=0 不画。 */ +static void ncp_draw_delete_bg(int ry, int off, const meow_ui_theme_t *th) +{ + if (off >= 0) return; + int bw = -off; + if (bw <= 0) return; + int bx = NCP_ROW_X + NCP_ROW_W + off; /* 被空出的右条左缘 */ + fill_rect(bx, ry, bw, NCP_ROW_H - 6, th->error); + if (bw >= 44) { + int cx = bx + bw / 2, cy = ry + (NCP_ROW_H - 6) / 2; + ui_draw(cx - ui_width("删除", 16) / 2, cy - meow_font_line_height(16) / 2, + "删除", 0xFFFFFF, 16); + } +} + +/* 画一行内容(行卡 + 图标/APP名/时间/标题/正文/进度),整体随 off 左移(⑦ 行左滑跟手)。 + * i=g_rows 下标;ry=行顶(已含 scroll);off=行左移量(px,<=0)。 */ +static void ncp_draw_row(int i, int ry, int off, const meow_ui_theme_t *th) +{ + const ncp_row_t *r = &g_rows[i]; + meow_gfx_fill_round(NCP_ROW_X + off, ry, NCP_ROW_W, NCP_ROW_H - 6, 12, th->surface_container); + /* 图标 */ + int icx = NCP_ICON_X + off, icy = ry + (NCP_ROW_H - 32) / 2; + if (r->img) meow_ui_img_cover(icx, icy, 32, r->img); + else { + /* 回退:主题色圆点 + 首字符 */ + const char *nm = ncp_app_name(r->app_id); + ncp_dot(icx + 16, icy + 16, 16, th->primary); + char ch = nm[0] ? nm[0] : '?'; + char cbuf[4] = { ch, 0, 0, 0 }; + /* 首字符若是多字节(中文),取整码 */ + if ((unsigned char)ch >= 0x80 && nm[1]) { cbuf[1] = nm[1]; cbuf[2] = 0; + if ((unsigned char)ch >= 0xE0 && nm[2]) { cbuf[2] = nm[2]; cbuf[3] = 0; } } + int cw = ui_width(cbuf, 20); + ui_draw(icx + 16 - cw / 2, icy + 16 - meow_font_line_height(20) / 2, cbuf, 0xFFFFFF, 20); + } + /* app 名 + 时间 */ + ui_draw(NCP_TEXT_X + off, ry + 10, ncp_app_name(r->app_id), th->on_surface_variant, 16); + char tbuf[32]; mnp_time_ago(r->created_ms, (uint64_t)time(NULL) * 1000u, tbuf, sizeof tbuf); + ui_draw(NCP_ROW_X + NCP_ROW_W - 8 - ui_width(tbuf, 16) + off, ry + 12, tbuf, th->on_surface_variant, 16); + /* 标题 + 内容 */ + ncp_text(NCP_TEXT_X + off, ry + 30, r->summary, 20, th->on_surface, NCP_TEXT_W); + ncp_text(NCP_TEXT_X + off, ry + 56, r->body, 18, th->on_surface_variant, NCP_TEXT_W); + /* 进度(progress>=0):细条 */ + if (r->progress >= 0) { + int px = NCP_TEXT_X + off, pw = NCP_TEXT_W, py = ry + NCP_ROW_H - 14; + fill_rect(px, py, pw, 4, th->surface_variant); + int fw = r->progress * pw / 100; + if (fw > 0) fill_rect(px, py, fw, 4, th->primary); + } +} + +/* 绘制通知列表可见区(scroll=像素偏移)。每行:图标 + app名 + 标题 + 内容 + 时间 + 进度。 + * ⑦:左滑中的行(g_ncp_swipe_row)按 g_ncp_swipe_off 左移,其下先画删除底(ncp_draw_delete_bg)。 */ static void ncp_draw_list(int scroll) { const meow_ui_theme_t *th = s_ui_theme(); @@ -7116,37 +7218,9 @@ static void ncp_draw_list(int scroll) for (int i = 0; i < g_nrows; i++) { int ry = NCP_LIST_TOP + i * NCP_ROW_H - scroll; if (ry + NCP_ROW_H < NCP_LIST_TOP || ry >= NCP_LIST_BOT) continue; /* 视口外整行跳过 */ - const ncp_row_t *r = &g_rows[i]; - meow_gfx_fill_round(NCP_ROW_X, ry, NCP_ROW_W, NCP_ROW_H - 6, 12, th->surface_container); - /* 图标 */ - int icx = NCP_ICON_X, icy = ry + (NCP_ROW_H - 32) / 2; - if (r->img) meow_ui_img_cover(icx, icy, 32, r->img); - else { - /* 回退:主题色圆点 + 首字符 */ - const char *nm = ncp_app_name(r->app_id); - ncp_dot(icx + 16, icy + 16, 16, th->primary); - char ch = nm[0] ? nm[0] : '?'; - char cbuf[4] = { ch, 0, 0, 0 }; - /* 首字符若是多字节(中文),取整码 */ - if ((unsigned char)ch >= 0x80 && nm[1]) { cbuf[1] = nm[1]; cbuf[2] = 0; - if ((unsigned char)ch >= 0xE0 && nm[2]) { cbuf[2] = nm[2]; cbuf[3] = 0; } } - int cw = ui_width(cbuf, 20); - ui_draw(icx + 16 - cw / 2, icy + 16 - meow_font_line_height(20) / 2, cbuf, 0xFFFFFF, 20); - } - /* app 名 + 时间 */ - ui_draw(NCP_TEXT_X, ry + 10, ncp_app_name(r->app_id), th->on_surface_variant, 16); - char tbuf[32]; mnp_time_ago(r->created_ms, (uint64_t)time(NULL) * 1000u, tbuf, sizeof tbuf); - ui_draw(NCP_ROW_X + NCP_ROW_W - 8 - ui_width(tbuf, 16), ry + 12, tbuf, th->on_surface_variant, 16); - /* 标题 + 内容 */ - ncp_text(NCP_TEXT_X, ry + 30, r->summary, 20, th->on_surface, NCP_TEXT_W); - ncp_text(NCP_TEXT_X, ry + 56, r->body, 18, th->on_surface_variant, NCP_TEXT_W); - /* 进度(progress>=0):细条 */ - if (r->progress >= 0) { - int px = NCP_TEXT_X, pw = NCP_TEXT_W, py = ry + NCP_ROW_H - 14; - fill_rect(px, py, pw, 4, th->surface_variant); - int fw = r->progress * pw / 100; - if (fw > 0) fill_rect(px, py, fw, 4, th->primary); - } + int off = (i == g_ncp_swipe_row) ? g_ncp_swipe_off : 0; /* 左滑中的行位移 */ + if (off < 0) ncp_draw_delete_bg(ry, off, th); + ncp_draw_row(i, ry, off, th); } /* 滚动条 */ if (total > NCP_LIST_BOT - NCP_LIST_TOP) { @@ -7170,6 +7244,51 @@ static void ncp_repaint_list(int scroll) meow_ui_flush(); } +/* ⑦ 仅重绘一行(行左滑跟手/回弹/滑出专用;只刷该行矩形,不整面板、不刷状态栏)。 + * 清该行带(含被滑出的右条)→ 画删除底(若 off<0)+ 该行内容位移 → 只标该行带脏。 */ +static void ncp_repaint_row(int scroll, int row, int off) +{ + const meow_ui_theme_t *th = s_ui_theme(); + if (row < 0 || row >= g_nrows) return; + int ry = NCP_LIST_TOP + row * NCP_ROW_H - scroll; + if (ry + NCP_ROW_H < NCP_LIST_TOP || ry >= NCP_LIST_BOT) return; /* 视口外:无需重绘 */ + /* 清该行带全宽(含左缘 [0,NCP_ROW_X),因深滑时卡可滑到左缘外),再画删除底 + 位移行卡。 */ + fill_rect(0, ry, NCP_ROW_X + NCP_ROW_W, NCP_ROW_H, th->surface_variant); + if (off < 0) ncp_draw_delete_bg(ry, off, th); + ncp_draw_row(row, ry, off, th); + meow_dirty_add(0, ry, fb_xres, NCP_ROW_H); + 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)重叠。 */ +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); +} + +/* ⑥ 绘勿扰带:label「勿扰」+ 铃铛图标 + 状态「开/关」 + 右侧 s_draw_switch(48×28)。 */ +static void ncp_draw_dnd(const meow_ui_theme_t *th) +{ + int y = NCP_DND_Y; + int dnd_on = g_ncp_dnd; + int cy = y + NCP_DND_H / 2; + /* 铃铛(简化:圆顶 + 顶蒂 + 底部小圆点)。 */ + int bx = NCP_ROW_X + 4, bcy = cy - 2; + meow_gfx_fill_round(bx, bcy - 7, 16, 13, 7, th->on_surface_variant); /* 铃身圆顶 */ + meow_gfx_fill_round(bx + 6, bcy - 11, 4, 4, 2, th->on_surface_variant);/* 顶蒂 */ + ncp_dot(bx + 8, bcy + 6, 2, th->on_surface_variant); /* 底部小圆点 */ + /* label + 状态 */ + ui_draw(bx + 22, cy - meow_font_line_height(18) / 2 + 2, "勿扰", th->on_surface, 18); + char st[16]; + snprintf(st, sizeof st, "%s", dnd_on ? "开" : "关"); + 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); +} + /* 绘制整个通知中心面板(画进 SDK back_buf;redraw_sb=1 时另绘状态栏在最顶)。 * 性能:面板体单独;(0..27) 状态栏只在打开/主题变化时 redraw_sb=1 重绘,交互时跳过, * 使脏区仅限面板体,绝不整屏重绘。 */ @@ -7191,8 +7310,8 @@ static void draw_notif_center(int scroll, int redraw_sb) ui_draw(24, NCP_TITLE_Y, "通知中心", th->on_surface, 22); ui_draw(W - 24 - ui_width("点空白关闭", 16), NCP_TITLE_Y + 2, "点空白关闭", th->on_surface_variant, 16); - /* 快捷开关行 */ - static const char *chip_lbl[NCP_CHIP_COUNT] = { "WiFi", "蓝牙", "主题", "亮度" }; + /* 快捷开关行(⑥:5 个 = WiFi/蓝牙/主题/亮度/电源菜单,居中自动随 NCP_CHIP_N) */ + static const char *chip_lbl[NCP_CHIP_COUNT] = { "WiFi", "蓝牙", "主题", "亮度", "电源菜单" }; int total_chip = NCP_CHIP_N * NCP_CHIP_W + (NCP_CHIP_N - 1) * NCP_CHIP_GAP; int chip_x0 = (W - total_chip) / 2; for (int c = 0; c < NCP_CHIP_N; c++) { @@ -7210,6 +7329,13 @@ static void draw_notif_center(int scroll, int redraw_sb) else { ncp_dot(icon_cx + 16, icon_cy, 11, fg); ncp_dot(icon_cx + 16, icon_cy, 6, bg); } } else if (c == NCP_CHIP_BRIGHT) ncp_sb_icon(SB_I_BRIGHT, icon_cx, icon_cy, fg, 22); + else if (c == NCP_CHIP_POWER) { + /* 电源符号:圆环 + 顶部短柄,近似 ⏻(用现有 meow_gfx_fill_round 近似圆)。 */ + int pc = icon_cx + SB_ICON_SIZE / 2; + meow_gfx_fill_round(pc - 8, icon_cy - 8, 16, 16, 8, fg); /* 外环 */ + meow_gfx_fill_round(pc - 4, icon_cy - 4, 8, 8, 4, bg); /* 内孔(显环厚) */ + meow_gfx_fill_round(pc - 1, icon_cy - 16, 3, 9, 1, fg); /* 顶部短柄 */ + } char label[24]; snprintf(label, sizeof label, "%s", chip_lbl[c]); if (val[0] && c == NCP_CHIP_BRIGHT) @@ -7240,6 +7366,9 @@ static void draw_notif_center(int scroll, int redraw_sb) /* 分隔线 */ fill_rect(12, NCP_DIV_Y, W - 24, 1, th->outline); + /* ⑥ 勿扰面板内开关带(list 上方) */ + ncp_draw_dnd(th); + /* 通知列表 */ ncp_draw_list(scroll); @@ -7349,6 +7478,16 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) int scroll_invert = 0; /* input.swipe_invert(0=标准方向) */ int scroll_rebound = 0; /* 拖到顶/底仍继续拖(回弹)→ 抬手按关闭语义收起 */ int list_paint = 0; /* 仅列表区重绘(滚动专用,不整面板/不刷状态栏) */ + /* ⑦ 单条通知行左滑删除(跟手+半程可回+回弹;绘制态见 g_ncp_swipe_row/off): + * row_swipe_row = 正在左滑的行下标(-1=无);row_off = 行左移量(px,<=0,跟手); + * row_settle = 0 跟手 / 1 松手后向 row_off_target 回弹或滑出;row_anim_at = 落位动画计时。 + * row_paint = 仅重绘该行带(跟手局部 blit/位移,不整面板/不刷状态栏)。 */ + int row_swipe_row = -1; + int row_off = 0; + int row_settle = 0; + int row_off_target = 0; + unsigned long long row_anim_at = 0; + int row_paint = 0; /* 仅重绘该行带(行左滑专用) */ int closed = 0; /* 非动画路径的兜底关面板(快照不可用时瞬时退出) */ int after_modal = 0; /* 电源菜单返回:整帧重绘还原被 dim 的状态栏 */ int wake_suppress = 0; @@ -7365,6 +7504,12 @@ 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; + /* ⑥ 读勿扰面板内开关态(开面板一次;切换在下面 tap 分支写回)。 */ + { + int d = 0; meow_settings_get_bool("notify.dnd", &d); + g_ncp_dnd = d; + } + /* 首次绘制:先拍背景(应用列表)→ 渲染最终位置整面板 → 拍面板快照 → 还原背景到 p=0 * 起点(面板隐藏、先露应用列表),随后进入循环由动画推进 p:0→FIX 滑入。 */ ncp_refresh_rows(); @@ -7428,6 +7573,9 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) td = 0; td_ok = 0; drag_slider = 0; tlx = tly = -1; scroll_drag = 0; scroll_base = 0; scroll_y0 = 0; scroll_invert = 0; scroll_rebound = 0; list_paint = 0; + 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; /* 唤醒:面板直接就位(不重播滑入动画,面板早已打开);重拍快照防内容已变 */ anim_p = anim_target = anim_last_target = NCP_ANIM_FIX; if (anim_ok) anim_prev_bot = NCP_TOP + g_ncp_ph; @@ -7536,10 +7684,39 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) } if (drag_slider == 1 && td_ok) { if (ncp_slider_apply(1, tlx, 0)) need_paint = 1; } else if (drag_slider == 2 && td_ok) { if (ncp_slider_apply(2, tlx, 0)) need_paint = 1; } + /* ⑦ 行左滑(进入):面板就位(open_settled)+ 未锁其它手势 + 位移达 slop, + * 判定横向主导(adx>ady)且左移(ddx<0)且起点落在可见行 → 进行左滑(只该行)。 + * 与竖向滚动互斥:本分支锁 row_swipe_row 后下方 scroll 不再进入(gate 含 + * row_swipe_row<0);竖向主导(ady>adx)或不左移则回退既有滚动(改变不大: + * 以前「横主导左移」也滚,现改为行左滑,符合「横向主导→行左滑」)。 */ + if (open_settled && td_ok && !scroll_drag && drag_slider == 0 && row_swipe_row < 0) { + int ddx = tlx - tdx, ddy = tly - tdy; + int adx = ddx < 0 ? -ddx : ddx, ady = ddy < 0 ? -ddy : ddy; + if ((adx >= NCP_SWIPE_SLOP || ady >= S_SCROLL_SLOP) && adx > ady && ddx < 0) { + int eff = tdy - NCP_LIST_TOP + list_scroll; + int row = mnp_row_at(eff, 0, g_nrows * NCP_ROW_H, NCP_ROW_H); + /* 起点必须在列表区(DND 带/底部提示等不在列表区,防 scroll 导致误匹行) */ + if (tdy >= NCP_LIST_TOP && tdy < NCP_LIST_BOT && + row >= 0 && row < g_nrows) { + row_swipe_row = row; + row_off = mnp_swipe_clamp(ddx, NCP_ROW_W); + row_settle = 0; row_off_target = 0; + row_anim_at = now_ms(); + g_ncp_swipe_row = row; g_ncp_swipe_off = row_off; + row_paint = 1; + } + } + } + /* ⑦ 行左滑跟手:已进则更新 off(反向可回 → 回落至 0);只该行生效。 */ + if (row_swipe_row >= 0 && td_ok && !row_settle) { + row_off = mnp_swipe_clamp(tlx - tdx, NCP_ROW_W); + g_ncp_swipe_off = row_off; + row_paint = 1; + } /* 列表滚动(§11):面板就位(open_settled)+ 起点在列表区 + 内容溢出 + * 纵向位移达 slop → 进滚动。方向遵循 input.swipe_invert(与设置页列表同式); * 拖到顶/底继续拖 → 回弹标记。动画进行中(面板在滑,未就位)不启动滚动。 */ - if (open_settled && td_ok && !scroll_drag && drag_slider == 0) { + if (open_settled && td_ok && !scroll_drag && drag_slider == 0 && row_swipe_row < 0) { int ddy = tly - scroll_y0; if (ddy >= S_SCROLL_SLOP || ddy <= -S_SCROLL_SLOP) { int total = g_nrows * NCP_ROW_H; @@ -7569,6 +7746,10 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) td = 1; td_ok = 0; tlx = -1; tly = -1; drag_slider = 0; scroll_drag = 0; scroll_base = 0; scroll_y0 = 0; scroll_invert = 0; scroll_rebound = 0; + /* ⑦ 新触摸:清行左滑(防上一手势残留) */ + 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; } } else if (!val && td) { td = 0; @@ -7584,7 +7765,20 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) if (anim_ok) anim_target = 0; else closed = 1; break; } - if (scroll_drag) { + if (row_swipe_row >= 0) { + /* ⑦ 行左滑松手:过阈值 → 滑出删除;未过/反向 → 回弹复原(半程取消)。 + * 只该行生效;本手势锁定后不再走 tap/上滑关闭/点空白,不关面板。 */ + /* 用抬手最终位移兜底刷新 off(可能最后有位移但无 ABS 事件跟进)。 */ + row_off = mnp_swipe_clamp(dx, NCP_ROW_W); + g_ncp_swipe_off = row_off; + if (mnp_swipe_delete(row_off, NCP_ROW_W, + NCP_SWIPE_DELETE_FRAC, NCP_SWIPE_DELETE_MIN)) { + row_off_target = -NCP_ROW_W; /* 滑出(删除)目标:整行移出 */ + } else { + row_off_target = 0; /* 回弹复原 */ + } + row_settle = 1; row_anim_at = now_ms(); + } else if (scroll_drag) { /* 列表滚动落定:最终 clamp 到边界(拖动中已实时跟手,此处确认终值); * 若回弹(拖到顶/底继续拖)→ 按「上滑/下滑关闭」收起(§11.3)。 * 绝不把「滑列表」误判成「上滑关闭」——scroll_drag 一旦置位即跳过 @@ -7605,11 +7799,44 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) int hit = 0; for (int c = 0; c < NCP_CHIP_COUNT; c++) if (ncp_chip_hit(c, tx, ty)) { - if (ncp_chip_apply(c)) need_sb = 1; /* 主题变化 → 重刷状态栏 */ + int ar = ncp_chip_apply(c); + if (ar == 1) need_sb = 1; /* 主题变化 → 重刷状态栏 */ + else if (ar == 2) { + after_modal = 1; /* 电源菜单已弹 → 整帧重绘还原 */ + /* 电源菜单返回:菜单期间用户可能按电源确认/取消,键边沿可能错配, + * 同电源键长按路径(line 7480-7488)重 poll + 重采 m_prev_*,防误判「单击」→ 误切 panel。 */ + 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); + /* 菜单期间用户的触摸经 evdev 广播也会进本 panel 的 tfd → 立即排空, + * 防返回后把「菜单里的点击」误判为 panel 内 tap/滑动。 */ + if (tfd >= 0) { + unsigned char ev2[16]; + while (read(tfd, ev2, sizeof ev2) == 16) {} + } + } hit = 1; need_paint = 1; break; } if (!hit && ncp_slider_band(tx, ty, NCP_SL1_Y)) { hit = 1; if (ncp_slider_apply(1, tx, 1)) need_paint = 1; } else if (!hit && ncp_slider_band(tx, ty, NCP_SL2_Y)) { hit = 1; if (ncp_slider_apply(2, tx, 1)) need_paint = 1; } + /* ⑥ 勿扰面板内开关(列表上方小 toggle):tap 即切换(整带命中) */ + if (!hit && ncp_dnd_hit(tx, ty)) { + int dv = 0; meow_settings_get_bool("notify.dnd", &dv); + meow_settings_set_bool("notify.dnd", dv ? 0 : 1); + meow_settings_save(); + g_ncp_dnd = dv ? 0 : 1; + ncp_refresh_rows(); /* 按 dnd 过滤重采集 */ + 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; @@ -7644,6 +7871,10 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) last_listchk = now; meow_notif_tick(); if (ncp_rows_changed()) { + /* ⑦ 列表已变(新条/撤下/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; ncp_refresh_rows(); list_scroll = mnp_scroll_clamp(list_scroll, g_nrows * NCP_ROW_H, NCP_LIST_BOT - NCP_LIST_TOP); @@ -7681,6 +7912,42 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) } if (anim_ok && anim_target == 0 && anim_p == 0) break; /* 滑出到 0 → 真正退出子循环 */ + /* ⑦ 行左滑落位动画:row_settle=1 时按壁钟差向 row_off_target 线性步进(回弹→0 / 滑出→-row_w)。 + * 到达目标:0=回弹完成(行复原,无需重排);-row_w=删除 → dismiss + 重采集 + 重排(need_paint)。 + * 只该行生效;与面板开关动画(上块)互不干扰(行左滑仅在面板稳态 open_settled 下进行)。 */ + if (row_swipe_row >= 0 && row_settle) { + unsigned long long rnow = now_ms(); + int rdt = (int)((rnow > row_anim_at) ? (rnow - row_anim_at) : 0); + row_anim_at = rnow; + int noff = mnp_swipe_step(row_off, row_off_target, (unsigned long long)rdt, NCP_SWIPE_RATE); + if (noff != row_off) { + row_off = noff; + g_ncp_swipe_off = noff; + row_paint = 1; + } + if (noff == row_off_target) { + if (row_off_target == 0) { + /* 回弹复原完成:先把行重画回 0 位(清残留偏移),再清滑动态(无需重排)。 */ + ncp_repaint_row(list_scroll, row_swipe_row, 0); + row_swipe_row = -1; row_settle = 0; row_off = 0; + row_off_target = 0; row_paint = 0; + g_ncp_swipe_row = -1; g_ncp_swipe_off = 0; + if (anim_ok) ncp_snap_panel(); /* 行已复原:刷新面板快照(供滑出动画用) */ + } else { + /* 滑出删除完成:撤下该通知 + 重采集 + 重排列表(整面板重画)。 */ + if (row_swipe_row >= 0 && row_swipe_row < g_nrows) + meow_notif_dismiss(g_rows[row_swipe_row].id); + row_swipe_row = -1; row_settle = 0; row_off = 0; + row_off_target = 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); + need_paint = 1; /* 行已移除/重排:整面板(列表区)重画 */ + } + } + } + /* 重绘(面板体区域;状态栏 0-27 由 draw_statusbar 单独维护,不落入此脏区)。 * need_sb=1(打开/主题变化)时 draw_notif_center 内另绘状态栏并标其脏——脏区仍 * 只含「面板体 + 28px 状态栏」两带,绝不整屏重绘。 @@ -7709,6 +7976,14 @@ static void run_notif_center(struct app *apps, int napps, int *want_launch) list_paint = 0; } } + /* 仅重绘该行带(行左滑跟手/回弹/滑出专用:只刷该行矩形,不整面板/不刷状态栏;同受动画门控)。 + * row_swipe_row<0(行已回弹/删除/被取消)则跳过并清标记,避免对已移除行重绘。 */ + if (row_paint) { + last_act = now; + if (row_swipe_row >= 0 && !(anim_ok && anim_p != anim_target)) + ncp_repaint_row(list_scroll, row_swipe_row, row_off); + row_paint = 0; + } /* ~1s 状态栏时钟 */ if (now - last_tick >= 1000) { last_tick = now; diff --git a/patch_v2/meow_launcherd/meow_notif_panel.h b/patch_v2/meow_launcherd/meow_notif_panel.h index 34dbadb..a254b7e 100644 --- a/patch_v2/meow_launcherd/meow_notif_panel.h +++ b/patch_v2/meow_launcherd/meow_notif_panel.h @@ -193,4 +193,55 @@ static inline int mnp_anim_covered_bot(int top, int ph, int off) return top + ph + off; } +/* ---- 勿扰(DND)过滤(通知中心面板内开关 → 基于 urgency 过滤,纯逻辑,可单测)---- + * urgency 见 meow_notif.h:0=LOW 低 / 1=NORMAL 普通 / 2=HIGH 高 / 3=CRITICAL 紧急(缺省 NORMAL)。 + * dnd=0(关):全部显示;dnd=1(开):只显示 urgency>=2(HIGH/CRITICAL)。返回 1=应显示。 */ +static inline int mnp_dnd_should_show(int urgency, int dnd) +{ + if (!dnd) return 1; + return urgency >= 2; +} + +/* ---- 单条通知行左滑删除(纯逻辑,可单测)---- + * 交互(launcher run_notif_center):行内左横滑(横向主导+左移)→ 该行跟随左移(off<0,露出删除底); + * 松手过阈值 → meow_notif_dismiss + 行移除/重排;未过/反向滑回 → 回弹复原(跟手、半程可回)。 + * 本组函数只做标量:clamp / 删除阈值 / 落位步进,不碰 fb/几何——供 launcher 与宿主单测共用。 */ + +/* 行左移 clamp:把手指位移钳到 [-row_w, 0](正向=右移钳 0;越左钳 -row_w=卡全滑出)。 + * row_w=行宽(如 NCP_ROW_W),off<=0 表示左移程度(负得多=滑出多)。 */ +static inline int mnp_swipe_clamp(int off, int row_w) +{ + if (off > 0) off = 0; + if (off < -row_w) off = -row_w; + return off; +} + +/* 松手删除判定:│off│ >= row_w*frac_pct/100 或 │off│ >= min_px → 返回 1(应删除); + * 否则 0(未过阈值/半程取消 → 回弹)。frac_pct 为行宽百分比(如 40)、min_px 为绝对像素保底 + * (防极窄行/极小滑也判删,取二者较大者实际生效——满足「≥row_w 某比例 或 ≥ 阈值 px」)。 */ +static inline int mnp_swipe_delete(int off, int row_w, int frac_pct, int min_px) +{ + if (off > 0) off = 0; + int amt = -off; /* 左移幅度(px,>=0) */ + if (amt >= row_w * frac_pct / 100) return 1; + if (amt >= min_px) return 1; + return 0; +} + +/* 落位动画线性步进:off 沿方向向 target 走 dt_ms*px_per_ms,到 target 即停(可正/反向回弹或滑出)。 + * dt_ms=距上次 tick 单调毫秒差;px_per_ms=速率(px/ms,如 3)。dt_ms<=0 或已到位返回原 off。 + * 单调、可打断(任意时刻改 off 即反向),与面板开关平移动画(mnp_anim_step)同「状态时间轴」思想, + * 但按固定 px/ms 而非剩余比例(行位移远小于面板高,线性更稳)。 */ +static inline int mnp_swipe_step(int off, int target, unsigned long long dt_ms, int px_per_ms) +{ + if (dt_ms == 0 || off == target) return off; + int delta = target - off; + int dir = (delta < 0) ? -1 : 1; + long long absd = (long long)(dir < 0 ? -delta : delta); + long long step = (long long)dt_ms * px_per_ms; + if (step > absd) step = absd; + if (step < 1) step = 1; /* 单调前进,防快循环 dt 极小卡住 */ + return off + dir * (int)step; +} + #endif /* MEOW_NOTIF_PANEL_H */ diff --git a/patch_v2/meow_launcherd/meow_settings.c b/patch_v2/meow_launcherd/meow_settings.c index 7faa076..118742a 100644 --- a/patch_v2/meow_launcherd/meow_settings.c +++ b/patch_v2/meow_launcherd/meow_settings.c @@ -121,6 +121,9 @@ static const meow_setting_def g_defs[] = { { "notify.categories", SET_INT, "4", 1, 4, NULL, NULL }, { "notify.category_quota", SET_INT, "4", 1, 16, NULL, NULL }, { "notify.media_quota", SET_INT, "1", 1, 1, NULL, NULL }, + /* 通知中心「勿扰」面板内开关(SET_BOOL,默认 0=关):开=只显示 urgency>=2(HIGH/CRITICAL)。 + * 面板内 toggle 读写均走 meow_settings_set_bool/get_bool,零旁路(通知中心 UI 方案 §12.2)。 */ + { "notify.dnd", SET_BOOL, "0", 0, 0, NULL, NULL }, /* 日志 */ { "log.level", SET_ENUM, "info", 0, 0, "error,warn,info,debug", "错误,警告,信息,调试" }, { "log.to_card", SET_BOOL, "1", 0, 0, NULL, NULL }, diff --git a/patch_v2/meow_launcherd/test_notif_panel.c b/patch_v2/meow_launcherd/test_notif_panel.c index ed40165..8c45bc1 100644 --- a/patch_v2/meow_launcherd/test_notif_panel.c +++ b/patch_v2/meow_launcherd/test_notif_panel.c @@ -238,6 +238,79 @@ static void test_anim_pure(void) CHECK(mnp_anim_step(0, 0, FIX, 10, 180) == 0, "at p==0 with target 0 stays put (would break)"); } +/* P5 ⑥ 勿扰过滤 + ⑦ 行左滑删除(纯逻辑,header-only): + * - mnp_dnd_should_show:dnd=0 全显示;dnd=1 只 urgency>=2(HIGH/CRITICAL)。 + * - mnp_swipe_clamp:跟手 clamp 到 [-row_w,0]。 + * - mnp_swipe_delete:松手阈值(行宽百分比 / 绝对像素,取大者)。 + * - mnp_swipe_step:落位动画线性步进(回弹/滑出,正反向,到底停,半程取消)。 + * 另加一段 mini 状态机:手指拖 → 松手过阈值=滑出删除 / 未过=回弹复原(跟手、半程可回)。 */ +static void test_dnd_swipe_pure(void) +{ + fprintf(stderr, "--- P5 DND filter + row left-swipe ---\n"); + /* mnp_dnd_should_show */ + CHECK(mnp_dnd_should_show(0, 0) == 1, "dnd off -> LOW(0) shows"); + CHECK(mnp_dnd_should_show(1, 0) == 1, "dnd off -> NORMAL(1) shows"); + CHECK(mnp_dnd_should_show(2, 0) == 1, "dnd off -> HIGH(2) shows"); + CHECK(mnp_dnd_should_show(3, 0) == 1, "dnd off -> CRITICAL(3) shows"); + CHECK(mnp_dnd_should_show(0, 1) == 0, "dnd on -> LOW(0) hidden"); + CHECK(mnp_dnd_should_show(1, 1) == 0, "dnd on -> NORMAL(1) hidden"); + CHECK(mnp_dnd_should_show(2, 1) == 1, "dnd on -> HIGH(2) shows"); + CHECK(mnp_dnd_should_show(3, 1) == 1, "dnd on -> CRITICAL(3) shows"); + + /* mnp_swipe_clamp(跟手 offset clamp:off∈[-row_w,0]) */ + CHECK(mnp_swipe_clamp(-200, 456) == -200, "swipe_clamp in-range kept"); + CHECK(mnp_swipe_clamp(30, 456) == 0, "swipe_clamp rightward -> 0"); + CHECK(mnp_swipe_clamp(-500, 456) == -456, "swipe_clamp past left -> -row_w"); + CHECK(mnp_swipe_clamp(-456, 456) == -456, "swipe_clamp exactly -row_w kept"); + CHECK(mnp_swipe_clamp(0, 456) == 0, "swipe_clamp 0 kept"); + + /* mnp_swipe_delete(row_w=456, frac_pct=40 → 40%=182.4;min_px=110;OR 语义 → 有效阈值=110px) */ + CHECK(mnp_swipe_delete(-80, 456, 40, 110) == 0, "delete -80 (<110 & <182.4) -> cancel"); + CHECK(mnp_swipe_delete(-110, 456, 40, 110) == 1, "delete -110 (>=min_px) -> delete"); + CHECK(mnp_swipe_delete(-150, 456, 40, 110) == 1, "delete -150 (>=min_px, <40%) -> delete"); + CHECK(mnp_swipe_delete(-183, 456, 40, 110) == 1, "delete -183 (>=40%) -> delete"); + CHECK(mnp_swipe_delete(-456, 456, 40, 110) == 1, "delete full slide -> delete"); + CHECK(mnp_swipe_delete(0, 456, 40, 110) == 0, "delete 0 -> cancel"); + /* 窄行:40%=24px(row_w=60),min_px=110 不起作用 → 阈值=24px */ + CHECK(mnp_swipe_delete(-25, 60, 40, 110) == 1, "delete narrow row -25 (>=40%) -> delete"); + CHECK(mnp_swipe_delete(-20, 60, 40, 110) == 0, "delete narrow row -20 (<40%) -> cancel"); + + /* mnp_swipe_step(线性步进:off 向 target 走 dt*rate,可正/反向,到底停) */ + CHECK(mnp_swipe_step(-100, 0, 10, 3) == -70, "step springback +30px/tick"); + CHECK(mnp_swipe_step(-100, 0, 0, 3) == -100, "step dt=0 -> unchanged"); + CHECK(mnp_swipe_step(-100, 0, 1000, 3) == 0, "step huge dt -> clamp at 0 (springback done)"); + CHECK(mnp_swipe_step(-50, -456, 10, 3) == -80, "step slide-out leftward"); + CHECK(mnp_swipe_step(-50, -456, 1000, 3) == -456, "step huge dt -> clamp at -row_w (deleted)"); + CHECK(mnp_swipe_step(-30, -30, 10, 3) == -30, "step at target -> stays"); + CHECK(mnp_swipe_step(0, 0, 10, 3) == 0, "step 0 target 0 -> stays"); + CHECK(mnp_swipe_step(-1000, 0, 5, 3) == -985, "step linear rate not exponential (small dt)"); + + /* mini 状态机:跟手拖 → 松手判定 → 动画到目标(半程取消 vs 删除)。 */ + int row_w = 456, off = 0; + /* 拖 80px 左(低于阈值 110)→ 松手回弹复原 */ + off = mnp_swipe_clamp(-80, row_w); + CHECK(mnp_swipe_delete(off, row_w, 40, 110) == 0, "mini: drag -80 -> cancel (springback)"); + int target = mnp_swipe_delete(off, row_w, 40, 110) ? -row_w : 0; + off = mnp_swipe_step(off, target, 1000, 3); + CHECK(off == 0, "mini: springback reaches 0 (row restored)"); + /* 拖 150px 左(>=110)→ 松手滑出删除 */ + off = mnp_swipe_clamp(-150, row_w); + CHECK(mnp_swipe_delete(off, row_w, 40, 110) == 1, "mini: drag -150 -> delete"); + target = mnp_swipe_delete(off, row_w, 40, 110) ? -row_w : 0; + off = mnp_swipe_step(off, target, 1000, 3); + CHECK(off == -row_w, "mini: slide-out reaches -row_w (dismiss)"); + /* 半程可反向:拖 200 左再反向回摄(dx 变 +30)→ off 回 0(跟手可回、松手在途取消) */ + off = mnp_swipe_clamp(-200, row_w); + CHECK(off == -200, "mini: drag -200 follows finger"); + off = mnp_swipe_clamp(30, row_w); /* 反向拖回原点左侧以右 → clamp 0 */ + CHECK(off == 0, "mini: reverse drag -> row slides back to 0 (halfway cancel)"); + /* 半程取消:拖 150 左(未达 182.4 的 40% 但达 110px 阈值)→ 松手删;若再拖回 <110 → 回弹 */ + off = mnp_swipe_clamp(-150, row_w); + CHECK(mnp_swipe_delete(off, row_w, 40, 110) == 1, "mini: -150 passed threshold -> delete"); + off = mnp_swipe_clamp(-100, row_w); /* 又拖回 100 <110 */ + CHECK(mnp_swipe_delete(off, row_w, 40, 110) == 0, "mini: -100 back under threshold -> cancel"); +} + static void test_storage_contract(void) { fprintf(stderr, "--- P0 storage contract (panel reads) ---\n"); @@ -341,6 +414,7 @@ int main(void) test_pure_logic(); test_scroll_pure(); test_anim_pure(); + test_dnd_swipe_pure(); test_storage_contract(); unlink(g_tflog); rmdir(dir);