Size: a a a

2019 February 19

AK

Alexey Kalyaganov in Dagger 2
понятно
источник

AK

Alexey Kalyaganov in Dagger 2
Можно как-то сделать чтобы компонент зависел не от конкретного компонента, а от интерфейса или от абстрактного компонента?
источник

IG

Ilya Gulya in Dagger 2
Alexey Kalyaganov
Можно как-то сделать чтобы компонент зависел не от конкретного компонента, а от интерфейса или от абстрактного компонента?
Dagger компонент?
источник

AK

Alexey Kalyaganov in Dagger 2
Ilya Gulya
Dagger компонент?
да, когда пишу @Component(dependencies=[SomeAbstractComponent::class])
источник

AK

Alexey Kalyaganov in Dagger 2
Или это норма жестко завязывать все вьюшки в иерархию?
источник

IG

Ilya Gulya in Dagger 2
Alexey Kalyaganov
да, когда пишу @Component(dependencies=[SomeAbstractComponent::class])
А в чём проблема подставить туда свой интерфейс?)
источник

IG

Ilya Gulya in Dagger 2
А не компонент
источник

AK

Alexey Kalyaganov in Dagger 2
Ilya Gulya
А в чём проблема подставить туда свой интерфейс?)
будет работать?)
источник

IG

Ilya Gulya in Dagger 2
Да
источник

AK

Alexey Kalyaganov in Dagger 2
класс) не знал
источник

AK

Alexey Kalyaganov in Dagger 2
еще вопросик небольшой.
Зависимости от родительского компонента только в Subcomponent видны? А если потомок обычный компонент, то у родителя надо явно зависимости показать?
источник

SV

Sviat Volkov in Dagger 2
обычные компоненты связываются через паблик интерфейсы. т.е. первая компонента должна наследоваться от интерфейса с методом который отдаёт зависимость для второй
источник

AK

Alexey Kalyaganov in Dagger 2
слышал что есть какие-то проблемы у subcomponent, в чем они заключаются?
источник

SV

Sviat Volkov in Dagger 2
в кратце - плохо скейлятся ;)
источник

AK

Alexey Kalyaganov in Dagger 2
Ну я это и подозревал, спасибо за инфу)
источник

AP

Anton Potekhin in Dagger 2
Вот не могу понять следующее. Если я использую @ContributesAndroidInjector(module={SomeModule.class}) для фрагмента. То даггер создает сабкомпонент и использует модуль SomeModule. Далее я вызываю AndroidSupportInjection.inject(this) у фрагмента и происходит инджект. Но вот как озаботится о очистки зависимостей ? это нужно руками самому делать? И в какой момент?
источник
2019 February 20

DN

Danil Novoselov in Dagger 2
Ребят, привет! Я тут обратился к доке Dagger’a и там пишут, что инъекцию стоить производить до super.onCreate(...) в Активити и до super.onAttach(...) во фрагментах. Погуглил и во всех ответах просто ссылки на доку. В ней только общие слова типа “as early as possible”, “prevents inconsistencies if the Fragment is reattached”. Можете, например, подсказать конкретные кейсы проблем, которые могут возникнуть, если не следовать советам из доки?
источник

DN

Danil Novoselov in Dagger 2
Ну, вот у нас в боевом проекте для активити и для фрагмента иъекция происходит после super.onCreate(...). Каких- то явных отклонений нет, по крайней мере я не замечаю. Про затратный процесс - ок, можно проверить, но дока намекает на нечто более серьезное, чем "затратный процесс". Про активити еще идет разговор об аттаче фрагментов вызовом super.onCreate(..)  при смене конфигурации.
источник

AK

Alexey Kalyaganov in Dagger 2
Danil Novoselov
Ребят, привет! Я тут обратился к доке Dagger’a и там пишут, что инъекцию стоить производить до super.onCreate(...) в Активити и до super.onAttach(...) во фрагментах. Погуглил и во всех ответах просто ссылки на доку. В ней только общие слова типа “as early as possible”, “prevents inconsistencies if the Fragment is reattached”. Можете, например, подсказать конкретные кейсы проблем, которые могут возникнуть, если не следовать советам из доки?
Если юзаешь мокси и аннотацию на методе  @ProvidePresenter, то компонент даггера нужен до вызова OnCreate у фрагмента. Соответственно нужно его создать чуть раньше
источник

AK

Alexey Kalyaganov in Dagger 2
Обычно это сразу будет рантайм исключение и все
источник