open fun onActivityResult()

in facebook-common/src/main/java/com/facebook/login/LoginManager.kt [233:276]


  open fun onActivityResult(
      resultCode: Int,
      data: Intent?,
      callback: FacebookCallback<LoginResult>? = null
  ): Boolean {
    var exception: FacebookException? = null
    var accessToken: AccessToken? = null
    var authenticationToken: AuthenticationToken? = null
    var code = LoginClient.Result.Code.ERROR
    var loggingExtras: Map<String, String>? = null
    var originalRequest: LoginClient.Request? = null
    var isCanceled = false
    if (data != null) {
      data.setExtrasClassLoader(LoginClient.Result::class.java.classLoader)
      val result: LoginClient.Result? = data.getParcelableExtra(LoginFragment.RESULT_KEY)
      if (result != null) {
        originalRequest = result.request
        code = result.code
        if (resultCode == Activity.RESULT_OK) {
          if (result.code == LoginClient.Result.Code.SUCCESS) {
            accessToken = result.token
            authenticationToken = result.authenticationToken
          } else {
            exception = FacebookAuthorizationException(result.errorMessage)
          }
        } else if (resultCode == Activity.RESULT_CANCELED) {
          isCanceled = true
        }
        loggingExtras = result.loggingExtras
      }
    } else if (resultCode == Activity.RESULT_CANCELED) {
      isCanceled = true
      code = LoginClient.Result.Code.CANCEL
    }
    if (exception == null && accessToken == null && !isCanceled) {
      exception = FacebookException("Unexpected call to LoginManager.onActivityResult")
    }
    val wasLoginActivityTried = true
    val context: Context? = null // Sadly, there is no way to get activity context at this point.
    logCompleteLogin(
        context, code, loggingExtras, exception, wasLoginActivityTried, originalRequest)
    finishLogin(accessToken, authenticationToken, originalRequest, exception, isCanceled, callback)
    return true
  }