Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@ProvidePresenter работает только для той имплементации View, где есть этот метод #123

Closed
AudasViator opened this issue Jun 11, 2017 · 1 comment

Comments

@AudasViator
Copy link

Имеются две вьюхи, которые implements один и тот же интерфейс, но в одной из них есть @ProvidePresenter, а в другой нет. Везде type = GLOBAL, теги нигде не указаны

Если сначала создастся та вьюха, где есть @ProvidePresenter, то во вторую Moxy его заинжектит
Если сначала создастся та вьюха, где нет этого метода, то всё упадёт из-за того, что презентер брать неоткуда (внутри Moxy его нет, нет и @ProvidePresenter в этой имплементации View)

Ожидалось, что если хоть в одной вьюхе есть метод @ProvidePresenter, то и для остальных он будет доступен и будет поставлять презентер, не зависимо от порядка их создания

Баг или фича? =)

@terrakok
Copy link
Contributor

Все так и должно работать. @providepresenter берется у той вью для которой понадобился презентер, а не где-то еще.
А вообще не используйте GLOBAL презентеры. Сам автор библиотеки уже отказался от них. Это нарушение MVP подхода, и они совсем не нужны.
Есть вероятность, что в мажорных обновлениях Moxy останутся только нормальные презентеры.

katkoff added a commit to katkoff/Moxy that referenced this issue May 19, 2019
Parameter of the interface method any MvpView object cannot be passed if reference name of the parameter is "view".
I added prefix "_" before the name of the object reference MvpView in the generated class ViewState.

Sample project with implemented error: https://github.com/katkoff/MoxyCodeGenerateSample

Fix Arello-Mobile#123
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants