fix(ncm): 歌单详情LoadFailed——track/all端点不存在(404)回退detail+分批song_detail已验证链路; 列表误触改按下锁定行+拖动抑制 (agent-227, 真机验证256首出曲) + perf(meowpanel): 屏幕帧整数定点DCT(无FPU软浮点3.96s→0.19s/帧,实测4-5fps)+前端链式轮询防堆积+实测fps显示 (agent-228)
ncm→73422166 已部署; meowpanel→f310a00e 已部署
This commit is contained in:
1 parent
d394c73a7c
commit
c041facd89
13 files changed
+447
-65
No files matched your search
@@ -259,9 +259,12 @@ int home_on_tap(int x, int y)
|
||||
}
|
||||
if (g_load_err != 0 || g_st.playlist_count == 0) return 0;
|
||||
if (meow_widget_hit(g_list, x, y)) {
|
||||
int row = meow_listview_hit(g_list, x, y);
|
||||
if (row < 0) { home_drag_reset(); return 1; }
|
||||
/* 误触修复(同 playlist.c):小拖动滚动列表后 release 被 SDK 判成 TAP,旧命中用“释放点 +
|
||||
* 新 scroll”,打到非按下行;改用按下行 g_press_row,移动超阈值(>10)视为滚动不触发。 */
|
||||
int was_drag = (g_press_delta > 10);
|
||||
int row = (g_press_row >= 0) ? g_press_row : meow_listview_hit(g_list, x, y);
|
||||
home_drag_reset();
|
||||
if (row < 0 || was_drag) return 1;
|
||||
playlist_open(tab_global_idx(g_tab, row));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -291,9 +291,14 @@ int playlist_on_tap(int x, int y)
|
||||
}
|
||||
if (g_load_err != 0 || g_st.song_count == 0) return 0;
|
||||
if (meow_widget_hit(g_list, x, y)) {
|
||||
int row = meow_listview_hit(g_list, x, y);
|
||||
if (row < 0) { pl_drag_reset(); return 1; }
|
||||
/* 误触修复:小拖动(<SWIPE_THRESH)会先滚动列表、release 又被 SDK 判成 TAP,旧的
|
||||
* meow_listview_hit(x,y) 用“释放点 + 更新后的 scroll”命中 → 打到“已移动到手指下”的行,
|
||||
* 与按下点不一致(“点到非触摸坐标的行”)。按下行 g_press_row 才是用户真正按的行;
|
||||
* 移动量超过阈值(g_press_delta>10,与按压红条清行同阈值)视为滚动收尾,不触发点行。 */
|
||||
int was_drag = (g_press_delta > 10);
|
||||
int row = (g_press_row >= 0) ? g_press_row : meow_listview_hit(g_list, x, y);
|
||||
pl_drag_reset();
|
||||
if (row < 0 || was_drag) return 1;
|
||||
player_play_song(row);
|
||||
return 1;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user