From 3cf8abd409f4b89981d0a2c57a5820362ae80c6f Mon Sep 17 00:00:00 2001 From: Kelvin Date: Tue, 6 May 2025 13:23:00 +0200 Subject: [PATCH] Fix racecondition watchlater adds --- app/src/main/java/com/futo/platformplayer/states/StateSync.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/states/StateSync.kt b/app/src/main/java/com/futo/platformplayer/states/StateSync.kt index 2b7559c9..ae72b57e 100644 --- a/app/src/main/java/com/futo/platformplayer/states/StateSync.kt +++ b/app/src/main/java/com/futo/platformplayer/states/StateSync.kt @@ -772,8 +772,8 @@ class StateSync { for(video in pack.videos) { val existing = allExisting.firstOrNull { it.url == video.url }; val time = if(pack.videoAdds != null && pack.videoAdds.containsKey(video.url)) OffsetDateTime.ofInstant(Instant.ofEpochSecond(pack.videoAdds[video.url] ?: 0), ZoneOffset.UTC) else OffsetDateTime.MIN; - - if(existing == null) { + val removalTime = StatePlaylists.instance.getWatchLaterRemovalTime(video.url) ?: OffsetDateTime.MIN; + if(existing == null && time > removalTime) { StatePlaylists.instance.addToWatchLater(video, false); if(time > OffsetDateTime.MIN) StatePlaylists.instance.setWatchLaterAddTime(video.url, time);