OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" | 5 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
| 11 #include "chrome/browser/chromeos/login/error_screens_histogram_helper.h" |
11 #include "chrome/browser/chromeos/login/screen_manager.h" | 12 #include "chrome/browser/chromeos/login/screen_manager.h" |
12 #include "chrome/browser/chromeos/login/screens/screen_observer.h" | 13 #include "chrome/browser/chromeos/login/screens/screen_observer.h" |
13 #include "chrome/browser/chromeos/login/wizard_controller.h" | 14 #include "chrome/browser/chromeos/login/wizard_controller.h" |
14 #include "chromeos/chromeos_switches.h" | 15 #include "chromeos/chromeos_switches.h" |
15 #include "chromeos/network/network_state.h" | 16 #include "chromeos/network/network_state.h" |
16 #include "chromeos/network/network_state_handler.h" | 17 #include "chromeos/network/network_state_handler.h" |
17 | 18 |
18 namespace chromeos { | 19 namespace chromeos { |
19 | 20 |
20 // static | 21 // static |
21 AutoEnrollmentCheckScreen* AutoEnrollmentCheckScreen::Get( | 22 AutoEnrollmentCheckScreen* AutoEnrollmentCheckScreen::Get( |
22 ScreenManager* manager) { | 23 ScreenManager* manager) { |
23 return static_cast<AutoEnrollmentCheckScreen*>( | 24 return static_cast<AutoEnrollmentCheckScreen*>( |
24 manager->GetScreen(WizardController::kAutoEnrollmentCheckScreenName)); | 25 manager->GetScreen(WizardController::kAutoEnrollmentCheckScreenName)); |
25 } | 26 } |
26 | 27 |
27 AutoEnrollmentCheckScreen::AutoEnrollmentCheckScreen( | 28 AutoEnrollmentCheckScreen::AutoEnrollmentCheckScreen( |
28 ScreenObserver* observer, | 29 ScreenObserver* observer, |
29 AutoEnrollmentCheckScreenActor* actor) | 30 AutoEnrollmentCheckScreenActor* actor) |
30 : BaseScreen(observer), | 31 : BaseScreen(observer), |
31 actor_(actor), | 32 actor_(actor), |
32 captive_portal_status_( | 33 captive_portal_status_( |
33 NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN), | 34 NetworkPortalDetector::CAPTIVE_PORTAL_STATUS_UNKNOWN), |
34 auto_enrollment_state_(policy::AUTO_ENROLLMENT_STATE_IDLE) { | 35 auto_enrollment_state_(policy::AUTO_ENROLLMENT_STATE_IDLE), |
| 36 histogram_helper_(new ErrorScreensHistogramHelper("Enrollment")) { |
35 if (actor_) | 37 if (actor_) |
36 actor_->SetDelegate(this); | 38 actor_->SetDelegate(this); |
37 } | 39 } |
38 | 40 |
39 AutoEnrollmentCheckScreen::~AutoEnrollmentCheckScreen() { | 41 AutoEnrollmentCheckScreen::~AutoEnrollmentCheckScreen() { |
40 NetworkPortalDetector::Get()->RemoveObserver(this); | 42 NetworkPortalDetector::Get()->RemoveObserver(this); |
41 if (actor_) | 43 if (actor_) |
42 actor_->SetDelegate(NULL); | 44 actor_->SetDelegate(NULL); |
43 } | 45 } |
44 | 46 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 } | 80 } |
79 | 81 |
80 void AutoEnrollmentCheckScreen::PrepareToShow() { | 82 void AutoEnrollmentCheckScreen::PrepareToShow() { |
81 } | 83 } |
82 | 84 |
83 void AutoEnrollmentCheckScreen::Show() { | 85 void AutoEnrollmentCheckScreen::Show() { |
84 if (IsStartNeeded()) { | 86 if (IsStartNeeded()) { |
85 Start(); | 87 Start(); |
86 if (actor_) | 88 if (actor_) |
87 actor_->Show(); | 89 actor_->Show(); |
| 90 histogram_helper_->OnScreenShow(); |
88 } | 91 } |
89 } | 92 } |
90 | 93 |
91 void AutoEnrollmentCheckScreen::Hide() { | 94 void AutoEnrollmentCheckScreen::Hide() { |
92 } | 95 } |
93 | 96 |
94 std::string AutoEnrollmentCheckScreen::GetName() const { | 97 std::string AutoEnrollmentCheckScreen::GetName() const { |
95 return WizardController::kAutoEnrollmentCheckScreenName; | 98 return WizardController::kAutoEnrollmentCheckScreenName; |
96 } | 99 } |
97 | 100 |
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 void AutoEnrollmentCheckScreen::ShowErrorScreen( | 217 void AutoEnrollmentCheckScreen::ShowErrorScreen( |
215 ErrorScreen::ErrorState error_state) { | 218 ErrorScreen::ErrorState error_state) { |
216 const NetworkState* network = | 219 const NetworkState* network = |
217 NetworkHandler::Get()->network_state_handler()->DefaultNetwork(); | 220 NetworkHandler::Get()->network_state_handler()->DefaultNetwork(); |
218 ErrorScreen* error_screen = get_screen_observer()->GetErrorScreen(); | 221 ErrorScreen* error_screen = get_screen_observer()->GetErrorScreen(); |
219 error_screen->SetUIState(ErrorScreen::UI_STATE_AUTO_ENROLLMENT_ERROR); | 222 error_screen->SetUIState(ErrorScreen::UI_STATE_AUTO_ENROLLMENT_ERROR); |
220 error_screen->AllowGuestSignin(true); | 223 error_screen->AllowGuestSignin(true); |
221 error_screen->SetErrorState(error_state, | 224 error_screen->SetErrorState(error_state, |
222 network ? network->name() : std::string()); | 225 network ? network->name() : std::string()); |
223 get_screen_observer()->ShowErrorScreen(); | 226 get_screen_observer()->ShowErrorScreen(); |
| 227 histogram_helper_->OnErrorShow(error_state); |
224 } | 228 } |
225 | 229 |
226 void AutoEnrollmentCheckScreen::SignalCompletion() { | 230 void AutoEnrollmentCheckScreen::SignalCompletion() { |
227 NetworkPortalDetector::Get()->RemoveObserver(this); | 231 NetworkPortalDetector::Get()->RemoveObserver(this); |
228 auto_enrollment_progress_subscription_.reset(); | 232 auto_enrollment_progress_subscription_.reset(); |
229 get_screen_observer()->OnExit( | 233 get_screen_observer()->OnExit( |
230 ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); | 234 ScreenObserver::ENTERPRISE_AUTO_ENROLLMENT_CHECK_COMPLETED); |
231 } | 235 } |
232 | 236 |
233 } // namespace chromeos | 237 } // namespace chromeos |
OLD | NEW |