Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves #404. The issue seems to be that the server expects that when syncing an open (streamed) session, the attribute
timeListened
to be time since the last sync to the server (as per the API docs). But the app uses that logic to store timeListened offline as well, so updates it cumulatively and sends that to the server where the time is compounded. This explains why the listening sessions seemed only slightly off for a few seconds of listening, but exponentially huge (thousands of hours) for longer streamed listens. This PR just adds a bit of logic to reset that timeListening attribute each time there is a server sync when the book is being streamed. I did some testing both with downloaded and local books and the listening time now seems to be reported accurately.