У меня есть класс, который я хочу внедрить, у которого есть конструктор, который получает один параметр (Context).
Я бы обычно связывал его с экземпляром, но у этого класса есть зависимости JNI, и я не могу создать его экземпляр с помощью Robolectric, что не позволяет мне тестировать часть приложения, когда модуль настроен.
Я установил его как привязку к классу и аннотировал целевой класс как синглтон, а также конструктор как инъекцию, но он не создает фабрику для него.
Я буду рад предоставить собственную фабрику, но я не могу найти ничего об этом в документации.
Это часть, когда я делаю переплет:
val module = Module()
module.bind(Interface::class.java).to(InterfaceImpl::class.java)
scope.installModules(module)
И вот как я настроил класс:
@Singleton
class InterfaceImpl : Interface {
@Inject
constructor(applicationContext: Context) {
[...]
}
}
Просто чтобы прояснить, если я использую toInstance, когда выполняю привязку, она работает.
val module = Module()
module.bind(Interface::class.java).toInstance(InterfaceImpl(context))
scope.installModules(module)
Как я могу заставить инжектор работать, чтобы связать его с классом?