From 898d2b437bf3a1bbd750af53adb669dbe9fcedbc Mon Sep 17 00:00:00 2001 From: Ryan Harg 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 839f770..03e2c92 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() { + 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 afdfe42..956860d 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 66ea97a..95fe68a 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() { + 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 b6b29d5..11e3cd8 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() { + 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 8d57fa2..cb9dbf9 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() { + 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 049df34..499e799 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() { + 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 0000000..fda08e7 --- /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