From fdf14f7dd2ed8ca0590d995160588e2c41ad3598 Mon Sep 17 00:00:00 2001
From: beyond
Date: Sun, 6 Sep 2026 18:21:13 +0800
Subject: [PATCH] =?UTF-8?q?=E6=92=AD=E6=94=BE=E5=99=A8:=20=E5=89=A7?=
=?UTF-8?q?=E9=9B=86=E6=97=A0logo=E6=97=B6=E4=BB=8E=E5=89=A7=E9=9B=86(seri?=
=?UTF-8?q?es)=E8=8E=B7=E5=8F=96logo?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- PlayerDestination加载剧集后检查是否有logo
- 若剧集无logo,额外请求series item获取其logo tag
- 合并到剧集的imageTags中,确保播放器显示正确的艺术文字
Co-Authored-By: Claude Opus 5 (1M context)
---
.../example/myapplication/navigation/AppNavHost.kt | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/app/src/main/kotlin/com/example/myapplication/navigation/AppNavHost.kt b/app/src/main/kotlin/com/example/myapplication/navigation/AppNavHost.kt
index 8843484..d44bc0a 100644
--- a/app/src/main/kotlin/com/example/myapplication/navigation/AppNavHost.kt
+++ b/app/src/main/kotlin/com/example/myapplication/navigation/AppNavHost.kt
@@ -438,6 +438,18 @@ private fun PlayerDestination(
} catch (_: Exception) {
null
}
+ // If episode has no logo, fetch the series item to get its logo
+ val currentSeriesId = seriesId ?: item?.seriesId
+ if (item?.logoImageTag == null && !currentSeriesId.isNullOrBlank() && server != null && server.apiKey.isNotBlank()) {
+ try {
+ val seriesItem = EmbyRepository.getItem(server, currentSeriesId)
+ if (seriesItem?.logoImageTag != null) {
+ item = item?.copy(
+ imageTags = (item?.imageTags ?: emptyMap()) + mapOf("Logo" to seriesItem.logoImageTag!!)
+ )
+ }
+ } catch (_: Exception) { /* ignore */ }
+ }
itemLoading = false
}