my team has had great success introducing MVP and the associated unit tests that go with the presenter. We are wondering how granular we should make the interaction between the View and the Presenter.
For example, we have a screen that displays a loading icon and then makes a request for some data. When the call returns, we remove the loading icon and display the data.
In this scenario we could make the View really dumb and delegate to the Presenter on start up and be told to display the loading icon. Then the presenter would make the request and when that returns, tell the View to remove the loading icon and then make another view call with the data to be displayed.
Another way we could do this is to have the activity display the loading icon then call the presenter. The presenter would make the call, receive a callback when it returns and then call the view with the results. Its up to the activity to know to remove the loading icon and then display the data.
In the first instance the view is told explicitly everything it should do and the second only delegates 'business logic' to the presenter.
What do people think is the better approach?