Radios are unreliable when network isn't 100% available
Describe the bug
I took some days off, traveling in car in France, and saw that Otter's radios are not very reliable in such situation. There are several problems, but all are linked to the fact that network could go down / up while driving outside of big cities.
-
If the network drops while a track is currently being downloaded, the track will be truncated. No matter if network comes back up a few sec later, even if I choose next/previous, the truncated track will stay truncated, otter will not download the missing part
-
As with radios, tracks are "loaded" when needed, if the network goes down at the moment otter tries to load the next one, it'll fail. And instead of trying again later (it should probably try indefinitely, or at least several times, maybe react when network is available again), Otter just stops here. The radio won't load tracks anymore. Sometimes, Otter doesn't even allow to restart the radio when network is up again. I have to kill the app and start it again
-
Tracks are downloaded only 1 at a time. To be more robust to short network drops, it should always try to load the next 3 (or maybe even 5 ?) tracks into the current playlist and download them immediatly, so they are available for local playback. This way we would have a few minutes of locally cached music, and can tolerate network drops, without music being stopped.
All this only happened to me while driving, where network isn't very reliable. But it's probably a common usage, and the current problems make Otter difficult to use.
How to reproduce
- Start to play a radio
- Drive in a car or turn your WiFi on/off a few times to simulate short network drops
- The radio should quickly stop playing
Expected behavior
Otter should try to cache more tracks so it can tolerate short network outages. It should also handle partially downloaded tracks (resume, or restart downloading them)
Environment details
- Device: Tested with a Nokia 8.1 and a Samsung S 9
- Android version: 10
- App version: Latest one, 0.21.2
Logs
Not collected. The app doesn't crash, so I don't know if logs would be relevant