From f5bc31a00ff18f22ef73eb74cb7ebe05ececee3f Mon Sep 17 00:00:00 2001 From: Alexander Capehart Date: Wed, 28 Feb 2024 22:59:51 -0700 Subject: [PATCH] home: fix crash on music updates --- CHANGELOG.md | 1 + .../main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt | 2 +- .../main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt | 2 +- .../main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt | 2 +- .../java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt | 2 +- .../main/java/org/oxycblt/auxio/home/list/SongListFragment.kt | 2 +- 6 files changed, 6 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 987d7b716..cb8325662 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Fixed "Add to queue" incorrectly changing the queue and crashing the app - Fixed 1x4 and 1x3 widgets having square edges - Fixed crash when music library updates in such a way to change music information +- Fixed crash when music library updates while scrolled in a list ## 3.4.1 diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt index 74c942dae..a3ad98835 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/AlbumListFragment.kt @@ -95,7 +95,7 @@ class AlbumListFragment : } override fun getPopup(pos: Int): String? { - val album = homeModel.albumList.value[pos] + val album = homeModel.albumList.value.getOrNull(pos) ?: return null // Change how we display the popup depending on the current sort mode. return when (homeModel.albumSort.mode) { // By Name -> Use Name diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt index 7dc885308..0f99cdb48 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/ArtistListFragment.kt @@ -90,7 +90,7 @@ class ArtistListFragment : } override fun getPopup(pos: Int): String? { - val artist = homeModel.artistList.value[pos] + val artist = homeModel.artistList.value.getOrNull(pos) ?: return null // Change how we display the popup depending on the current sort mode. return when (homeModel.artistSort.mode) { // By Name -> Use Name diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt index 3307fa721..ef001d36e 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/GenreListFragment.kt @@ -89,7 +89,7 @@ class GenreListFragment : } override fun getPopup(pos: Int): String? { - val genre = homeModel.genreList.value[pos] + val genre = homeModel.genreList.value.getOrNull(pos) ?: return null // Change how we display the popup depending on the current sort mode. return when (homeModel.genreSort.mode) { // By Name -> Use Name diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt index 4228c872a..e0fe15bec 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/PlaylistListFragment.kt @@ -87,7 +87,7 @@ class PlaylistListFragment : } override fun getPopup(pos: Int): String? { - val playlist = homeModel.playlistList.value[pos] + val playlist = homeModel.playlistList.value.getOrNull(pos) ?: return null // Change how we display the popup depending on the current sort mode. return when (homeModel.playlistSort.mode) { // By Name -> Use Name diff --git a/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt b/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt index 04f9847f1..6a5d91bcf 100644 --- a/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/home/list/SongListFragment.kt @@ -92,7 +92,7 @@ class SongListFragment : } override fun getPopup(pos: Int): String? { - val song = homeModel.songList.value[pos] + val song = homeModel.songList.value.getOrNull(pos) ?: return null // Change how we display the popup depending on the current sort mode. // Note: We don't use the more correct individual artist name here, as sorts are largely // based off the names of the parent objects and not the child objects.