How do I follow MVP architecture with 3rd party SDKs?
<p>I've seen a lot of projects that show how to implement login in MVP, but can't find anything related to Google/Facebook login.</p>

<p>What should we do in the case when login flow is strongly bound to Android components life cycle? I see the main benefit of MVP in that we build an abstraction above <code>Context</code>, but this abstraction will appear too complex when we need to follow, for example, Facebook login flow: you need to register <code>FacebookCallback</code> with <code>CallbackManager</code>, call <code>logInWithReadPermissions()</code> (passing Activity/Fragment to it), delegate <code>onActivityResult()</code> to <code>callbackManager</code> and this will trigger FacebookCallback's methods. </p>

<p>What I have on mind is to create something like</p>

<pre><code>interface AuthInteractor {
    void doFacebookLogin();
    void doGoogleLogin();
}
</code></pre>

<p>whose implementation will know about Context and initialize <code>GoogleApiClient</code>. It will be injected in Presenter, but what with all this callbacks (especially in Facebook's SDK) things are going to become too complicated. Isn't it better to omit MVP in such cases?</p>