feat(ui): M6.38批 — P1 MD3细化(SDK对话框28)+批②底部上滑回桌面+批6 ncm顶栏回播放页+批④面板后台列表+launcher UI微调(歌词页黑半透明底/播放页布局下移)+封面空artwork保留修复
- P1: meow_ui_dialog.c 对话框底框 radius_card→MEOW_SHAPE_EXTRA_LARGE(28) 三处(:103填充/:104描边/:361 BottomSheet); meow_ui_widgets.h 新增 MEOW_SHAPE_EXTRA_LARGE 28 宏; TextField/FAB/Slider/Progress 按设计文档保留 - 批②: np_gesture.h 新增 NP_GEST_HOME+np_home_gesture(底部热区上滑,与左缘返回对称互斥); now_playing.c 新增 np_draw_home_bar(屏底左缘pill指示条)+手势衔接; test_now_playing_widgets G5b - 批6: ncm home.c 顶栏加回播放页按钮(MEOW_ICON_QUEUE_MUSIC)→push(ACT_PLAYER), 无音频也生效 - 批④: meowpanel /api/ams/bg 只读端点+前端后台列表页+杀/清复用kill通道 - UI微调: now_playing.c 播放页布局宏下移(NP_COVER_Y 84/NP_BTN_Y 612消底部留白)+歌词页背景统一黑色半透明叠层(弃封面取色底,删 np_draw_lyric_coverbg) - 封面保留: now_playing.c/notif_center.c 空artwork保留上一张已解码封面(防暂停/开歌单致META报空artwork后封面闪没); test_np_cover C2断言更新+mirror同步 0warning;宿主测试 test_np_cover ALL PASS;launcher/ncm/panel 宿主测试无回归。二进制留批量批次未入库
This commit is contained in:
1 parent
b3ce719742
commit
a2aec783a7
15 files changed
+418
-47
No files matched your search
@@ -48,6 +48,7 @@ static void np_cover_load(const meow_media_session_t *s)
|
||||
{
|
||||
if (!s) return;
|
||||
if (g_np_cover && strcmp(g_np_cover_path, s->artwork) == 0) return; /* 已载且未变 → 跳过 */
|
||||
if (!s->artwork[0]) return; /* 镜像 now_playing.c 2026-09-04:空 artwork 保留上一张封面(勿清) */
|
||||
if (g_np_cover) { meow_img_free(g_np_cover); g_np_cover = NULL; }
|
||||
snprintf(g_np_cover_path, sizeof g_np_cover_path, "%s", s->artwork);
|
||||
if (!s->artwork[0]) return;
|
||||
@@ -135,12 +136,12 @@ int main(void)
|
||||
np_cover_load(&s);
|
||||
CHECK(g_np_cover == keep, "same path unchanged -> cache hit (no reload)");
|
||||
|
||||
/* ============ C2 artwork 空 → 封面清空(回退主题占位) ============ */
|
||||
printf("C2 artwork empty -> cover cleared (theme placeholder)\n");
|
||||
/* ============ C2 artwork 空 → 封面保留(用户 2026-09-04:勿因空 artwork 清封面) ============ */
|
||||
printf("C2 artwork empty -> cover kept (NOT cleared)\n");
|
||||
memset(s.artwork, 0, sizeof s.artwork);
|
||||
np_cover_load(&s);
|
||||
CHECK(g_np_cover == NULL, "artwork empty -> cover NULL (theme placeholder)");
|
||||
CHECK(g_np_cover_path[0] == 0, "empty -> cached path reset to \"\"");
|
||||
CHECK(g_np_cover == keep, "artwork empty -> cover kept (non-NULL, NOT cleared)");
|
||||
CHECK(strcmp(g_np_cover_path, pa) == 0, "empty -> cached path kept (still pa)");
|
||||
|
||||
/* ============ C3 artwork 从空复原(同路径)→ 封面重载(M6.33 修复) ============ */
|
||||
printf("C3 artwork restored (same path) -> cover reloads (M6.33)\n");
|
||||
|
||||
Reference in new issue
Block a user