feat: M6.40批 — 阅读器UI改版(书架list·grid+空态骨架+界面设置+App设置页+header·footer+背景黑默认) + 系统级音量翻页映射 + P1 MD3(select面板28/对话框按钮胶囊) + MeowPanel写端点护栏 + SDK公开仓·文档同步

- reader: app.c/shelf.c/reader.c 全套UI; 新增 reader_conf(reader.conf)/settings(App设置页)/reader_ipc(音量翻页IPC响应); app.json加volume_page
- launcher: keys.c meow_volpage_*门 + util.c app_id→fd映射(HELLO记fd/断开清) + app_launcher.c 前台三处接线(进入sink/按键路径volpage_key/离开clear) → 前台声明volume_page的App音量键→MSG_KEY_PAGEUP/PAGEDOWN翻页(非阅读器前台音量照旧)
- sdk: meow_select.c 底部面板28 + meow_ui_dialog.c 对话框按钮胶囊(h/2) + test_meow_ui_select.c修采样
- meowpanel: /api/net/policy·/api/power/policy 加防自锁+policy默认关两条护栏(panel.policy_enabled默认0)
- 文档: MEOW_APP_SDK.md §12.6 + meowpanel README端点表

0warning;宿主测试全过;二进制留批量批次未入库
This commit is contained in:
AskaEth committed 2026-09-04 18:13:18 +08:00
1 parent b364b6371a
commit 2826c1e905
27 files changed
+1704 -129

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
/* app/reader_ipc.h — 阅读器系统翻页信号接收(launcher 经 IPC 下发 MSG_KEY_PAGEUP/PAGEDOWN)。
*
* 系统级能力(READER_UI_DESIGN §E / 用户 2026-09-04 拍板):音量键翻页由 launcher 判决
* (仅当前台 App = 本阅读器且 app.json 声明 volume_page),下发消息;本模块在 App 侧
* 维持一条持久 IPC 连接接收并转成 `reader_page_key(±1)`。
*
* 设计(对齐 SDK meow_ui_media.c 模式):
* - 后台线程懒连 meow_ipc.sock,HELLO(app_id=os.meow.reader) 后 poll 读下发帧;
* - 收到 MSG_KEY_PAGEUP/PAGEDOWN → 调 reader_page_key(-1/+1)(UI 线程经 tick 消费,
* 避免跨线程直接改页面状态);
* - best-effort:launcher 不在 / 断线 → 重试,绝不崩;App 退出 reader_ipc_stop() 收尾。
*
* 内存纪律:显式小线程栈(64KB),符合阅读态 ≤8MB。
*/
#ifndef READER_IPC_H
#define READER_IPC_H
#ifdef __cplusplus
extern "C" {
#endif
/* 启动翻页信号接收线程(幂等)。读入 app_id = "os.meow.reader"。
* 转发目标:reader_page_key(dir)(reader_internal.h)。 */
void reader_ipc_start(void);
/* 停止线程并断开(App 退出时调用;幂等)。 */
void reader_ipc_stop(void);
#ifdef __cplusplus
}
#endif
#endif /* READER_IPC_H */