Chromium Code Reviews| Index: chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc |
| diff --git a/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc b/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc |
| index 079cfd2042a3ea0f6eed87d58775afc448111337..8e6de8362c185d98d1d5dc7fd1642beee7a87865 100644 |
| --- a/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc |
| +++ b/chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.cc |
| @@ -4,19 +4,24 @@ |
| #include "chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.h" |
| +#include "chrome/browser/chromeos/login/error_screen.h" |
| #include "chrome/browser/chromeos/login/existing_user_controller.h" |
| #include "chrome/browser/chromeos/login/managed/locally_managed_user_controller.h" |
| #include "chrome/browser/chromeos/login/screen_observer.h" |
| #include "chrome/browser/chromeos/login/wizard_controller.h" |
| +#include "chrome/browser/chromeos/net/connectivity_state_helper.h" |
| #include "grit/generated_resources.h" |
| #include "ui/base/l10n/l10n_util.h" |
| + |
|
Nikita (slow)
2013/04/03 17:25:41
nit: drop empty line
|
| namespace chromeos { |
| LocallyManagedUserCreationScreen::LocallyManagedUserCreationScreen( |
| ScreenObserver* observer, |
| LocallyManagedUserCreationScreenHandler* actor) |
| - : WizardScreen(observer), actor_(actor) { |
| + : WizardScreen(observer), |
| + actor_(actor), |
| + on_error_screen_(false) { |
| DCHECK(actor_); |
| if (actor_) |
| actor_->SetDelegate(this); |
| @@ -37,8 +42,31 @@ void LocallyManagedUserCreationScreen::Show() { |
| actor_->Show(); |
| actor_->ShowInitialScreen(); |
| } |
| + ConnectivityStateHelper* helper = ConnectivityStateHelper::Get(); |
| + if (helper && !on_error_screen_) { |
| + helper->AddNetworkManagerObserver(this); |
| + NetworkManagerChanged(); |
| + } |
| + on_error_screen_ = false; |
| } |
| +void LocallyManagedUserCreationScreen::NetworkManagerChanged() { |
| + ConnectivityStateHelper* helper = ConnectivityStateHelper::Get(); |
| + if (!helper) |
| + return; |
| + if (helper->IsConnected()) { |
| + // hide error screen |
|
Nikita (slow)
2013/04/03 17:25:41
nit: drop comment
|
| + get_screen_observer()->HideErrorScreen(this); |
| + } else { |
| + // show error screen |
|
Nikita (slow)
2013/04/03 17:25:41
nit: drop comment
|
| + on_error_screen_ = true; |
| + get_screen_observer()-> |
| + GetErrorScreen()->SetUIState(ErrorScreen::UI_STATE_MANAGED); |
| + get_screen_observer()->ShowErrorScreen(); |
|
ygorshenin1
2013/04/03 17:33:32
What is the error state for the error screen?
|
| + } |
| +} |
| + |
| + |
|
Nikita (slow)
2013/04/03 17:25:41
nit: drop empty line
|
| void LocallyManagedUserCreationScreen:: |
| ShowManagerInconsistentStateErrorScreen() { |
| if (!actor_) |
| @@ -58,6 +86,9 @@ void LocallyManagedUserCreationScreen::ShowInitialScreen() { |
| void LocallyManagedUserCreationScreen::Hide() { |
| if (actor_) |
| actor_->Hide(); |
| + ConnectivityStateHelper* helper = ConnectivityStateHelper::Get(); |
| + if (helper && !on_error_screen_) |
| + helper->RemoveNetworkManagerObserver(this); |
| } |
| std::string LocallyManagedUserCreationScreen::GetName() const { |