Мой репозиторий проходит в Комнате Постоянства lib. Дао объект как зависимость. Проблема в том, что Дао - это интерфейс. Самым последним предложением Google является следующее:
// Tells Dagger this is a Dagger module
// Because of @Binds, StorageModule needs to be an abstract class
@Module
abstract class StorageModule {
// Makes Dagger provide SharedPreferencesStorage when a Storage type is requested
@Binds
abstract fun provideStorage(storage: SharedPreferencesStorage): Storage
}
В приведенном выше примере SharedPreferencesStorage
- созданная пользователем реализация интерфейса, Storage
. Проблема с зависимостями Room dao состоит в том, что реализация генерируется библиотекой, подобной roomDatabase.getDatabase(context).myDao()
. В последней версии Dagger, похоже, не используется старый способ передачи зависимостей компонентов через конструктор модуля. Есть ли способ сделать это, используя @Subcomponent.Factory
или @Component.Factory
, или это «старый» способ сделать это только для комнатных дао-зависимостей?