Как настроить зависимость, которая зависит от элемента из другого модуля в hilt

#android #dependency-injection #dagger-hilt

Вопрос:

У меня есть такой модуль:

 @Module
@InstallIn(ViewModelComponent::class) // scope - ViewModel
object ViewModelsComponents {

 
    @Provides
    @ViewModelScoped
    fun provideMyRepo() =  MyRepo() /*<- database from another 
        module 
        needs to be 
        passed here*/

}
 

мой класс репо

 class MyRepo @Injected constructor(private val db: RoomDbClass){
......
}
 

Я проследил за документацией и выполнил три шага

  1. Интерфейс точки входа

    @Точка входа @Установка(синглетный компонент::класс) интерфейс DbDependency {

       fun provideDatabase () = RoomDbClass().instance
    }
     

2.Компонент Кинжала

 @Component(dependencies = [DbDependency ::class])
interface DBComponent {

  @Component.Builder
  interface Builder {
    fun context(@BindsInstance context: Context): Builder
    fun appDependencies(dbDependencies: DbDependency): Builder
    fun build(): DBComponent
  }
}
 

в документе показано, как ввести компонент в действие, которое
не является тем, что я ищу.

Как мне передать компонент dagger в мой модуль репо ??

Комментарии:

1. Вы пытаетесь ввести его в класс, который не относится к @HiltEntryPoint — отсюда и @EntryPoint?

2. Я новичок в hilt, поэтому я не уверен, о чем вы спрашиваете, я просто пытаюсь использовать зависимость в модуле, отличном от hilt, как сказано в документации, но в объекте, где модули определены, а не в действии, как сказано в документе