From 0cbeacf9b2a14b7ec3a07672b4e66b1b80637c0c Mon Sep 17 00:00:00 2001 From: Zion Huang Date: Tue, 27 Aug 2024 21:45:30 +0800 Subject: [PATCH] fix(local playlist): batch delete --- .../music/ui/screens/playlist/LocalPlaylistScreen.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/zionhuang/music/ui/screens/playlist/LocalPlaylistScreen.kt b/app/src/main/java/com/zionhuang/music/ui/screens/playlist/LocalPlaylistScreen.kt index 2188c18c7..15db27f2f 100644 --- a/app/src/main/java/com/zionhuang/music/ui/screens/playlist/LocalPlaylistScreen.kt +++ b/app/src/main/java/com/zionhuang/music/ui/screens/playlist/LocalPlaylistScreen.kt @@ -516,12 +516,15 @@ fun LocalPlaylistScreen( val sel = selection.toList() val sortedSongs = songs.sortedBy { it.map.position } database.transaction { + val remainSongs = mutableListOf() sortedSongs.forEach { song -> if (song.map.id in sel) { delete(song.map) + } else { + remainSongs.add(song) } } - sortedSongs.forEachIndexed { index, song -> + remainSongs.forEachIndexed { index, song -> if (song.map.position != index) { update(song.map.copy(position = index)) }