fix(metadata): 补上事件订阅,缓存命中也推送一次

上一条只加了字段和回调,listen 没插进去(列表不会刷新)。
另外歌曲元数据在 SQLite 命中时直接 return,也不会发事件——
导致"标签其实早就在库里、列表却还显示文件名"。

- HomePage / WebDAVFileListPage 补上 stream.listen 与 cancel
- MetadataService 的 SQLite 命中分支也 publish 一次(幂等,按 path 覆盖)

验证方式:播放一首收藏里显示文件名的歌 -> 返回主页 -> 该行应变为标签标题。
This commit is contained in:
2026-11-01 12:22:46 +08:00
parent 6ca31c37ba
commit 83ab47d8fc
3 changed files with 7 additions and 0 deletions
+2
View File
@@ -203,6 +203,7 @@ class _HomePageState extends BaseState<HomePage> {
void initState() {
super.initState();
_scrollController = ScrollController()..addListener(_onScroll);
_metaSub = MetadataEvents().stream.listen(_onMetadataUpdate);
_initWebDAV();
WidgetsBinding.instance.addPostFrameCallback((_) {
@@ -212,6 +213,7 @@ class _HomePageState extends BaseState<HomePage> {
@override
void dispose() {
_metaSub?.cancel();
_homePageController.dispose();
_scrollController.dispose();
super.dispose();