nikclayton/android-squeezer — pull request #16 by kaaholst (2014-04-06 11:02:29+00:00)
Title: Develop

# Song grid
Implemented an optional grid view in the songs list

# Download
Do not use AIDL for the service as recommended here and here

Refactored to be able to distingush replies for items for download and items for display. Register the callback in the request instead in onResume, and use the correlation id from request to correctly correlate the replies. Also use this correlation id to cancel requests when a client unregisters.

Download manager has some issues. Not all file/folder names are so we use an sqlite database to store the current downloads, see the commit and commit comments for details. Also the download UI doesn't handle it well when many download are active, so the Squeezer downloads are not visible in the download UI.

There are still some issues with the download manager when many downloads are pending. The downloads are there, but the notification is not shown. For users who have their LMS on a private networks, there is also the problem that downloads will not be able to comlete, when not an that specific network. But download manager does not know that, so it keeps trying, eventually draining the battery. This is happens at least when there are many active downloads. To fix those issues we could utilize the fact, that we have a database with the requested downloads, so instead of passing them all to the dowload manager straight away, pass them sequentially to the download manager, passing the next one when a download completes.

# Player selection - fixed issue #53
- fix bug when first player is selected
- Add player drop down to action bar (also parse player notifications)