Есть ли способ заменить крепление кинжалом? - PullRequest
0 голосов
/ 24 января 2019

Если я использую кинжал, как я могу заменить привязки, предоставленные sdk для интерфейса

Пример:

interface Dependency {}
class DefaultSDKDependencyImpl implements Dependency{}

@Module
class sdkModule1 {
  @Binds dependency bindsDependency(DefaultSDKDependencyImpl x);
}

@Componet
sdkComponent(includes = {sdkmodule1, sdkmodule2}) {}

Если привязка для интерфейса зависимости уже существует, компонент SDK, как я могу заменить его на CustomDependencyImpl?

Опции, которые я знал:

1) Расширение sdkmodule1 (не рекомендуется документацией https://google.github.io/dagger/testing)

2) Создание пользовательского компонента без включения sdkmodule на стороне клиента, этот подход может не сработать для нас, поскольку sdk мог бы включать этот модуль в другие зависимости модуля, такие как

@Module(includes=sdkmodule1)
sdkmodule2 {}

Есть ли какое-то решение для этого?

...