Updated PlaylistItem interface (and usages) to rename getText methods getHeading and getText. Playlist no longer implements PlaylistItem, and removed unused variable mFlatten from PlaylistContentHandler.
Updated PlaylistItem interface (and usages) to extract the display playlist info methods into a parent interface that allows other classes to implement the data showed to the user.
Decode URI before adding to Track
Reverted from using PlaylistDisplayItem to using an abstract Media class that implements PlaylistItem. Track, Episode and Movie now all extend Media. Added Uri field to PlaylistItem
Added ViewHolder to PlaylistAdapter to minimise calls to findViewById
Updated PlaylistAdapter to parse the track for TV Episode or a Movie. Updated Track with a flag to specify whether the instance has been parsed.
Fixed the Status being passed to receivers being null due to not implementing Serializable on all the classes Status depends on. Track is Serializable but Media was not.
Updated Widget to use same two lined display as the playlist.
Removed "Show file names" preference. Replaced with an option to disable parsing media information from the playlist to allow for smoother scrolling if parsing isn't wanted
Changed PlaylistAdapter to hide duplicate text if the heading and text are the same
Instead of Track, Episode and Movie each implementing MediaDisplayInfo. It is now declared from the abstract parent class Media but implementation is still left to each child.
Added MediaParser that attempts to parse Media items from a file path.