This is a nice example of the mvvn (Model View ViewModel) pattern implemented in android. It uses databinding to remove all need for the dreaded findViewById. Also uses retrofit for api calls. I think it can be easily adapted to use dagger also.

Archi App Github