о приложении естественно ничего не знает, но хочет работать в зависимости от конфига из приложения и при изменении конфига на лету их подхватывать. Задача обязать приложении мне сообщать о новых конфигах. Стать просто слушателем? так могут запросто не впихнуть мой экземпляр в точки откуда мне будут посылать изменения. Нужно именно обязать это делать. Значит в конструктор экземпляра библиотеки прошу слушатель (интерфейс лежит в либе), который теперь уже кому-то придется реализовать. И библиотека при инициализации в этот слушатель прокинет себя и будет ждать обновлений, которые все равно могут не прийти по халатности разработчика, но вероятность уже ниже.
Такой механизм используется в пос системах, для изменениЯ функциональности ПОС систем на лету, к примеру был платежный терминал, пришло конфиг на интеграцию теперь это терминал с кассовым совмещением
Передайте в библиотеку (в конструктор) Flow/Observable конфигураций, и слушайте уже на стороне библиотеки.
если библиотека сама что-то делает, то просто через library.setConfiguration пусть ставят если библиотека делает что-то только по инициативе пользователя библиотеки, то можно обязать в каждый метод передавать актуальный конфиг
Обсуждают сегодня