Size: a a a

2020 February 18

AG

Artem Gilmudinov in Dagger 2
это сам мокси делает?
источник

AG

Artem Gilmudinov in Dagger 2
или вызов из вьюхи?
источник

А

Александр in Dagger 2
Artem Gilmudinov
а в презентер как инджект происходит?
В перезнтер вьюха цепляется через мокси.
Инжекты полей презентера(интерактор и тд) через даггер с помощью ссылки на App.component.inject(this). От это ссылки и хочу избавиться
источник

DD

Dmitriy Dyachenko in Dagger 2
Александр
привет, а подскажите: использую moxy presenter, в него делаю field injection, чтобы это сделать пишу примерно так SomeApplication.instance.getAppComponent().inject(this)
Но получается у меня в Application лежит ссылка instance чтобы добраться до AppComponent. Как можно переделать, чтобы не было ссылки на instance. Как сделать field injection в простой объект?
Я думаю никак. Если бы нужно было инжектить не в презентер мокси а в саму активити или фрагмент то что изменилось бы? Правильно, ничего, нужен экземпляр компоненты чтобы сделать инжект, а ее можно получить только из application, а для этого нужен его инстанс
источник

AG

Artem Gilmudinov in Dagger 2
Dmitriy Dyachenko
Я думаю никак. Если бы нужно было инжектить не в презентер мокси а в саму активити или фрагмент то что изменилось бы? Правильно, ничего, нужен экземпляр компоненты чтобы сделать инжект, а ее можно получить только из application, а для этого нужен его инстанс
у вьюхи просто есть контекст. context.getApplicationContext as MyApplication
источник

DD

Dmitriy Dyachenko in Dagger 2
Есть dagger android, он избавит от необходимости инжектить руками, но не в презентере
источник

AG

Artem Gilmudinov in Dagger 2
ну тут мокси
источник

DD

Dmitriy Dyachenko in Dagger 2
Artem Gilmudinov
у вьюхи просто есть контекст. context.getApplicationContext as MyApplication
А какая разница? От того что есть статик ссылка на аппу в application ни утечек ни чего то подобного быть не может
источник

AG

Artem Gilmudinov in Dagger 2
кажется фиг подлезишь)
источник

DD

Dmitriy Dyachenko in Dagger 2
Artem Gilmudinov
ну тут мокси
Инжектить презентер в активити/фрагмент
источник

AG

Artem Gilmudinov in Dagger 2
Dmitriy Dyachenko
А какая разница? От того что есть статик ссылка на аппу в application ни утечек ни чего то подобного быть не может
не будет утечек) но вопрос был как избавиться.
источник

DD

Dmitriy Dyachenko in Dagger 2
Соответственно инжект в поле будет нафиг не нужен, а все зависимости будут в конструктор подаваться
источник

AG

Artem Gilmudinov in Dagger 2
Dmitriy Dyachenko
Инжектить презентер в активити/фрагмент
если мокси так делать позволяет, то я бы таким путем пошел
источник

DD

Dmitriy Dyachenko in Dagger 2
У мокси даже есть примеры как его с даггером дружить, чтобы не инжектить в поля презентера
источник

А

Александр in Dagger 2
А позволяет ?)
источник

А

Александр in Dagger 2
Ооо, норм, посмотрю
источник

DD

Dmitriy Dyachenko in Dagger 2
Я вообще к тому что наличие статик инстанса аппы для целей инжектить это норм, так даже более надёжно чем на контекст активити или фрагмента полагаться.
А вот инжектить в поля презентера это да, не лучшая затея, которую как раз и стоит решать
источник

А

Александр in Dagger 2
То есть во вьюхе в конструктор презентера делаем и инжекты полей через конструктор?
источник

AG

Artem Gilmudinov in Dagger 2
Александр
То есть во вьюхе в конструктор презентера делаем и инжекты полей через конструктор?
Да. В конструктор в качестве аргументов инджектим зависимости. А в теле конструктора присваиваем полям аргументы.
источник

А

Александр in Dagger 2
Понял, спасибо
источник