У меня есть функция верхнего уровня, например
fun sendNotification(context:Context, data:Data) {
...//a lot of code here
}
Эта функция создает уведомления, иногда уведомление может содержать изображение, поэтому мне нужно его загрузить. Я использую Glide, который обернут поверх интерфейса ImageManager, поэтому мне нужно ввести его. Я использую Koin для DI, и проблема в том, что я не могу писать
val imageManager: ImageManager by inject()
где-то в моем коде, потому что нет чего-то, что реализует интерфейс KoinComponent.
Наиболее очевидное решение - передать уже введенный где-то еще imageManager
в качестве параметра функции, но я не хочу этого делать, потому что в большинстве случаев мне не нужен imageManager
: это зависит от типа параметра Data
.