[Android] Persist and restore the album/song screen tab

Nicolas Pomepuy git at videolan.org
Mon Jan 27 14:52:57 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Mon Jan 27 14:52:37 2025 +0100| [a77d6ea5c2ba1e802e103db0b726138affc692d1] | committer: Nicolas Pomepuy

Persist and restore the album/song screen tab

Fixes #3133

> https://code.videolan.org/videolan/vlc-android/commit/a77d6ea5c2ba1e802e103db0b726138affc692d1
---

 .../resources/src/main/java/org/videolan/resources/Constants.kt      | 1 +
 .../src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt       | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/application/resources/src/main/java/org/videolan/resources/Constants.kt b/application/resources/src/main/java/org/videolan/resources/Constants.kt
index 479d72d8dd..75b32e289a 100644
--- a/application/resources/src/main/java/org/videolan/resources/Constants.kt
+++ b/application/resources/src/main/java/org/videolan/resources/Constants.kt
@@ -124,6 +124,7 @@ const val KEY_MRL = "mrl"
 
 // AUDIO category
 const val KEY_AUDIO_CURRENT_TAB = "key_audio_current_tab"
+const val KEY_AUDIO_ALBUM_SONG_CURRENT_TAB = "key_audio_album_song_current_tab"
 
 // Playback settings category
 const val KEY_AUDIO_LAST_PLAYLIST = "audio_list"
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt
index 302e91160b..c74e045e3e 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/audio/AudioAlbumsSongsFragment.kt
@@ -41,6 +41,8 @@ import org.videolan.medialibrary.interfaces.Medialibrary
 import org.videolan.medialibrary.interfaces.media.Album
 import org.videolan.medialibrary.interfaces.media.MediaWrapper
 import org.videolan.medialibrary.media.MediaLibraryItem
+import org.videolan.resources.KEY_AUDIO_ALBUM_SONG_CURRENT_TAB
+import org.videolan.resources.KEY_AUDIO_CURRENT_TAB
 import org.videolan.resources.util.parcelable
 import org.videolan.tools.*
 import org.videolan.vlc.R
@@ -170,6 +172,8 @@ class AudioAlbumsSongsFragment : BaseAudioBrowser<AlbumSongsViewModel>(), SwipeR
         viewModel.tracksProvider.liveHeaders.observe(viewLifecycleOwner) {
             lists[1].invalidateItemDecorations()
         }
+
+        currentTab = Settings.getInstance(requireActivity()).getInt(KEY_AUDIO_ALBUM_SONG_CURRENT_TAB, 0)
     }
 
     override fun sortBy(sort: Int) {
@@ -310,6 +314,7 @@ class AudioAlbumsSongsFragment : BaseAudioBrowser<AlbumSongsViewModel>(), SwipeR
 
     override fun onTabSelected(tab: TabLayout.Tab) {
         super.onTabSelected(tab)
+        Settings.getInstance(requireActivity()).putSingle(KEY_AUDIO_ALBUM_SONG_CURRENT_TAB, tab.position)
         fastScroller.setRecyclerView(lists[tab.position], viewModel.providers[tab.position])
         activity?.invalidateOptionsMenu()
     }



More information about the Android mailing list