OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/wizard_controller.h" | 5 #include "chrome/browser/chromeos/login/wizard_controller.h" |
6 | 6 |
7 #include <signal.h> | 7 #include <signal.h> |
8 #include <stdlib.h> | 8 #include <stdlib.h> |
9 #include <sys/types.h> | 9 #include <sys/types.h> |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 26 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
27 #include "chrome/browser/chromeos/customization_document.h" | 27 #include "chrome/browser/chromeos/customization_document.h" |
28 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" | 28 #include "chrome/browser/chromeos/geolocation/simple_geolocation_provider.h" |
29 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" | 29 #include "chrome/browser/chromeos/login/enrollment/auto_enrollment_check_screen.
h" |
30 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" | 30 #include "chrome/browser/chromeos/login/enrollment/enrollment_screen.h" |
31 #include "chrome/browser/chromeos/login/existing_user_controller.h" | 31 #include "chrome/browser/chromeos/login/existing_user_controller.h" |
32 #include "chrome/browser/chromeos/login/helper.h" | 32 #include "chrome/browser/chromeos/login/helper.h" |
33 #include "chrome/browser/chromeos/login/hwid_checker.h" | 33 #include "chrome/browser/chromeos/login/hwid_checker.h" |
34 #include "chrome/browser/chromeos/login/login_utils.h" | 34 #include "chrome/browser/chromeos/login/login_utils.h" |
35 #include "chrome/browser/chromeos/login/screens/controller_pairing_screen.h" | 35 #include "chrome/browser/chromeos/login/screens/controller_pairing_screen.h" |
| 36 #include "chrome/browser/chromeos/login/screens/device_disabled_screen.h" |
36 #include "chrome/browser/chromeos/login/screens/error_screen.h" | 37 #include "chrome/browser/chromeos/login/screens/error_screen.h" |
37 #include "chrome/browser/chromeos/login/screens/eula_screen.h" | 38 #include "chrome/browser/chromeos/login/screens/eula_screen.h" |
38 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" | 39 #include "chrome/browser/chromeos/login/screens/hid_detection_screen.h" |
39 #include "chrome/browser/chromeos/login/screens/host_pairing_screen.h" | 40 #include "chrome/browser/chromeos/login/screens/host_pairing_screen.h" |
40 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" | 41 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" |
41 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" | 42 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" |
42 #include "chrome/browser/chromeos/login/screens/network_screen.h" | 43 #include "chrome/browser/chromeos/login/screens/network_screen.h" |
43 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 44 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
44 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" | 45 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" |
45 #include "chrome/browser/chromeos/login/screens/update_screen.h" | 46 #include "chrome/browser/chromeos/login/screens/update_screen.h" |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
159 "auto-enrollment-check"; | 160 "auto-enrollment-check"; |
160 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; | 161 const char WizardController::kWrongHWIDScreenName[] = "wrong-hwid"; |
161 const char WizardController::kSupervisedUserCreationScreenName[] = | 162 const char WizardController::kSupervisedUserCreationScreenName[] = |
162 "supervised-user-creation-flow"; | 163 "supervised-user-creation-flow"; |
163 const char WizardController::kAppLaunchSplashScreenName[] = | 164 const char WizardController::kAppLaunchSplashScreenName[] = |
164 "app-launch-splash"; | 165 "app-launch-splash"; |
165 const char WizardController::kHIDDetectionScreenName[] = "hid-detection"; | 166 const char WizardController::kHIDDetectionScreenName[] = "hid-detection"; |
166 const char WizardController::kControllerPairingScreenName[] = | 167 const char WizardController::kControllerPairingScreenName[] = |
167 "controller-pairing"; | 168 "controller-pairing"; |
168 const char WizardController::kHostPairingScreenName[] = "host-pairing"; | 169 const char WizardController::kHostPairingScreenName[] = "host-pairing"; |
| 170 const char WizardController::kDeviceDisabledScreenName[] = "device-disabled"; |
169 | 171 |
170 // static | 172 // static |
171 const int WizardController::kMinAudibleOutputVolumePercent = 10; | 173 const int WizardController::kMinAudibleOutputVolumePercent = 10; |
172 | 174 |
173 // Passing this parameter as a "first screen" initiates full OOBE flow. | 175 // Passing this parameter as a "first screen" initiates full OOBE flow. |
174 const char WizardController::kOutOfBoxScreenName[] = "oobe"; | 176 const char WizardController::kOutOfBoxScreenName[] = "oobe"; |
175 | 177 |
176 // Special test value that commands not to create any window yet. | 178 // Special test value that commands not to create any window yet. |
177 const char WizardController::kTestNoScreenName[] = "test:nowindow"; | 179 const char WizardController::kTestNoScreenName[] = "test:nowindow"; |
178 | 180 |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
340 shark_controller_.get()); | 342 shark_controller_.get()); |
341 } else if (screen_name == kHostPairingScreenName) { | 343 } else if (screen_name == kHostPairingScreenName) { |
342 if (!remora_controller_) { | 344 if (!remora_controller_) { |
343 remora_controller_.reset( | 345 remora_controller_.reset( |
344 new pairing_chromeos::BluetoothHostPairingController()); | 346 new pairing_chromeos::BluetoothHostPairingController()); |
345 remora_controller_->StartPairing(); | 347 remora_controller_->StartPairing(); |
346 } | 348 } |
347 return new HostPairingScreen(this, | 349 return new HostPairingScreen(this, |
348 oobe_display_->GetHostPairingScreenActor(), | 350 oobe_display_->GetHostPairingScreenActor(), |
349 remora_controller_.get()); | 351 remora_controller_.get()); |
| 352 } else if (screen_name == kDeviceDisabledScreenName) { |
| 353 return new chromeos::DeviceDisabledScreen( |
| 354 this, oobe_display_->GetDeviceDisabledScreenActor()); |
350 } | 355 } |
| 356 |
351 return NULL; | 357 return NULL; |
352 } | 358 } |
353 | 359 |
354 void WizardController::ShowNetworkScreen() { | 360 void WizardController::ShowNetworkScreen() { |
355 VLOG(1) << "Showing network screen."; | 361 VLOG(1) << "Showing network screen."; |
356 // Hide the status area initially; it only appears after OOBE first animates | 362 // Hide the status area initially; it only appears after OOBE first animates |
357 // in. Keep it visible if the user goes back to the existing network screen. | 363 // in. Keep it visible if the user goes back to the existing network screen. |
358 SetStatusAreaVisible(HasScreen(kNetworkScreenName)); | 364 SetStatusAreaVisible(HasScreen(kNetworkScreenName)); |
359 SetCurrentScreen(GetScreen(kNetworkScreenName)); | 365 SetCurrentScreen(GetScreen(kNetworkScreenName)); |
360 | 366 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
510 SetStatusAreaVisible(false); | 516 SetStatusAreaVisible(false); |
511 SetCurrentScreen(GetScreen(kControllerPairingScreenName)); | 517 SetCurrentScreen(GetScreen(kControllerPairingScreenName)); |
512 } | 518 } |
513 | 519 |
514 void WizardController::ShowHostPairingScreen() { | 520 void WizardController::ShowHostPairingScreen() { |
515 VLOG(1) << "Showing host pairing screen."; | 521 VLOG(1) << "Showing host pairing screen."; |
516 SetStatusAreaVisible(false); | 522 SetStatusAreaVisible(false); |
517 SetCurrentScreen(GetScreen(kHostPairingScreenName)); | 523 SetCurrentScreen(GetScreen(kHostPairingScreenName)); |
518 } | 524 } |
519 | 525 |
| 526 void WizardController::ShowDeviceDisabledScreen() { |
| 527 VLOG(1) << "Showing device disabled screen."; |
| 528 SetStatusAreaVisible(true); |
| 529 SetCurrentScreen(GetScreen(kDeviceDisabledScreenName)); |
| 530 } |
| 531 |
520 void WizardController::SkipToLoginForTesting( | 532 void WizardController::SkipToLoginForTesting( |
521 const LoginScreenContext& context) { | 533 const LoginScreenContext& context) { |
522 VLOG(1) << "SkipToLoginForTesting."; | 534 VLOG(1) << "SkipToLoginForTesting."; |
523 StartupUtils::MarkEulaAccepted(); | 535 StartupUtils::MarkEulaAccepted(); |
524 PerformPostEulaActions(); | 536 PerformPostEulaActions(); |
525 OnAutoEnrollmentCheckCompleted(); | 537 OnAutoEnrollmentCheckCompleted(); |
526 } | 538 } |
527 | 539 |
528 void WizardController::AddObserver(Observer* observer) { | 540 void WizardController::AddObserver(Observer* observer) { |
529 observer_list_.AddObserver(observer); | 541 observer_list_.AddObserver(observer); |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
887 } else if (screen_name == kSupervisedUserCreationScreenName) { | 899 } else if (screen_name == kSupervisedUserCreationScreenName) { |
888 ShowSupervisedUserCreationScreen(); | 900 ShowSupervisedUserCreationScreen(); |
889 } else if (screen_name == kAppLaunchSplashScreenName) { | 901 } else if (screen_name == kAppLaunchSplashScreenName) { |
890 AutoLaunchKioskApp(); | 902 AutoLaunchKioskApp(); |
891 } else if (screen_name == kHIDDetectionScreenName) { | 903 } else if (screen_name == kHIDDetectionScreenName) { |
892 ShowHIDDetectionScreen(); | 904 ShowHIDDetectionScreen(); |
893 } else if (screen_name == kControllerPairingScreenName) { | 905 } else if (screen_name == kControllerPairingScreenName) { |
894 ShowControllerPairingScreen(); | 906 ShowControllerPairingScreen(); |
895 } else if (screen_name == kHostPairingScreenName) { | 907 } else if (screen_name == kHostPairingScreenName) { |
896 ShowHostPairingScreen(); | 908 ShowHostPairingScreen(); |
| 909 } else if (screen_name == kDeviceDisabledScreenName) { |
| 910 ShowDeviceDisabledScreen(); |
897 } else if (screen_name != kTestNoScreenName) { | 911 } else if (screen_name != kTestNoScreenName) { |
898 if (is_out_of_box_) { | 912 if (is_out_of_box_) { |
899 time_oobe_started_ = base::Time::Now(); | 913 time_oobe_started_ = base::Time::Now(); |
900 if (IsHostPairingOobe()) { | 914 if (IsHostPairingOobe()) { |
901 ShowHostPairingScreen(); | 915 ShowHostPairingScreen(); |
902 } else if (CanShowHIDDetectionScreen()) { | 916 } else if (CanShowHIDDetectionScreen()) { |
903 base::Callback<void(bool)> on_check = base::Bind( | 917 base::Callback<void(bool)> on_check = base::Bind( |
904 &WizardController::OnHIDScreenNecessityCheck, | 918 &WizardController::OnHIDScreenNecessityCheck, |
905 weak_factory_.GetWeakPtr()); | 919 weak_factory_.GetWeakPtr()); |
906 oobe_display_->GetHIDDetectionScreenActor()->CheckIsScreenRequired( | 920 oobe_display_->GetHIDDetectionScreenActor()->CheckIsScreenRequired( |
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1254 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { | 1268 scoped_ptr<pairing_chromeos::HostPairingController> remora_controller) { |
1255 VLOG(1) << "OnSharkConnected"; | 1269 VLOG(1) << "OnSharkConnected"; |
1256 remora_controller_ = remora_controller.Pass(); | 1270 remora_controller_ = remora_controller.Pass(); |
1257 base::MessageLoop::current()->DeleteSoon( | 1271 base::MessageLoop::current()->DeleteSoon( |
1258 FROM_HERE, shark_connection_listener_.release()); | 1272 FROM_HERE, shark_connection_listener_.release()); |
1259 shark_controller_detected_ = true; | 1273 shark_controller_detected_ = true; |
1260 ShowHostPairingScreen(); | 1274 ShowHostPairingScreen(); |
1261 } | 1275 } |
1262 | 1276 |
1263 } // namespace chromeos | 1277 } // namespace chromeos |
OLD | NEW |