diff --git a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt index 9d87a0c68..d29b513a6 100644 --- a/app/src/main/java/org/oxycblt/auxio/MainActivity.kt +++ b/app/src/main/java/org/oxycblt/auxio/MainActivity.kt @@ -51,7 +51,7 @@ import org.oxycblt.auxio.util.systemBarInsetsCompat * TODO: Fix UID naming * TODO: Leverage FlexibleListAdapter more in dialogs (Disable item anims) * TODO: Add more logging - * TODO: Try to move on from shared objs in synchronized and volatile + * TODO: Try to move on from synchronized and volatile in shared objs */ @AndroidEntryPoint class MainActivity : AppCompatActivity() { diff --git a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt index 619a48211..4677aee62 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/ArtistDetailFragment.kt @@ -101,7 +101,10 @@ class ArtistDetailFragment : adapter = ConcatAdapter(artistHeaderAdapter, artistListAdapter) (layoutManager as GridLayoutManager).setFullWidthLookup { if (it != 0) { - val item = detailModel.artistList.value[it - 1] + val item = + detailModel.artistList.value.getOrElse(it - 1) { + return@setFullWidthLookup false + } item is Divider || item is Header } else { true diff --git a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt index 862d5d2ef..4ef67d581 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/GenreDetailFragment.kt @@ -94,7 +94,10 @@ class GenreDetailFragment : adapter = ConcatAdapter(genreHeaderAdapter, genreListAdapter) (layoutManager as GridLayoutManager).setFullWidthLookup { if (it != 0) { - val item = detailModel.genreList.value[it - 1] + val item = + detailModel.genreList.value.getOrElse(it - 1) { + return@setFullWidthLookup false + } item is Divider || item is Header } else { true diff --git a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt index 4bd406ed0..14ded5fa3 100644 --- a/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/detail/PlaylistDetailFragment.kt @@ -109,7 +109,10 @@ class PlaylistDetailFragment : } (layoutManager as GridLayoutManager).setFullWidthLookup { if (it != 0) { - val item = detailModel.playlistList.value[it - 1] + val item = + detailModel.playlistList.value.getOrElse(it - 1) { + return@setFullWidthLookup false + } item is Divider || item is Header } else { true diff --git a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt index 71a80eb62..a7b29b204 100644 --- a/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt +++ b/app/src/main/java/org/oxycblt/auxio/search/SearchFragment.kt @@ -110,7 +110,10 @@ class SearchFragment : ListFragment() { binding.searchRecycler.apply { adapter = searchAdapter (layoutManager as GridLayoutManager).setFullWidthLookup { - val item = searchModel.searchResults.value[it] + val item = + searchModel.searchResults.value.getOrElse(it) { + return@setFullWidthLookup false + } item is Divider || item is Header } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9ed57f931..0eca031c4 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -335,6 +335,7 @@ No track No songs No music playing + There\'s nothing here yet