WIP: Download progress in main UI

Summary

WIP Implementation of #592 (closed).

This WIP branch puts currently downloading apps in the "Installed" tab of the main app list. As part of this, it:

  • Removed the count of installed apps from the tab label.
  • Instead shows the number of downloading apps.
  • Ensures the apps which are currently in the install queue are at the top of the list of installing apps.
  • Displays a separator between the installing apps and the installed apps.

TODO

In general, it has the shape that I want to achieve going forward. There are a few things I still need to do:

  • Right now, the layout.xml file is only up to date for v21. Once I/we settle on a suitable UI, then I'll bring the other layout.xml up to scratch too.
  • Only apps currently in the queue are displayed. Once the download finishes and the "Tap to Install" notification is added, they are no longer in the queue, and thus no longer in the Installed tab.
  • I think the "Downloading..." button is overkill. I had it there because at first, I imagined it working like the button in the AppDetails activity (i.e. disabled with "Downloading..." or enabled with "Install"). Instead, I think I'll make the progress bar go all the way along from left to right, and then replace the "Status" text view (i.e. the one which shows the app version) will say "Downloading...". Once downloaded, the button will then be shown with "Installed".
  • The progress bar is not actually hooked up to the broadcasts yet, it is only showing an indeterminate progress bar for each apk.

Screenshots

Here is the installed list without any downloads in the queue. Note how it no longer shows how many apps are installed in the tab title.

installed-list.normal

These screenshots show the pending downloads. Note how they are all at the top of the list, how there is a separator between the downloading apps and the installed apps, and how it is not a fixed header, but rather scrolls with the rest of the apps.

installed-list.downloading

installed-list.downloading.scrolled