Android MVVM + Dagger 2 (Hilt) + JetPack project template
Template includes basic implementation for a launch screen, a home screen, an authentication screen and a profile screen. Authentication is implemented using OAuth2 and automatically refresh token when a 401 HTTP exception is thrown.
Also features : - An AlertDialog implementation using DialogFragment that survive state lost and returns actions/results using setFragmentResultListener API. Some kotlin extensions are available to make results even straightforward. - Some utilities. - Base classes for Adapter/ListAdapter and ViewHolder. - Dynamic retrofit url to handle multiple server url (production, pre production, etc...), selector screen/dialog for server not implemented here though. - Structured values resources files as recommended(themes, styles, shapes, types). - Gradle kotlin DSL.
Package structure is inspired from this reading.