Compare commits

...
2 Commits
2 changed files with 20 additions and 8 deletions

No files matched your search

+19 -7
View File
@@ -293,6 +293,8 @@ void run_now_playing(struct app *apps, int napps)
unsigned long long last_prog = now_ms(); unsigned long long last_prog = now_ms();
unsigned long long np_last_status_tick = now_ms(); /* M6.20:播放页状态栏时钟 1s 刷新(主界面同语义) */ unsigned long long np_last_status_tick = now_ms(); /* M6.20:播放页状态栏时钟 1s 刷新(主界面同语义) */
int need_redraw = 1; int need_redraw = 1;
int np_exit = 0; /* M6.22:返回手势命中 → 置位退出外层主循环。触摸内的 break 只跳出内层
* 读事件 while,不退出外层 while(!sigterm_flag),故必须靠标志跳出(根因:返回「没反应」)。 */
char last_title[128] = ""; char last_title[128] = "";
uint32_t last_state = 0xFFFFFFFFu; uint32_t last_state = 0xFFFFFFFFu;
char last_app[MEOW_APP_ID_MAX] = ""; char last_app[MEOW_APP_ID_MAX] = "";
@@ -302,6 +304,7 @@ void run_now_playing(struct app *apps, int napps)
meow_ui_flush(); meow_ui_flush();
while (!sigterm_flag) { while (!sigterm_flag) {
if (np_exit) break; /* M6.22:返回手势已命中 → 退出本页,走尾部收尾回主界面 */
meow_ipc_process(); meow_ipc_process();
meow_media_tick(); meow_media_tick();
unsigned long long now = now_ms(); unsigned long long now = now_ms();
@@ -328,10 +331,17 @@ void run_now_playing(struct app *apps, int napps)
if (td_ok) { if (td_ok) {
int dx = tlx - tdx, dy = tly - tdy; int dx = tlx - tdx, dy = tly - tdy;
int adx = dx < 0 ? -dx : dx, ady = dy < 0 ? -dy : dy; int adx = dx < 0 ? -dx : dx, ady = dy < 0 ? -dy : dy;
/* M6.21 诊断:打印该次抬手手势的完整输入与各判定结果(真机定位
* 「返回滑不出」根因——状态栏/通知中心已生效,惟返回未触发)。 */
int np_is_top = mnp_top_swipe_down(tdx, tdy, dx, dy, SB_BAR_H, 65);
int np_edge = meow_edge_back(tdx, dx, dy);
int np_anyright = (dx >= 40 && adx > ady);
logmsg("np up: down=(%d,%d) d=(%d,%d) adx=%d ady=%d top=%d edge=%d anyright=%d",
tdx, tdy, dx, dy, adx, ady, np_is_top, np_edge, np_anyright);
/* 顶部热区下滑 → 打开通知中心(与主界面同语义;mnp_top_swipe_down /* 顶部热区下滑 → 打开通知中心(与主界面同语义;mnp_top_swipe_down
* 内部已排除左缘 down_x<24,与下方返回手势互斥)。run_notif_center * 内部已排除左缘 down_x<24,与下方返回手势互斥)。run_notif_center
* 为阻塞模态,返回后整页重画播放页。 */ * 为阻塞模态,返回后整页重画播放页。 */
if (mnp_top_swipe_down(tdx, tdy, dx, dy, SB_BAR_H, 65)) { if (np_is_top) {
notif_click_t click; notif_click_t click;
memset(&click, 0, sizeof click); memset(&click, 0, sizeof click);
click.app_idx = -1; click.app_idx = -1;
@@ -342,12 +352,14 @@ void run_now_playing(struct app *apps, int napps)
meow_ui_flush(); meow_ui_flush();
} }
/* 左缘右滑返回(全局手势语义),或任意横向右滑返回——与主界面 /* 左缘右滑返回(全局手势语义),或任意横向右滑返回——与主界面
* 「左滑进入 Now Playing」对称(main_menu 左滑仅要求 tx>=MEOW_EDGE_W, * 「左滑进入 Now Playing」对称。返回阈值 65→40 放宽(防用户右滑
* 返回却需精确落 24px 左缘带,用户反向右滑极易落空 → 滑不出来)。 * 幅度不足 65 判不中);播放页无横向分页内容、无进度条拖动
* 播放页无横向分页内容、无进度条拖动(进度=点按,幅度<60 走 tap 分支), * (进度=点按,幅度<60 走 tap 分支),故任意位置横向右滑恒判返回。 */
* 故任意位置横向右滑恒判返回,安全。回到主界面(不清理媒体会话) */ else if (np_edge || np_anyright) {
else if (meow_edge_back(tdx, dx, dy) || logmsg("np: BACK break (edge=%d anyright=%d dx=%d)", np_edge, np_anyright, dx);
(dx >= MEOW_EDGE_SWIPE && adx > ady)) break; np_exit = 1;
break; /* 仅跳出内层读事件 while;外层主循环靠 np_exit 退出 */
}
if (adx < 60 && ady < 60) { if (adx < 60 && ady < 60) {
int cmd = np_btn_tap(tlx, tly); int cmd = np_btn_tap(tlx, tly);
if (cmd) { meow_media_playctl((uint32_t)cmd, 0); need_redraw = 1; } if (cmd) { meow_media_playctl((uint32_t)cmd, 0); need_redraw = 1; }
+1 -1
View File
@@ -28,7 +28,7 @@
# ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)---- # ---- 用户态/服务守护二进制(usr/bin,全部 chmod 755 静态 MIPS)----
patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216) patch_v2/bootmenu/meow_bootmenu|/usr/bin/meow_bootmenu|4441822d87e76bfce2ce584604ac3830|引导选单 M2.85(sysui让位 agent-216)
patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|7c013546cf653d74860118da943c19d0|M6.20 播放页右滑返回/顶部下滑通知中心/时钟1s刷新 patch_v2/meow_launcherd/meow_launcherd|/usr/bin/meow_launcherd|dd9e619df3e0ab7544850133ac6db7df|M6.22 播放页返回根因修复(np_exit 退出外层主循环)
patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|553840cdc79d8d7bed766a5e3981ac57|应用看门狗 M2.97(音量反转 + DS1039 平方锥度 + 插孔消抖) patch_v2/meow_watchdog/meow_watchdog|/usr/bin/meow_watchdog|553840cdc79d8d7bed766a5e3981ac57|应用看门狗 M2.97(音量反转 + DS1039 平方锥度 + 插孔消抖)
patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187) patch_v2/meow_svcd/meow_svcd|/usr/bin/meow_svcd|605646c4cc93f2baf29071ea6bc870ea|服务管理器 M2.77(+崩溃上报 meow_crash agent-187)
mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194) mips-repo/bins/meow_mdns/bin/meow_mdns|/usr/bin/meow_mdns|d6b0151bda26768f19952dae1342610d|mDNS 应答器 M2.78(启动竞态+换IP重检 agent-194)