This blog on "Clean Architecture" describes how to build a modular Android application along with using Clean Architecture.
In that example project, the author places the business logic in a separate 'core' module and that module is framework independent. It contains repository classes, use-case classes, and data-source interfaces. All the other framework dependent components go in the 'app' module.
Android Paging library treats its PagingSource
class as a repo level component. Even RoomDao
classes have ability to directly return an instance of PagingSource
. In this case, we used to return Flow<PagingData>
from the repo methods. But now, we can't have PagingData
in repo class.
So, how to integrate AndroidX "Paging-3" in an app built inline with "Clean Architecture"?