Fix session time using milliseconds instead of seconds

This commit is contained in:
ronaldheft 2022-08-23 17:13:43 -04:00
parent 15cdff5aa2
commit 6a885b7241

View file

@ -49,16 +49,18 @@ class PlayerProgress {
guard let session = PlayerHandler.getPlaybackSession() else { return nil }
guard !currentTime.isNaN else { return nil } // Prevent bad data on player stop
let now = Date().timeIntervalSince1970 * 1000
let lastUpdate = session.updatedAt ?? now
let timeSinceLastUpdate = now - lastUpdate
let nowInSeconds = Date().timeIntervalSince1970
let nowInMilliseconds = nowInSeconds * 1000
let lastUpdateInMilliseconds = session.updatedAt ?? nowInMilliseconds
let lastUpdateInSeconds = lastUpdateInMilliseconds / 1000
let secondsSinceLastUpdate = nowInSeconds - lastUpdateInSeconds
session.update {
session.currentTime = currentTime
session.updatedAt = now
session.updatedAt = nowInMilliseconds
if includesPlayProgress {
session.timeListening += timeSinceLastUpdate
session.timeListening += secondsSinceLastUpdate
}
}