From a252b84d3ebd965fdb75b17508c9e7e8196d7c1d Mon Sep 17 00:00:00 2001 From: maxrave-dev Date: Wed, 29 Jan 2025 20:46:22 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20FIX(UI):=20Use=20hashCode()=20fo?= =?UTF-8?q?r=20song=20keys=20in=20Library=20and=20Home=20screens=20to=20pr?= =?UTF-8?q?event=20recomposition=20issues.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/maxrave/simpmusic/ui/screen/home/HomeScreen.kt | 6 +++--- .../ui/screen/library/LibraryDynamicPlaylistScreen.kt | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/maxrave/simpmusic/ui/screen/home/HomeScreen.kt b/app/src/main/java/com/maxrave/simpmusic/ui/screen/home/HomeScreen.kt index 5798aa7e..f13fc631 100644 --- a/app/src/main/java/com/maxrave/simpmusic/ui/screen/home/HomeScreen.kt +++ b/app/src/main/java/com/maxrave/simpmusic/ui/screen/home/HomeScreen.kt @@ -742,7 +742,7 @@ fun ChartData( state = lazyListState1, flingBehavior = snapperFlingBehavior1, ) { - items(chart.songs, key = { it.videoId }) { + items(chart.songs, key = { it.hashCode() }) { ItemTrackChart(onClick = { viewModel.setQueueData( QueueData( @@ -777,7 +777,7 @@ fun ChartData( state = lazyListState, flingBehavior = snapperFlingBehavior, ) { - items(chart.videos.items.size, key = { index -> chart.videos.items[index].videoId }) { + items(chart.videos.items.size, key = { index -> chart.videos.items[index].videoId + index }) { val data = chart.videos.items[it] ItemVideoChart( onClick = { @@ -819,7 +819,7 @@ fun ChartData( ) { items(chart.artists.itemArtists.size, key = { index -> val item = chart.artists.itemArtists[index] - item.title + item.browseId + item.title + item.browseId + index }) { val data = chart.artists.itemArtists[it] ItemArtistChart(onClick = { diff --git a/app/src/main/java/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt b/app/src/main/java/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt index 520b9d86..94b84087 100644 --- a/app/src/main/java/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt +++ b/app/src/main/java/com/maxrave/simpmusic/ui/screen/library/LibraryDynamicPlaylistScreen.kt @@ -81,7 +81,7 @@ fun LibraryDynamicPlaylistScreen( LibraryDynamicPlaylistType.MostPlayed -> mostPlayed else -> emptyList() }, - key = { it.videoId }, + key = { it.hashCode() }, ) { song -> SongFullWidthItems( songEntity = song,