Size: a a a

2020 March 03

DZ

Dmitry Zhgun in Dagger 2
Sergey Vasilchenko
а зачем вам три скоупа если они все по сути синглтон? или надо чтоб у апп и нетворк жц был короче чем у приложения?)
dagger ругается если сделать так :
@Singleton
@Component(modules = {
       CoreModule.class,
})
public interface CoreComponent {}

@Singleton
@Component(modules = NetworkModule.class, dependencies = CoreComponent.class)
public interface NetworkComponent {}

"error: This @Singleton component cannot depend on scoped components"
источник

DZ

Dmitry Zhgun in Dagger 2
Убрал все @<Scope> - добавил модули, почти все решил.
Вопрос:
Есть ComponentA, у которого есть методы

Есть ComponentB с dependencies = ComponentA.class
Даггер ругается на ComponentB что не может найти зависимость из модулей ComponentA

Как прокинуть все зависимости из ComponentA в ComponentB?
источник

SV

Sergey Vasilchenko in Dagger 2
в интерфейсе ComponentA прописать что он провайдит, типа MyClass provideMyClass();
источник

DZ

Dmitry Zhgun in Dagger 2
Вроде решил.
источник
2020 March 04

I

Igor in Dagger 2
Ребят scope singleton, но инстансов создаётся больше чем один. какие есть идеи почему?
источник

АЕ

Алексей Ершов in Dagger 2
Igor
Ребят scope singleton, но инстансов создаётся больше чем один. какие есть идеи почему?
потому что вы что-то неправильно сделали. Код покажите)
источник

I

Igor in Dagger 2
Алексей Ершов
потому что вы что-то неправильно сделали. Код покажите)
Сделал не я, а код показать не могу там миллионы строк и все настолько запутано, что найти проблему крайне сложно, поэтому вот думал идеи подкинут
источник

АЕ

Алексей Ершов in Dagger 2
если что-то в компоненте синглтон, а инстансов в итоге много - значит, компонент пересоздаётся между созданиями этих инстансов
источник

I

Igor in Dagger 2
Алексей Ершов
если что-то в компоненте синглтон, а инстансов в итоге много - значит, компонент пересоздаётся между созданиями этих инстансов
Так компонент тоже синглтон и создается в application классе поэтому вряд ли этот вариант
источник
2020 March 06

DZ

Dmitry Zhgun in Dagger 2
Ребят, туплю.

@Component(modules = {
       CoreModule.class,
       RoomModule.class,
       CosuModule.class,
       ContextModule.class,
       LoggingModule.class
})
public interface CoreComponent { }

@Component(modules = {NetworkModule.class, ContextModule.class})
public interface NetworkComponent { }

@Component(modules = {
       AndroidInjectionModule.class,
       AppModule.class,
       ActivityBindingModule.class,
       IncomingCallModule.class
}, dependencies = {NetworkComponent.class, CoreComponent.class})
public interface AppComponent {

// ....

   @Component.Builder
   interface Builder {

       AppComponent build();

       Builder networkComponent(NetworkComponent networkComponent);

       Builder coreComponent(CoreComponent coreComponent);
   }
}

Инициализирую вот так:
DaggerAppComponent.builder()
               .coreComponent(
                       DaggerCoreComponent.builder()
                               .contextModule(new ContextModule(app))
                               .build())
               .networkComponent(DaggerNetworkComponent.builder()
                       .contextModule(new ContextModule(app))
                       .build())
               .build()
               .inject(app);

даггер ругается на "ContextModule must be set"
источник

EK

Eugeniy Kamensky in Dagger 2
А в DaggerNetworkComponent есть
.contextModule()?
источник

DZ

Dmitry Zhgun in Dagger 2
Разобрался. Но все равно туплю.
Проблема в том, что после основной конструкции (с которой все ок), мне надо сделать inject обьекта из CoreComponent'а в отдельный класс, что я делаю через
DaggerCoreComponent.builder().build().inject(this); в конструкторе компонента.

Есть вопрос, соответсвенно: надо ли каждый раз использовать такую конструкцию или можно это как то сократить (кроме классов-хелперов)?
источник

DZ

Dmitry Zhgun in Dagger 2
Можно ли какой нибудь AndroidInjection заюзать с классом который наследуется от Thread.UncaughtExceptionHandler?
источник
2020 March 07

i

ilya the 大佬 in Dagger 2
знает кто, какой аналог @MapKey в toothpick?
источник

i

ilya the 大佬 in Dagger 2
ну и соответственно @IntoMap
источник

М

Михаил in Dagger 2
ilya the 大佬
знает кто, какой аналог @MapKey в toothpick?
А зачем такое?
источник

М

Михаил in Dagger 2
В тузпике
источник

М

Михаил in Dagger 2
Если кратко то такого нет
источник

i

ilya the 大佬 in Dagger 2
Михаил
А зачем такое?
для вью модели фактори
источник

М

Михаил in Dagger 2
ilya the 大佬
для вью модели фактори
Это в тузпике куда проще делается
источник