This sample application gives an example of using a generic RecylerView adapter which can be used by multiple RecylerViews from different fragments.
This helps in reducing boiler-plate code and removing all the business logic out of the RV adapter and pushing it into the ViewModel.
Check out this article which explains this functionality in detail