From a97c6e15e96d5dbd5ca3911098b3377ea406cf83 Mon Sep 17 00:00:00 2001 From: tzugen Date: Tue, 16 May 2023 09:59:20 +0200 Subject: [PATCH] Don't sort playlists even when Sort by Disc is activated --- .../fragment/legacy/PlaylistsFragment.kt | 15 +++++++------- .../ultrasonic/model/TrackCollectionModel.kt | 20 +++++++++---------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/legacy/PlaylistsFragment.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/legacy/PlaylistsFragment.kt index 3a077b45..ebffc3cc 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/legacy/PlaylistsFragment.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/fragment/legacy/PlaylistsFragment.kt @@ -29,7 +29,8 @@ import androidx.fragment.app.Fragment import androidx.navigation.fragment.findNavController import androidx.swiperefreshlayout.widget.SwipeRefreshLayout import java.util.Locale -import org.koin.java.KoinJavaComponent.inject +import org.koin.core.component.KoinComponent +import org.koin.core.component.inject import org.moire.ultrasonic.NavigationGraphDirections import org.moire.ultrasonic.R import org.moire.ultrasonic.api.subsonic.ApiNotSupportedException @@ -55,15 +56,13 @@ import org.moire.ultrasonic.util.Util.toast * * TODO: This file has been converted from Java, but not modernized yet. */ -class PlaylistsFragment : Fragment() { +class PlaylistsFragment : Fragment(), KoinComponent { private var refreshPlaylistsListView: SwipeRefreshLayout? = null private var playlistsListView: ListView? = null private var emptyTextView: View? = null private var playlistAdapter: ArrayAdapter? = null - private val downloadHandler = inject( - DownloadHandler::class.java - ) + private val downloadHandler by inject() private var cancellationToken: CancellationToken? = null @@ -148,7 +147,7 @@ class PlaylistsFragment : Fragment() { val playlist = playlistsListView!!.getItemAtPosition(info.position) as Playlist when (menuItem.itemId) { R.id.playlist_menu_pin -> { - downloadHandler.value.justDownload( + downloadHandler.justDownload( DownloadAction.PIN, fragment = this, id = playlist.id, @@ -158,7 +157,7 @@ class PlaylistsFragment : Fragment() { ) } R.id.playlist_menu_unpin -> { - downloadHandler.value.justDownload( + downloadHandler.justDownload( DownloadAction.UNPIN, fragment = this, id = playlist.id, @@ -168,7 +167,7 @@ class PlaylistsFragment : Fragment() { ) } R.id.playlist_menu_download -> { - downloadHandler.value.justDownload( + downloadHandler.justDownload( DownloadAction.DOWNLOAD, fragment = this, id = playlist.id, diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/model/TrackCollectionModel.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/model/TrackCollectionModel.kt index 8c2e65f9..252575f5 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/model/TrackCollectionModel.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/model/TrackCollectionModel.kt @@ -40,7 +40,7 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat val service = MusicServiceFactory.getMusicService() val musicDirectory = service.getMusicDirectory(id, name, refresh) - + currentListIsSortable = true updateList(musicDirectory) } } @@ -51,7 +51,7 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat val service = MusicServiceFactory.getMusicService() val musicDirectory: MusicDirectory = service.getAlbumAsDir(id, name, refresh) - + currentListIsSortable = true updateList(musicDirectory) } } @@ -60,6 +60,7 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat withContext(Dispatchers.IO) { val service = MusicServiceFactory.getMusicService() val musicDirectory = service.getSongsByGenre(genre, count, offset) + currentListIsSortable = false updateList(musicDirectory, append) } } @@ -76,7 +77,7 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat } else { Util.getSongsFromSearchResult(service.getStarred()) } - + currentListIsSortable = false updateList(musicDirectory) } } @@ -87,8 +88,8 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat withContext(Dispatchers.IO) { val service = MusicServiceFactory.getMusicService() val videos = service.getVideos(refresh) - if (videos != null) { + currentListIsSortable = false updateList(videos) } } @@ -99,19 +100,16 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat withContext(Dispatchers.IO) { val service = MusicServiceFactory.getMusicService() val musicDirectory = service.getRandomSongs(size) - currentListIsSortable = false - updateList(musicDirectory, append) } } suspend fun getPlaylist(playlistId: String, playlistName: String) { - withContext(Dispatchers.IO) { val service = MusicServiceFactory.getMusicService() val musicDirectory = service.getPlaylist(playlistId, playlistName) - + currentListIsSortable = false updateList(musicDirectory) } } @@ -121,8 +119,8 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat withContext(Dispatchers.IO) { val service = MusicServiceFactory.getMusicService() val musicDirectory = service.getPodcastEpisodes(podcastChannelId) - if (musicDirectory != null) { + currentListIsSortable = false updateList(musicDirectory) } } @@ -144,7 +142,7 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat break } } - + currentListIsSortable = false updateList(musicDirectory) } } @@ -153,7 +151,7 @@ class TrackCollectionModel(application: Application) : GenericListModel(applicat withContext(Dispatchers.IO) { val service = MusicServiceFactory.getMusicService() val musicDirectory = Util.getSongsFromBookmarks(service.getBookmarks()) - + currentListIsSortable = false updateList(musicDirectory) } }