From 898d2b437bf3a1bbd750af53adb669dbe9fcedbc Mon Sep 17 00:00:00 2001 From: Ryan Harg <ryan.harg@mailbox.org> Date: Fri, 10 Sep 2021 09:44:36 +0200 Subject: [PATCH] #95: Remember scroll positions in list views --- .../main/java/audio/funkwhale/ffa/adapters/AlbumsAdapter.kt | 4 ++++ .../main/java/audio/funkwhale/ffa/adapters/ArtistsAdapter.kt | 2 ++ .../java/audio/funkwhale/ffa/adapters/FavoritesAdapter.kt | 4 ++++ .../java/audio/funkwhale/ffa/adapters/PlaylistsAdapter.kt | 4 ++++ .../main/java/audio/funkwhale/ffa/adapters/RadiosAdapter.kt | 4 ++++ .../main/java/audio/funkwhale/ffa/adapters/TracksAdapter.kt | 4 ++++ changes/changelog.d/95.bugfix | 1 + 7 files changed, 23 insertions(+) create mode 100644 changes/changelog.d/95.bugfix diff --git a/app/src/main/java/audio/funkwhale/ffa/adapters/AlbumsAdapter.kt b/app/src/main/java/audio/funkwhale/ffa/adapters/AlbumsAdapter.kt index 839f7706..03e2c92f 100644 --- a/app/src/main/java/audio/funkwhale/ffa/adapters/AlbumsAdapter.kt +++ b/app/src/main/java/audio/funkwhale/ffa/adapters/AlbumsAdapter.kt @@ -19,6 +19,10 @@ class AlbumsAdapter( private val listener: OnAlbumClickListener ) : FFAAdapter<Album, AlbumsAdapter.ViewHolder>() { + init { + this.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY + } + interface OnAlbumClickListener { fun onClick(view: View?, album: Album) } diff --git a/app/src/main/java/audio/funkwhale/ffa/adapters/ArtistsAdapter.kt b/app/src/main/java/audio/funkwhale/ffa/adapters/ArtistsAdapter.kt index afdfe42b..956860db 100644 --- a/app/src/main/java/audio/funkwhale/ffa/adapters/ArtistsAdapter.kt +++ b/app/src/main/java/audio/funkwhale/ffa/adapters/ArtistsAdapter.kt @@ -42,6 +42,8 @@ class ArtistsAdapter( super.onItemRangeInserted(positionStart, itemCount) } }) + + this.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY } override fun getItemCount() = active.size diff --git a/app/src/main/java/audio/funkwhale/ffa/adapters/FavoritesAdapter.kt b/app/src/main/java/audio/funkwhale/ffa/adapters/FavoritesAdapter.kt index 66ea97a1..95fe68ab 100644 --- a/app/src/main/java/audio/funkwhale/ffa/adapters/FavoritesAdapter.kt +++ b/app/src/main/java/audio/funkwhale/ffa/adapters/FavoritesAdapter.kt @@ -30,6 +30,10 @@ class FavoritesAdapter( val fromQueue: Boolean = false ) : FFAAdapter<Track, FavoritesAdapter.ViewHolder>() { + init { + this.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY + } + interface OnFavoriteListener { fun onToggleFavorite(id: Int, state: Boolean) } diff --git a/app/src/main/java/audio/funkwhale/ffa/adapters/PlaylistsAdapter.kt b/app/src/main/java/audio/funkwhale/ffa/adapters/PlaylistsAdapter.kt index b6b29d51..11e3cd81 100644 --- a/app/src/main/java/audio/funkwhale/ffa/adapters/PlaylistsAdapter.kt +++ b/app/src/main/java/audio/funkwhale/ffa/adapters/PlaylistsAdapter.kt @@ -20,6 +20,10 @@ class PlaylistsAdapter( private val listener: OnPlaylistClickListener ) : FFAAdapter<Playlist, PlaylistsAdapter.ViewHolder>() { + init { + this.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY + } + interface OnPlaylistClickListener { fun onClick(holder: View?, playlist: Playlist) } diff --git a/app/src/main/java/audio/funkwhale/ffa/adapters/RadiosAdapter.kt b/app/src/main/java/audio/funkwhale/ffa/adapters/RadiosAdapter.kt index 8d57fa2a..cb9dbf91 100644 --- a/app/src/main/java/audio/funkwhale/ffa/adapters/RadiosAdapter.kt +++ b/app/src/main/java/audio/funkwhale/ffa/adapters/RadiosAdapter.kt @@ -27,6 +27,10 @@ class RadiosAdapter( private val listener: OnRadioClickListener ) : FFAAdapter<Radio, RadiosAdapter.ViewHolder>() { + init { + this.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY + } + interface OnRadioClickListener { fun onClick(holder: RowRadioViewHolder, radio: Radio) } diff --git a/app/src/main/java/audio/funkwhale/ffa/adapters/TracksAdapter.kt b/app/src/main/java/audio/funkwhale/ffa/adapters/TracksAdapter.kt index 049df34d..499e7996 100644 --- a/app/src/main/java/audio/funkwhale/ffa/adapters/TracksAdapter.kt +++ b/app/src/main/java/audio/funkwhale/ffa/adapters/TracksAdapter.kt @@ -35,6 +35,10 @@ class TracksAdapter( val fromQueue: Boolean = false ) : FFAAdapter<Track, TracksAdapter.ViewHolder>() { + init { + this.stateRestorationPolicy = StateRestorationPolicy.PREVENT_WHEN_EMPTY + } + interface OnFavoriteListener { fun onToggleFavorite(id: Int, state: Boolean) } diff --git a/changes/changelog.d/95.bugfix b/changes/changelog.d/95.bugfix new file mode 100644 index 00000000..fda08e77 --- /dev/null +++ b/changes/changelog.d/95.bugfix @@ -0,0 +1 @@ +Remember scroll positions in list views (Artists/Albums/...) (#95) \ No newline at end of file -- GitLab