Привет всем. Недавно начал использовать эту библиотеку.
Возникла необходимость реализовать следующую схему:
Есть главная Activity (View) У нее Presenter с type= LOCAL.
Есть несколько фрагментов(View) у каждого Presenter с type= LOCAL.
На Activity Они выставляются через replace.Соответственно presenter создается каждый раз.
Мне нужно чтобы ЖЦ презентеров фрагментов соответствовал ЖЦ Activity.
Какие пути я вижу
1.Делать презентеры фрагментов глобальными.
Тогда возникает ситуация, когда после смерти главной Activity презентеры фрагментов не сбрасываются.
2.Делать презентеры фрагментов WEAK. Тогда нужно делать InjectPresenter в Activity Не очень хочется так делать.
3. Главный presenter реализует интерфейс IChildPresenterProvider. В нем описаны методы для получения Presenter'в для фрагментов.
У фрагментов есть метод setPresenterProvider. После создания фрагмента а Activity ему передается ссылка на реализацию IChildPresenterProvider.
Внутри фрагметов метод с аннотацией
@ProvidePresenter, который дергает метод IChildPresenterProvider'а и "вытаскивает" презентер для фрагмента из главного презентера.
Пожалуйста поделитесь опытом, как лучше реализовать подобный кейс?
И еще вопрос Возможно ли повесить аннотацию InjectPresenter на интерфейс,а не на конкретный класс Presenter'а?