android10 / Android-CleanArchitecture-Kotlin

This is a movies sample app in Kotlin, which is part of a serie of blog posts I have written about architecting android application using different approaches.
https://fernandocejas.com/2018/05/07/architecting-android-reloaded/
4.69k stars 935 forks source link

Integration with APIs which return the result in `onActivityResult()` #18

Open RustamG opened 6 years ago

RustamG commented 6 years ago

Hi,

How do you add integration with SDKs that deliver the result to onActivityResult method of fragment/activity? For example if you'd like to implement Authentication via Facebook SDK you would:

  1. Create a CallbackManager
  2. Register it via registerCallback() of LoginManager and pass a FacebookCallback there,
  3. Pass the arguments received in onActivityResult() to the callback manager created in the step 1.

Then if you call LoginManager.getInstance().logInWithReadPermissions(fragment/activity, permissions) you will get your callback called with the result.

Besides of that, you shouldn't forget about unregistering callbacks when you're done. All of this brings quite strong coupling between components. Are there any ideas on how to keep the Dependency rule in place?