diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PlaylistFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PlaylistFragment.kt index ba433563..c4b55e6f 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PlaylistFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PlaylistFragment.kt @@ -170,7 +170,14 @@ class PlaylistFragment : MainFragment() { } private fun copyPlaylist(playlist: Playlist) { - StatePlaylists.instance.playlistStore.save(playlist.makeCopy()) + var copyNumber = 1 + var newName = "${playlist.name} (Copy)" + val playlists = StatePlaylists.instance.playlistStore.getItems() + while (playlists.any { it.name == newName }) { + copyNumber += 1 + newName = "${playlist.name} (Copy $copyNumber)" + } + StatePlaylists.instance.playlistStore.save(playlist.makeCopy(newName)) UIDialogs.toast("Playlist copied") } diff --git a/app/src/main/java/com/futo/platformplayer/models/Playlist.kt b/app/src/main/java/com/futo/platformplayer/models/Playlist.kt index d6bca755..9862e675 100644 --- a/app/src/main/java/com/futo/platformplayer/models/Playlist.kt +++ b/app/src/main/java/com/futo/platformplayer/models/Playlist.kt @@ -35,8 +35,8 @@ class Playlist { this.videos = ArrayList(list); } - fun makeCopy(): Playlist { - return Playlist("$name (Copy)", videos) + fun makeCopy(newName: String? = null): Playlist { + return Playlist(newName ?: name, videos) } companion object {