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
}