From 3de80dacdd5e393ec37226fbb57cb480ad182b02 Mon Sep 17 00:00:00 2001 From: austinried <4966622+austinried@users.noreply.github.com> Date: Thu, 12 Nov 2026 14:35:38 +0000 Subject: [PATCH] sync: reuse playlist song deletion helper --- .../com/subtracks/data/sync/SyncService.kt | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/app/src/main/kotlin/com/subtracks/data/sync/SyncService.kt b/app/src/main/kotlin/com/subtracks/data/sync/SyncService.kt index 337c9125..11d927be 100644 --- a/app/src/main/kotlin/com/subtracks/data/sync/SyncService.kt +++ b/app/src/main/kotlin/com/subtracks/data/sync/SyncService.kt @@ -394,15 +394,6 @@ class SyncService( return value } - private suspend fun PooledConnection.changes(): Long { - var value = 0L - usePrepared("SELECT changes()") { statement -> - statement.step() - value = statement.getLong(0) - } - return value - } - private suspend fun PooledConnection.markCreditsStale(sourceId: Long) { usePrepared("UPDATE sources SET creditsStale = 1 WHERE id = ? AND creditsStale = 0") { statement -> statement.bindLong(1, sourceId) @@ -520,15 +511,9 @@ class SyncService( commitOrigins { db.useWriterConnection { connection -> connection.immediateTransaction { - connection.usePrepared( - "DELETE FROM playlist_songs WHERE sourceId = ? AND playlistId = ? AND position >= ?", - ) { statement -> - statement.bindLong(1, source.id) - statement.bindText(2, playlistId) - statement.bindLong(3, position) - statement.step() - } - val changed = connection.changes() > 0 + val before = connection.totalChanges() + db.libraryDao().deletePlaylistSongsFrom(source.id, playlistId, position) + val changed = connection.totalChanges() != before if (changed) { changedOrigins += origin(QueueKind.Playlist, playlistId) connection.persistPendingOrigins()