Thank you @cb I have been referencing tivi code for a while now, unfortunately I found it very complex, using interactors and various abstraction layers for delivering the data from the repository to the UI.
However I did come away with the understanding that I should expose a PagingData flow rather then the paging source.
So in my simple implementation, I create the pager flow in the repository using a mediator and exposing the flow of paging data to the UI via the viewModel.
I would love it however if there would be some documentation on what are the roles of each component in the tivi code, since it seems very robust and effective, but I found it hard to wrap my head around the various levels of abstraction and the purpose of the interactors.
Thanks again for the tivi app code.
It is an amazing source of knowledge!.