Using Kodi's JSON RPC, Kodi may return less items than requested, even
if there are more items available. The old method of determining if
more items are available by checking if the amount of items returned
equals the amount requested does not work in these cases. Therefore,
we now use the returned List.LimitsReturned to determine if there are
more items available. If List.LimitsReturned.end equals
List.LimitesReturned.total we assume we retrieved all items.
When user enters a search query for a ListFragment the query will
now be restored on device configuration changes and when
ListFragment is restored from the backstack or in a ViewPager.
Refactored AbstractListFragment to make it more generic and allow it to be used by
MediaFileListFragment. This adds support for switching between a single- and multicolumn
view.
Created new abstract class AbstractCursorListFragment for list fragments using a cursoradapter.
* Refactored OnMovieSelectedListener interface to keep argument list small.
* Changed fragment transition animation to make shared element transition
smooth and nicely integrated with the whole scene animation.
Implemented binding to LibrarySyncService to check if there are items currently
syncing or queued to sync. This makes it possible to inform user of background
sync processes.
Created two abstract classes to reduce code duplication and check if
LibrarySyncService has any items queued which are currently being displayed.
Fixed issue with SwipeRefreshLayout from appcompat library, which does not
always show the refresh animation when refresh is set to true.