| Index: chrome/browser/chromeos/login/screens/host_pairing_screen.cc
|
| diff --git a/chrome/browser/chromeos/login/screens/host_pairing_screen.cc b/chrome/browser/chromeos/login/screens/host_pairing_screen.cc
|
| index 64b431cb67a3ffce1f09aff849ea50322e469ae2..9b8e3a73c1c3d3b25f67f4f652c521f87d6b4235 100644
|
| --- a/chrome/browser/chromeos/login/screens/host_pairing_screen.cc
|
| +++ b/chrome/browser/chromeos/login/screens/host_pairing_screen.cc
|
| @@ -11,9 +11,26 @@
|
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
|
| #include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
|
| #include "components/pairing/host_pairing_controller.h"
|
| +#include "google_apis/gaia/google_service_auth_error.h"
|
|
|
| namespace chromeos {
|
|
|
| +namespace {
|
| +
|
| +// Gets the fine-grained enrollment error code. It's calculated by concatenating
|
| +// |main_error_code| and |sub_error_code| strings together. The reason that
|
| +// string concatenation is preferred to arithmetic addition is that the number
|
| +// of sub error states is not necessarily a one-digit number and may have
|
| +// arbitrary digits.
|
| +int GetEnrollmentErrorCode(
|
| + pairing_chromeos::HostPairingController::ErrorCode main_error_code,
|
| + int sub_error_code) {
|
| + return std::stoi(std::to_string(static_cast<int>(main_error_code)) +
|
| + std::to_string(sub_error_code));
|
| +}
|
| +
|
| +} // namespace
|
| +
|
| using namespace host_pairing;
|
| using namespace pairing_chromeos;
|
|
|
| @@ -164,17 +181,25 @@ void HostPairingScreen::OnViewDestroyed(HostPairingScreenView* view) {
|
|
|
| void HostPairingScreen::OnAuthError(const GoogleServiceAuthError& error) {
|
| enrollment_error_string_ = view_->GetErrorStringFromAuthError(error);
|
| + enrollment_error_code_ =
|
| + GetEnrollmentErrorCode(HostPairingController::ErrorCode::AUTH_ERROR,
|
| + static_cast<int>(error.state()));
|
| OnAnyEnrollmentError();
|
| }
|
|
|
| void HostPairingScreen::OnEnrollmentError(policy::EnrollmentStatus status) {
|
| enrollment_error_string_ = view_->GetErrorStringFromEnrollmentError(status);
|
| + enrollment_error_code_ =
|
| + GetEnrollmentErrorCode(HostPairingController::ErrorCode::ENROLL_ERROR,
|
| + static_cast<int>(status.status()));
|
| OnAnyEnrollmentError();
|
| }
|
|
|
| void HostPairingScreen::OnOtherError(
|
| EnterpriseEnrollmentHelper::OtherError error) {
|
| enrollment_error_string_ = view_->GetErrorStringFromOtherError(error);
|
| + enrollment_error_code_ = GetEnrollmentErrorCode(
|
| + HostPairingController::ErrorCode::OTHER_ERROR, static_cast<int>(error));
|
| OnAnyEnrollmentError();
|
| }
|
|
|
| @@ -204,6 +229,8 @@ void HostPairingScreen::OnAuthCleared() {
|
| void HostPairingScreen::OnAnyEnrollmentError() {
|
| enrollment_helper_->ClearAuth(base::Bind(&HostPairingScreen::OnAuthCleared,
|
| weak_ptr_factory_.GetWeakPtr()));
|
| + remora_controller_->SetErrorCodeAndMessage(enrollment_error_code_,
|
| + enrollment_error_string_);
|
| remora_controller_->OnEnrollmentStatusChanged(
|
| HostPairingController::ENROLLMENT_STATUS_FAILURE);
|
| }
|
|
|