From 72df0c7a6db783566afd8fbbe9fc344db70a639c Mon Sep 17 00:00:00 2001 From: beyond Date: Sun, 6 Sep 2026 14:08:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=A6=96=E9=A1=B5=E8=BD=AE=E6=92=AD?= =?UTF-8?q?=E5=9B=BE=E4=B8=8B=E6=8B=89=E5=88=B7=E6=96=B0=E6=97=B6=E9=9A=8F?= =?UTF-8?q?=E6=9C=BA=E6=8E=92=E5=BA=8F=EF=BC=8C=E5=A2=9E=E5=8A=A0=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E6=95=B0=E9=87=8F=E5=88=B020?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 首次加载保持API排序(一致性),下拉刷新后shuffle增加多样性 - getLatestItems limit 10→20,让更多内容参与轮播选择 --- .../com/example/myapplication/screens/HomeScreen.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/example/myapplication/screens/HomeScreen.kt b/app/src/main/kotlin/com/example/myapplication/screens/HomeScreen.kt index 1c1869e..f1c3bd3 100644 --- a/app/src/main/kotlin/com/example/myapplication/screens/HomeScreen.kt +++ b/app/src/main/kotlin/com/example/myapplication/screens/HomeScreen.kt @@ -850,7 +850,13 @@ fun HomeScreen( val homeBackdrop = rememberLumaLayerBackdrop() val heroHeight = (LocalConfiguration.current.screenHeightDp.dp * 0.5f) - val heroItems = remember(latestItems) { latestItems.take(8) } + val heroItems = remember(latestItems, reloadToken) { + if (reloadToken == 0) { + latestItems.take(8) // First load: keep API order for consistency + } else { + latestItems.shuffled().take(8) // Pull-to-refresh: shuffle for variety + } + } val heroPagerState = rememberPagerState(pageCount = { heroItems.size }) val homeListState = rememberLazyListState() val activeHeroItem = heroItems.getOrNull(heroPagerState.currentPage) @@ -877,7 +883,7 @@ fun HomeScreen( if (inPlaceRefresh) refreshing = true else loading = true try { val libsDeferred = async { EmbyRepository.getLibraries(server) } - val latestDeferred = async { EmbyRepository.getLatestItems(server, limit = 10) } + val latestDeferred = async { EmbyRepository.getLatestItems(server, limit = 20) } val resumeDeferred = async { EmbyRepository.getResumeItems(server, limit = 10) } val statsDeferred = async { EmbyRepository.getResourceStats(server) }