Handle server success

This commit is contained in:
ronaldheft
2022-08-16 21:36:09 -04:00
parent 10f2da9e90
commit ec4647e2bc
2 changed files with 15 additions and 3 deletions
+13 -1
View File
@@ -261,7 +261,8 @@ class PlayerHandler {
for session in realm.objects(PlaybackSession.self).where({ $0.serverConnectionConfigId == Store.serverConfig?.id }) {
NSLog("Sending sessionId(\(session.id)) to server")
let sessionRef = ThreadSafeReference(to: session)
ApiClient.reportLocalPlaybackProgress(session.freeze()) { success in
func handleSuccess(_ success: Bool) {
// Remove old sessions after they synced with the server
let session = try! Realm().resolve(sessionRef)
if success && !(session?.isActiveSession ?? false) {
@@ -269,6 +270,17 @@ class PlayerHandler {
session?.delete()
}
}
if session.isLocal {
ApiClient.reportLocalPlaybackProgress(session.freeze()) { success in
handleSuccess(success)
}
} else {
let playbackReport = PlaybackReport(currentTime: session.currentTime, duration: session.duration, timeListened: session.timeListening)
ApiClient.reportPlaybackProgress(report: playbackReport, sessionId: session.id) { success in
handleSuccess(success)
}
}
}
}
}