Мне нужно ввести зависимость, которая требует FragmentManager в конструкторе.Для этого я создал настраиваемую область действия, связанную с основным модулем приложения.После внедрения зависимость возвращает ноль.Я думаю, что проблема в подмодулях, потому что зависимости приложения работают нормально.
Код следующий:
HomeModule
@Module
public class HomeModule {
private HomeActivity homeActivity;
public HomeModule(HomeActivity homeActivity) {
this.homeActivity = homeActivity;
}
@Provides
public BackStackManager provideBackStackManager(){
return new BackStackManager(homeActivity.getSupportFragmentManager());
}
}
HomeScope
@Scope
@Retention(RetentionPolicy.RUNTIME)
public @interface HomeScope {
}
HomeComponent
@HomeScope
@Subcomponent(modules = {HomeModule.class})
public interface HomeComponent {
void inject(HomeActivity activity);
}
ApplicationClass
public HomeComponent plusHomeComponent(HomeModule homeModule){
if (homeComponent == null){
homeComponent = mainComponent.plusHomeComponent(homeModule);
}
return homeComponent;
}