@Target(value=TYPE)
 @Retention(value=CLASS)
public @interface HiltViewModel
ViewModel for construction injection.
 The ViewModel annotated with HiltViewModel will be available for creation by
 the dagger.hilt.android.lifecycle.HiltViewModelFactory and can be retrieved by default in
 an Activity or Fragment annotated with AndroidEntryPoint. The HiltViewModel containing a constructor
 annotated with Inject will have its dependencies defined in the constructor
 parameters injected by Dagger's Hilt.
 
Example:
 @HiltViewModel
 public class DonutViewModel extends ViewModel {
     @Inject
     public DonutViewModel(SavedStateHandle handle, RecipeRepository repository) {
         // ...
     }
 }
 
 
 @AndroidEntryPoint
 public class CookingActivity extends AppCompatActivity {
     public void onCreate(Bundle savedInstanceState) {
         DonutViewModel vm = new ViewModelProvider(this).get(DonutViewModel.class);
     }
 }
 
 Exactly one constructor in the ViewModel must be annotated with Inject.
 
Only dependencies available in the ViewModelComponent
 can be injected into the ViewModel.
 
ViewModelComponent