diff --git a/musikr/src/main/java/org/oxycblt/musikr/model/LibraryImpl.kt b/musikr/src/main/java/org/oxycblt/musikr/model/LibraryImpl.kt index 6dc91a392..bcf8c6d07 100644 --- a/musikr/src/main/java/org/oxycblt/musikr/model/LibraryImpl.kt +++ b/musikr/src/main/java/org/oxycblt/musikr/model/LibraryImpl.kt @@ -89,7 +89,13 @@ internal data class LibraryImpl( } override suspend fun rewritePlaylist(playlist: Playlist, songs: List): MutableLibrary { - return this + val playlistImpl = requireNotNull(playlistUidMap[playlist.uid]) { + "Playlist to rewrite is not in this library" + } + playlistImpl.core.prePlaylist.handle.rewrite(songs) + val core = NewPlaylistCore(playlistImpl.core.prePlaylist, songs) + val newPlaylist = PlaylistImpl(core) + return copy(playlists = playlists - playlistImpl + newPlaylist) } override suspend fun deletePlaylist(playlist: Playlist): MutableLibrary {