- @ViewModelKey Dagger memungkinkan Anda untuk melakukan Injection pada banyak Object sekaligus dengan tipe yang sama. Caranya yaitu dengan memberikan Key pada ViewModel dan meng-inject-nya dalam bentuk Map. Map adalah sejenis Array yang menggunakan Key-Value. Ex : @ViewModelKey (ViewModelRegister::class)
- @IntoMap Anotasi tersebut digunakan untuk menandai ViewModel yang akan di-inject
- Generic View Model Factory, kode ini akan membaca setiap nilai dari Map dan Memeriksa apakah View Model tersebut sudah diinisialisasi atau belum. Jika belum maka ia akan membuat instance baru untuk provider ViewModel tersebut