Added isVideo and isAudio methods to Track. Updated StatusContentHandler to notify of vlc streams
Added Episode class and EpisodeParser to parse episode information from a filename. Added a StringUtil for toTitleCase method
added formatMatch method to avoid repeating code
Moved formatMatch into StringUtil
Added a Movie class to store Movie information. Added MovieParser to parse filenames into Movies. Added MediaDisplayInfo interface to provide a common way for media (music, tv, movies) to be displayed to the user.
Implemented the MediaDisplayInfo interface for music in Track, and for TV shows in Episode
Updated InfoFragment to use the MediaDisplayInfo interface and parse Episode/Movie file names
Updated InfoFragment to use store the current playing item, and compare against this onStatusChange. This stop parsing on every status change, and instead only parses when the current playing file changes.
Added VideoSources class to format a video source to a consistent value because the source often varies in case.
Added UNKNOWN_YEAR constant for Movie. Added some comments
Added more regular expressions for the movie parser
Replaced boolean mIsVideo variable from Track with a stream bitmask. This allows for a Subtitle stream to be used because the stream is no longer video or default audio. It now defaults to UNKNOWN_STREAM. Added a containsStream method that checks if any type of stream has been added. This is useful because its possible for VLC to return a status change without any stream information, either by error or possibly because the metadata hasn't loaded yet. Cleaned up InfoFragment logic for handling null files and fixed crashing due to missing return statement.
Updated the first display text to display the year, quality and source and leave the second display text blank which can used for the filename