override fun onActivityResult()

in facebook-common/src/main/java/com/facebook/login/NativeAppLoginMethodHandler.kt [78:111]


  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?): Boolean {
    val request = loginClient.pendingRequest
    if (data == null) {
      // This happens if the user presses 'Back'.
      completeLogin(LoginClient.Result.createCancelResult(request, "Operation canceled"))
    } else if (resultCode == Activity.RESULT_CANCELED) {
      handleResultCancel(request, data)
    } else if (resultCode != Activity.RESULT_OK) {
      completeLogin(
          LoginClient.Result.createErrorResult(
              request, "Unexpected resultCode from authorization.", null))
    } else {
      val extras = data.extras
      if (extras == null) {
        completeLogin(
            LoginClient.Result.createErrorResult(
                request, "Unexpected null from returned authorization data.", null))
        return true
      }
      val error = getError(extras)
      val errorCode = extras["error_code"]?.toString()
      val errorMessage = getErrorMessage(extras)
      val e2e = extras.getString(NativeProtocol.FACEBOOK_PROXY_AUTH_E2E_KEY)
      if (!isNullOrEmpty(e2e)) {
        logWebLoginCompleted(e2e)
      }
      if (error == null && errorCode == null && errorMessage == null && request != null) {
        processSuccessResponse(request, extras)
      } else {
        handleResultError(request, error, errorMessage, errorCode)
      }
    }
    return true
  }