feat: M6.43 — reader分段流式读取(Phase1,只txt) + 面板前台管理/返回回桌面按钮
- reader分段(只txt): core/seg.{h,c} 512KB码位对齐切段(尾字完整)+manifest+按需读单段; book.c rd_book_open只布局每页所在段(治CPU100%/返回无效) load_seg只读当前段(非txt原路径); reader.c 进度实时保存(翻页/刮擦/字号/编码dirty+on_tick节流落盘+退出即时写,锚点存段号,崩溃不丢进度); rdtxt.c fread替代fgetc(去开书扫描卡顿); Phase2(双段拼接+4%释放)留待
- 面板: /api/ams/bg加fg/fg_count(后台保持向后兼容)+POST /api/ams/:pkg/killfg(前台救命:优先am kill,launcher拒则pid直信号SIGTERM->SIGKILL绕过门控)+前端/#/bg前台组'终止'绿徽标+确认弹窗(一键清仍只后台不误杀前台); POST /api/input/gesture(返回=左缘右滑/回桌面=底部上滑,注入滑动轨迹复用SDK手势)+前端屏幕控制页加返回/回桌面MD3按钮
0warning;宿主test_reader_core 72-0/seg_smoke 19-0/loaders_smoke/book_smoke/formats_smoke PASS;面板selftest/node check PASS
This commit is contained in:
1 parent
a64ae06eb6
commit
f40abbd494
17 files changed
+1069
-70
No files matched your search
@@ -304,6 +304,7 @@ void ams_history_parse(char *out, sbuf_t *s, const char *pkg);
|
||||
void ams_history_fill(sbuf_t *s, const char *pkg);
|
||||
int api_ams_history(int sock, const char *pkg);
|
||||
int api_ams_ctl(int sock, const char *pkg, int kill);
|
||||
int api_ams_kill_fg(int sock, const char *pkg); /* 前台强制终止(救命):am kill 优先,launcher 拒→直接 pid 信号 */
|
||||
void svcd_fill(sbuf_t *s);
|
||||
int api_svcd(int sock);
|
||||
int api_overview(int sock);
|
||||
@@ -446,7 +447,9 @@ int api_screen_jpeg(int sock, const req_t *r);
|
||||
int64_t now_mono_ms(void);
|
||||
int64_t touch_last_local_ms(const char *dev);
|
||||
int inject_tap(const char *dev, int x, int y);
|
||||
int inject_swipe(const char *dev, int x0, int y0, int x1, int y1);
|
||||
int api_input_tap(int sock, const req_t *r);
|
||||
int api_input_gesture(int sock, const req_t *r);
|
||||
const char *web_root(void);
|
||||
const char *mime_for(const char *path);
|
||||
int serve_static(int sock, const char *path);
|
||||
|
||||
Reference in new issue
Block a user