Hilt: add small migration guide
This commit is contained in:
parent
b6501ce7b2
commit
d89264ff77
|
@ -0,0 +1,33 @@
|
|||
Useful links:
|
||||
- https://dagger.dev/hilt/migration-guide
|
||||
- https://dagger.dev/hilt/quick-start
|
||||
|
||||
Hilt is built on top of Dagger 2 and simplify usage by removing needs to create components manually.
|
||||
|
||||
When you create a new feature, you should have the following:
|
||||
|
||||
Annotate your Activity with @AndroidEntryPoint
|
||||
If you have a BottomSheetFragment => Annotate it with @AndroidEntryPoint
|
||||
Otherwise => Add your Fragment to the FragmentModule
|
||||
Add your ViewModel.Factory to the MavericksViewModelModule
|
||||
Makes sure your ViewModel as the following code:
|
||||
|
||||
```
|
||||
@AssistedFactory
|
||||
interface Factory: MavericksAssistedViewModelFactory<MyViewModel, MyViewState> {
|
||||
override fun create(initialState: MyViewState): MyViewModel
|
||||
}
|
||||
|
||||
companion object : MavericksViewModelFactory<MyViewModel, MyViewState> by hiltMavericksViewModelFactory()
|
||||
```
|
||||
|
||||
## Some remarks
|
||||
|
||||
@MavericksViewModelScope dependencies can't be injected inside Fragments/Activities
|
||||
You can only inject @Singleton, @MavericksViewModelScope or unscoped dependencies inside Maverick ViewModels
|
||||
You can access some specific dependencies from Singleton component by using
|
||||
```
|
||||
context.singletonEntryPoint()
|
||||
```
|
||||
Be aware that only the app has been migrated to Hilt and not the SDK.
|
||||
|
Loading…
Reference in New Issue