Инъекция Dagger 2 возвращает ноль в области действия - PullRequest
0 голосов
/ 26 сентября 2018

Мне нужно ввести зависимость, которая требует 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;
}
...