From 13028e41c7c9f7d1df649ca4755f68cdd67b867a Mon Sep 17 00:00:00 2001 From: vfsfitvnm Date: Mon, 3 Oct 2022 18:30:41 +0200 Subject: [PATCH] Workaround exoplayer bug --- .../vfsfitvnm/vimusic/service/PlayerService.kt | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt b/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt index 3a444fc..3c81098 100644 --- a/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt +++ b/app/src/main/kotlin/it/vfsfitvnm/vimusic/service/PlayerService.kt @@ -104,6 +104,7 @@ import kotlinx.coroutines.Job import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.cancellable import kotlinx.coroutines.flow.distinctUntilChanged +import kotlinx.coroutines.flow.first import kotlinx.coroutines.launch import kotlinx.coroutines.plus import kotlinx.coroutines.runBlocking @@ -297,13 +298,16 @@ class PlayerService : InvincibleService(), Player.Listener, PlaybackStatsListene if (totalPlayTimeMs > 30000) { query { - Database.insert( - Event( - songId = mediaItem.mediaId, - timestamp = System.currentTimeMillis(), - playTime = totalPlayTimeMs + // THANKS, EXOPLAYER + if (runBlocking { Database.song(mediaItem.mediaId).first() } != null) { + Database.insert( + Event( + songId = mediaItem.mediaId, + timestamp = System.currentTimeMillis(), + playTime = totalPlayTimeMs + ) ) - ) + } } } }