Refactored MusicListFragment and PVRListFragment to use AbstractTabsFragment
Fixed scrolling in a nested scroll view using espresso
Fixed issue with setting and checking Kodi major version
As detailed in https://github.com/xbmc/xbmc/pull/13051, Kodi v18 changes the way album genres are handled, as the genre (by which i mean `genreId`) ceases to be available at the album level, being only available at the songs level.
This impacts Kore because `GetAlbums` and `GetAlbumDetails` won't return the `genreId` tag, from which the local AlbumGenres table was populated.
This PR changes the source of the local AlbumGenres table to be the `genreId` returned at the song level (by `GetSongs`), to make it somewhat more consistent with the way Kodi will handle things from now on.
* Added two abstract methods setSharedPreferences and
configureHostInfo to allow test classes extending
AbstractTestClass to set preferences or change the host info.
* Implemented a mock event server to test event server commands
* Implemented a handler to handle JSON input events over HTTP
* Added JSON datafiles for TV shows and music videos
* Implemented instrumentations tests for MoviesActivity, MusicActivity,
TVShowActivity, and AddonsActivity.
* Moved RestoreSearchQueryViewPagerTest to music package as it uses
the MusicActivity
* Moved RestoreSearchQueryListFragmentTest to movies packages as it
uses the MoviesActivity
* Added scripts to get JSON data for music videos, addons, and TV shows
* Added sequence diagram for BaseMediaActivity to clarify new setup
* Refactored BaseMediaActivity to comply with diagram
* Refactored SyncMusicVideos and SyncTVShows so we can use the same code
for adding test data as we use for adding real data.
* Removed unused StringBuffer and synchronize block in MockTcpServer
* Allow specifying HTTPS Hosts manually
This is not exposed in the UI, but on the manual host configuration screen, if the address starts with a "http://" or "https://" this will be stripped and the `isHttps` flag set appropriately.
Additionally, the port can be configured as part of the address as well.
Any port specified as part of the address takes precedence over the explicit HTTP port box, to allow easy copy-pasting of an entire URL for a host.
This enables using Kore with Kodi instances available though HTTPS (e.g. via a reverse proxy).
* Updated travis build to include running local tests for each PR
* Removed unused methods from Utils.java
* Moved all resources required by both local and instrumentation tests
to testUtils
* Added proguard rules for the test builds to prevent proguard from discarding
the junit classes