Привет! Сориентируйте, пожалуйста, как из одного модуля спровайдить получение интерфейса (имеется две функции, где идет получение интерфейса реализованного по разному) в другой модуль в места, где нужна конкретная реализация интерфейса? Я совсем новичок в Даггере😊
Попробовал указать @Named для первого модуля, но как передать этот @Named в другой модуль...
Привет. Первый @Named ставишь над функцией, которая провайдит имплементацию. Второй @Named ставишь рядом с аргументом провайдс функции, которая принимает твой интерфейс.
Привет. Первый @Named ставишь над функцией, которая провайдит имплементацию. Второй @Named ставишь рядом с аргументом провайдс функции, которая принимает твой интерфейс.
Если указывать для второго @Named(имя_модуля.переменная) это же допустимая практика? Вынес @Named в первом модуле как пременную
и в какой-то момент поймал NullPointerException на поле с @inject. Причём не всегда такая ситуация. Я думаю, что проблема в удалении scope, или очисткой компонента, но у меня нигде нет зануления chatComponent. Что может быть ещё причиной?
нет, Inject идёт в конструкторе, ошибка в методе free(), который вызывается очень глубоко за deattachView(). Я вот и думаю, что система убила компонент раньше, чем мои Runnable вызвали free(). В теории такое может быть?
Вы инжектите мутабельное поле? И даже если система убивает даггер компонент, это никак не повлияет на поле, которое уже было заинжекчено. А что вы делаете во free?