If you are a MVP purist, surely you will scoff from such a question. Views should only communicate to their respective presenters! If you’re thinking this acronym has something to do with a product (It gets used heavily surprisingly), I’d recommend moving on to this great article on Minimum Viable Product. If this sounds vaguely familiar but need a refresher, check out Wikipedia’s quick explanation of Model-View-Presenter design pattern before reading ahead.

Alright, now that we’re all on the same page, above is the typical diagram you see when explaining the responsibilities of each component of MVP. At first implementation, it really does solve a lot of headaches on Android. But as projects get bigger and more complex, you start to feel like the strict rules of MVP require lots of boilerplate.

In what situation should a presenter ever communicate with another presenter?

Take for example an Activity that is used in every aspect of your app. There’s multiple ways to reach it and it can also open other Activities that must return information back to itself. Those two requirements alone can cause a lot of interaction with a View and a Presenter.

To make it more fun, this Activity houses a horizontal ViewPager which incorporates a vertical RecyclerView. The views within that RecyclerView is has its own set of interactions and also needs to open other Activities and return back its updated information.