Да, я понимаю, что @Component
не может и не должен зависеть от @Subcomponent
.
Но вот проблема: у меня есть AppComponent
, который имеет RetrofitModule
для аутентификациизвонки через OAuth 2 Мне нужно добавить информацию о сеансе для каждого звонка.Поэтому я создал Interceptor
, который добавляет этот сеанс в заголовки.Приложение может иметь несколько сеансов в течение своего жизненного цикла, поэтому я думаю, что имеет смысл поставить SessionComponent
как @Subcomponent
.
Вот иерархия компонентов и модулей.
AppComponent
|
-----------------------------------------------------------
| | |
RetrofitModule SessionKeyModule SessionSubcomponent
| |
OkHttpClientModule ---------------------------------
| | |
OkHttpSessionInductionInterceptorModule SignatureGeneratorModule CurrentSessionModule
SessionGeneratorModule требует информацию от SessionKeyModule
и CurrentSessionModule
.
OkHttpSessionInductionInterceptorModule
зависит от SessionKeyModule
и нуждается в получении сеанса из CurrentSessionModule
.
И здесь кроется проблема;@Component
не может зависеть от @Subcomponent
.Так как мне получить подпись в перехватчике?Я чувствую , как будто мне нужно внести изменения в иерархию там, но я понятия не имею, как.Или как-то возможно @Component
использовать информацию из @Subcomponent
.