feat: M6.10–M6.19 批量收编 + M6.19 推卡验收

- M7 launcher 重写 5 期(虚拟化宫格/meow_theme 单一权威/横幅动画/自定义 PIN 键盘)
- OOM 通用化(cachegov 上收 SDK)、自动切歌根治、meowpanel jv_free 泄漏修复、Hello 滚动卡顿修复
- ncm 歌词 UI / 媒体通知封面 / 封面分辨率 640
- 5 bug 修复:ncm 后台化 UI 叠层+点击穿透、再进 ncm 桌面叠层、播放页新旧 UI 叠层抢刷脏区(meow_ui_gfx 恢复边沿整帧重画)、PIN 亮屏亮度跳(keys.c meow_panel_on 按 settings_brightness_clamped 恢复)、通知中心封面显歌单封面(cover.c save_cover_raw 加 is_song + 命中块守卫)
- 四 App 统一重链新 meow_ui.a 51caee4a;M6.19=0.8.19 固件 2d2331f2 推卡自刷验收全绿
This commit is contained in:
AskaEth committed 2026-09-03 12:16:01 +08:00
1 parent c2ee7626a4
commit 3d70a3dd2c
176 files changed
+15507 -597

No files matched your search

+6 -6
View File
@@ -27,7 +27,7 @@
static unsigned char *g_modal_cap = NULL;
static int g_modal_cap_line = 0, g_modal_cap_h = 0, g_modal_cap_bpp = 0;
static void modal_capture(void)
void meow_ui_modal_capture(void)
{
unsigned char *bb = meow_ui_back_buf();
int line = meow_ui_back_buf_pitch();
@@ -43,7 +43,7 @@ static void modal_capture(void)
if (g_modal_cap) memcpy(g_modal_cap, bb, n);
}
static void modal_restore(void)
void meow_ui_modal_restore(void)
{
unsigned char *bb = meow_ui_back_buf();
if (!g_modal_cap || !bb) return;
@@ -235,7 +235,7 @@ void meow_dialog_show(meow_dialog *d)
/* §6.4:模态作用域——本层打开期间下层(view/widget)完全收不到触摸;点卡片外由背板消费
* (d->done=1 result=0 取消),不透传。嵌套弹层 depth 递增。 */
meow_ui_modal *m = meow_ui_modal_begin();
modal_capture(); /* M2.71-bug3:拍下背景,关闭即还原(scrim 只叠一层/无残影);
meow_ui_modal_capture(); /* M2.71-bug3:拍下背景,关闭即还原(scrim 只叠一层/无残影);
* 嵌套模态在各自打开时拍「当前已渲染帧」,故两层弹开不叠黑。 */
dlg_paint(d, th);
meow_ui_flush();
@@ -291,7 +291,7 @@ void meow_dialog_show(meow_dialog *d)
usleep(16000);
}
meow_ui_modal_end(m); /* §6.4:关闭模态作用域(下层恢复接收触摸) */
modal_restore(); /* M2.71-bug3:关闭还原背景,无残影 */
meow_ui_modal_restore(); /* M2.71-bug3:关闭还原背景,无残影 */
}
int meow_dialog_result(meow_dialog *d) { return d ? d->result : 0; }
@@ -355,7 +355,7 @@ int meow_sheet_open(meow_sheet *s)
int ph = sheet_h(s, th);
int py = H - ph, pad = 24;
meow_ui_modal *m = meow_ui_modal_begin(); /* §6.4:模态作用域(下层收不到触摸) */
modal_capture(); /* M2.71-bug3:拍下背景,关闭即还原(scrim 只叠一层/无残影) */
meow_ui_modal_capture(); /* M2.71-bug3:拍下背景,关闭即还原(scrim 只叠一层/无残影) */
/* 首次绘制:遮罩 + 底部面板(顶部圆角) */
meow_ui_fill_rect_alpha(0, 0, W, H, 0x000000, 150);
meow_gfx_fill_round(0, py, W, ph, th->radius_card, th->surfaceContainerHighest);
@@ -389,7 +389,7 @@ int meow_sheet_open(meow_sheet *s)
usleep(16000);
}
meow_ui_modal_end(m); /* §6.4:关闭模态作用域 */
modal_restore(); /* M2.71-bug3:关闭还原背景,无残影 */
meow_ui_modal_restore(); /* M2.71-bug3:关闭还原背景,无残影 */
return s->result;
}
void meow_sheet_free(meow_sheet *s) { if (s) free(s); }