Based on official taking advantage of kotlin codelab
Steps:
- ContactsAdapter
- visibility modifiers
- properties
- constructor
- val Vs var
- single line methods
- [] and +=
- Contact
- data classes
- Parcelize annotation
- ContactViewHolder
- init/join declaration and assignment
- Contact?
- lambdas
- string templates
- ContactDetailDialog
- companion object
- @JVMStatic
- default parameters
- lateinit
- ? ?: !!
- extension methods
- longToast
- apply/let
- ContactsActivity
- when
- Android extensions to avoid findViewById
- ContactsRepository
- use
- delegates