Я использую com.google.dagger:dagger-android 2.24
(не стандартный кинжал) и не могу понять, как использовать @BindsInstance
для инъекции во время выполнения. Буду признателен за любую помощь!
Класс приложения
public class BaseApplication extends DaggerApplication {
@Override
protected AndroidInjector<? extends DaggerApplication> applicationInjector() {
return DaggerAppComponent.factory().create(this);
}
}
AppComponent
@Singleton
@Component(modules = {
AndroidSupportInjectionModule.class
})
public interface AppComponent extends AndroidInjector<BaseApplication> {
@Component.Factory
interface Factory {
AppComponent create(@BindsInstance Application application);
}
}
Подкомпонент, который я хочу создать, но не знаю, как и гденастроить его
@Subcomponent(modules = PlayersModule.class)
public interface PlayersComponent extends AndroidInjector<PlayersActivity> {
@Subcomponent.Factory
interface Factory {
PlayersComponent create(@BindsInstance @Named("players_list") List<Player> playerList,
@BindsInstance @Named("number_of_teams") int numberOfTeams);
}
}