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 <stddef.h> | 8 #include <stddef.h> |
9 #include <stdlib.h> | 9 #include <stdlib.h> |
10 #include <sys/types.h> | 10 #include <sys/types.h> |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 #include "chrome/browser/chromeos/login/screens/hid_detection_view.h" | 47 #include "chrome/browser/chromeos/login/screens/hid_detection_view.h" |
48 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" | 48 #include "chrome/browser/chromeos/login/screens/kiosk_autolaunch_screen.h" |
49 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" | 49 #include "chrome/browser/chromeos/login/screens/kiosk_enable_screen.h" |
50 #include "chrome/browser/chromeos/login/screens/network_error.h" | 50 #include "chrome/browser/chromeos/login/screens/network_error.h" |
51 #include "chrome/browser/chromeos/login/screens/network_view.h" | 51 #include "chrome/browser/chromeos/login/screens/network_view.h" |
52 #include "chrome/browser/chromeos/login/screens/reset_screen.h" | 52 #include "chrome/browser/chromeos/login/screens/reset_screen.h" |
53 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" | 53 #include "chrome/browser/chromeos/login/screens/terms_of_service_screen.h" |
54 #include "chrome/browser/chromeos/login/screens/update_screen.h" | 54 #include "chrome/browser/chromeos/login/screens/update_screen.h" |
55 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" | 55 #include "chrome/browser/chromeos/login/screens/user_image_screen.h" |
56 #include "chrome/browser/chromeos/login/screens/voice_interaction_value_prop_scr
een.h" | 56 #include "chrome/browser/chromeos/login/screens/voice_interaction_value_prop_scr
een.h" |
| 57 #include "chrome/browser/chromeos/login/screens/wait_for_container_ready_screen.
h" |
57 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" | 58 #include "chrome/browser/chromeos/login/screens/wrong_hwid_screen.h" |
58 #include "chrome/browser/chromeos/login/session/user_session_manager.h" | 59 #include "chrome/browser/chromeos/login/session/user_session_manager.h" |
59 #include "chrome/browser/chromeos/login/startup_utils.h" | 60 #include "chrome/browser/chromeos/login/startup_utils.h" |
60 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_scre
en.h" | 61 #include "chrome/browser/chromeos/login/supervised/supervised_user_creation_scre
en.h" |
61 #include "chrome/browser/chromeos/login/ui/login_display_host.h" | 62 #include "chrome/browser/chromeos/login/ui/login_display_host.h" |
62 #include "chrome/browser/chromeos/net/delay_network_call.h" | 63 #include "chrome/browser/chromeos/net/delay_network_call.h" |
63 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" | 64 #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
64 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" | 65 #include "chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos.h" |
65 #include "chrome/browser/chromeos/settings/cros_settings.h" | 66 #include "chrome/browser/chromeos/settings/cros_settings.h" |
66 #include "chrome/browser/chromeos/system/device_disabling_manager.h" | 67 #include "chrome/browser/chromeos/system/device_disabling_manager.h" |
(...skipping 361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
428 remora_controller_.get()); | 429 remora_controller_.get()); |
429 } else if (screen == OobeScreen::SCREEN_DEVICE_DISABLED) { | 430 } else if (screen == OobeScreen::SCREEN_DEVICE_DISABLED) { |
430 return new DeviceDisabledScreen(this, | 431 return new DeviceDisabledScreen(this, |
431 oobe_ui_->GetDeviceDisabledScreenView()); | 432 oobe_ui_->GetDeviceDisabledScreenView()); |
432 } else if (screen == OobeScreen::SCREEN_ENCRYPTION_MIGRATION) { | 433 } else if (screen == OobeScreen::SCREEN_ENCRYPTION_MIGRATION) { |
433 return new EncryptionMigrationScreen( | 434 return new EncryptionMigrationScreen( |
434 this, oobe_ui_->GetEncryptionMigrationScreenView()); | 435 this, oobe_ui_->GetEncryptionMigrationScreenView()); |
435 } else if (screen == OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP) { | 436 } else if (screen == OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP) { |
436 return new VoiceInteractionValuePropScreen( | 437 return new VoiceInteractionValuePropScreen( |
437 this, oobe_ui_->GetVoiceInteractionValuePropScreenView()); | 438 this, oobe_ui_->GetVoiceInteractionValuePropScreenView()); |
| 439 } else if (screen == OobeScreen::SCREEN_WAIT_FOR_CONTAINER_READY) { |
| 440 return new WaitForContainerReadyScreen( |
| 441 this, oobe_ui_->GetWaitForContainerReadyScreenView()); |
438 } | 442 } |
439 | 443 |
440 return nullptr; | 444 return nullptr; |
441 } | 445 } |
442 | 446 |
443 void WizardController::ShowNetworkScreen() { | 447 void WizardController::ShowNetworkScreen() { |
444 VLOG(1) << "Showing network screen."; | 448 VLOG(1) << "Showing network screen."; |
445 UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_NETWORK); | 449 UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_NETWORK); |
446 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_NETWORK)); | 450 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_NETWORK)); |
447 | 451 |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
636 VLOG(1) << "Showing voice interaction value prop screen."; | 640 VLOG(1) << "Showing voice interaction value prop screen."; |
637 UpdateStatusAreaVisibilityForScreen( | 641 UpdateStatusAreaVisibilityForScreen( |
638 OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP); | 642 OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP); |
639 SetCurrentScreen( | 643 SetCurrentScreen( |
640 GetScreen(OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP)); | 644 GetScreen(OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP)); |
641 } else { | 645 } else { |
642 OnOobeFlowFinished(); | 646 OnOobeFlowFinished(); |
643 } | 647 } |
644 } | 648 } |
645 | 649 |
| 650 void WizardController::ShowWaitForContainerReadyScreen() { |
| 651 UpdateStatusAreaVisibilityForScreen( |
| 652 OobeScreen::SCREEN_WAIT_FOR_CONTAINER_READY); |
| 653 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_WAIT_FOR_CONTAINER_READY)); |
| 654 } |
| 655 |
646 void WizardController::SkipToLoginForTesting( | 656 void WizardController::SkipToLoginForTesting( |
647 const LoginScreenContext& context) { | 657 const LoginScreenContext& context) { |
648 VLOG(1) << "SkipToLoginForTesting."; | 658 VLOG(1) << "SkipToLoginForTesting."; |
649 StartupUtils::MarkEulaAccepted(); | 659 StartupUtils::MarkEulaAccepted(); |
650 PerformPostEulaActions(); | 660 PerformPostEulaActions(); |
651 OnDeviceDisabledChecked(false /* device_disabled */); | 661 OnDeviceDisabledChecked(false /* device_disabled */); |
652 } | 662 } |
653 | 663 |
654 pairing_chromeos::SharkConnectionListener* | 664 pairing_chromeos::SharkConnectionListener* |
655 WizardController::GetSharkConnectionListenerForTesting() { | 665 WizardController::GetSharkConnectionListenerForTesting() { |
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 void WizardController::OnVoiceInteractionValuePropSkipped() { | 857 void WizardController::OnVoiceInteractionValuePropSkipped() { |
848 OnOobeFlowFinished(); | 858 OnOobeFlowFinished(); |
849 } | 859 } |
850 | 860 |
851 void WizardController::OnVoiceInteractionValuePropAccepted() { | 861 void WizardController::OnVoiceInteractionValuePropAccepted() { |
852 const Profile* profile = ProfileManager::GetActiveUserProfile(); | 862 const Profile* profile = ProfileManager::GetActiveUserProfile(); |
853 if (is_in_session_oobe_ && !arc::IsArcPlayStoreEnabledForProfile(profile)) { | 863 if (is_in_session_oobe_ && !arc::IsArcPlayStoreEnabledForProfile(profile)) { |
854 ShowArcTermsOfServiceScreen(); | 864 ShowArcTermsOfServiceScreen(); |
855 return; | 865 return; |
856 } | 866 } |
| 867 ShowWaitForContainerReadyScreen(); |
| 868 } |
| 869 |
| 870 void WizardController::OnWaitForContainerReadyFinished() { |
| 871 OnOobeFlowFinished(); |
857 StartVoiceInteractionSetupWizard(); | 872 StartVoiceInteractionSetupWizard(); |
858 OnOobeFlowFinished(); | |
859 } | 873 } |
860 | 874 |
861 void WizardController::OnControllerPairingFinished() { | 875 void WizardController::OnControllerPairingFinished() { |
862 ShowAutoEnrollmentCheckScreen(); | 876 ShowAutoEnrollmentCheckScreen(); |
863 } | 877 } |
864 | 878 |
865 void WizardController::OnAutoEnrollmentCheckCompleted() { | 879 void WizardController::OnAutoEnrollmentCheckCompleted() { |
866 // Check whether the device is disabled. OnDeviceDisabledChecked() will be | 880 // Check whether the device is disabled. OnDeviceDisabledChecked() will be |
867 // invoked when the result of this check is known. Until then, the current | 881 // invoked when the result of this check is known. Until then, the current |
868 // screen will remain visible and will continue showing a spinner. | 882 // screen will remain visible and will continue showing a spinner. |
(...skipping 247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1116 } else if (screen == OobeScreen::SCREEN_OOBE_CONTROLLER_PAIRING) { | 1130 } else if (screen == OobeScreen::SCREEN_OOBE_CONTROLLER_PAIRING) { |
1117 ShowControllerPairingScreen(); | 1131 ShowControllerPairingScreen(); |
1118 } else if (screen == OobeScreen::SCREEN_OOBE_HOST_PAIRING) { | 1132 } else if (screen == OobeScreen::SCREEN_OOBE_HOST_PAIRING) { |
1119 ShowHostPairingScreen(); | 1133 ShowHostPairingScreen(); |
1120 } else if (screen == OobeScreen::SCREEN_DEVICE_DISABLED) { | 1134 } else if (screen == OobeScreen::SCREEN_DEVICE_DISABLED) { |
1121 ShowDeviceDisabledScreen(); | 1135 ShowDeviceDisabledScreen(); |
1122 } else if (screen == OobeScreen::SCREEN_ENCRYPTION_MIGRATION) { | 1136 } else if (screen == OobeScreen::SCREEN_ENCRYPTION_MIGRATION) { |
1123 ShowEncryptionMigrationScreen(); | 1137 ShowEncryptionMigrationScreen(); |
1124 } else if (screen == OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP) { | 1138 } else if (screen == OobeScreen::SCREEN_VOICE_INTERACTION_VALUE_PROP) { |
1125 ShowVoiceInteractionValuePropScreen(); | 1139 ShowVoiceInteractionValuePropScreen(); |
| 1140 } else if (screen == OobeScreen::SCREEN_WAIT_FOR_CONTAINER_READY) { |
| 1141 ShowWaitForContainerReadyScreen(); |
1126 } else if (screen != OobeScreen::SCREEN_TEST_NO_WINDOW) { | 1142 } else if (screen != OobeScreen::SCREEN_TEST_NO_WINDOW) { |
1127 if (is_out_of_box_) { | 1143 if (is_out_of_box_) { |
1128 time_oobe_started_ = base::Time::Now(); | 1144 time_oobe_started_ = base::Time::Now(); |
1129 if (IsRemoraPairingOobe() || IsControllerDetected()) { | 1145 if (IsRemoraPairingOobe() || IsControllerDetected()) { |
1130 ShowHostPairingScreen(); | 1146 ShowHostPairingScreen(); |
1131 } else if (CanShowHIDDetectionScreen()) { | 1147 } else if (CanShowHIDDetectionScreen()) { |
1132 hid_screen_ = GetScreen(OobeScreen::SCREEN_OOBE_HID_DETECTION); | 1148 hid_screen_ = GetScreen(OobeScreen::SCREEN_OOBE_HID_DETECTION); |
1133 base::Callback<void(bool)> on_check = base::Bind( | 1149 base::Callback<void(bool)> on_check = base::Bind( |
1134 &WizardController::OnHIDScreenNecessityCheck, | 1150 &WizardController::OnHIDScreenNecessityCheck, |
1135 weak_factory_.GetWeakPtr()); | 1151 weak_factory_.GetWeakPtr()); |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1230 break; | 1246 break; |
1231 case ScreenExitCode::CONTROLLER_PAIRING_FINISHED: | 1247 case ScreenExitCode::CONTROLLER_PAIRING_FINISHED: |
1232 OnControllerPairingFinished(); | 1248 OnControllerPairingFinished(); |
1233 break; | 1249 break; |
1234 case ScreenExitCode::VOICE_INTERACTION_VALUE_PROP_SKIPPED: | 1250 case ScreenExitCode::VOICE_INTERACTION_VALUE_PROP_SKIPPED: |
1235 OnVoiceInteractionValuePropSkipped(); | 1251 OnVoiceInteractionValuePropSkipped(); |
1236 break; | 1252 break; |
1237 case ScreenExitCode::VOICE_INTERACTION_VALUE_PROP_ACCEPTED: | 1253 case ScreenExitCode::VOICE_INTERACTION_VALUE_PROP_ACCEPTED: |
1238 OnVoiceInteractionValuePropAccepted(); | 1254 OnVoiceInteractionValuePropAccepted(); |
1239 break; | 1255 break; |
| 1256 case ScreenExitCode::WAIT_FOR_CONTAINER_READY_FINISHED: |
| 1257 OnWaitForContainerReadyFinished(); |
| 1258 break; |
1240 default: | 1259 default: |
1241 NOTREACHED(); | 1260 NOTREACHED(); |
1242 } | 1261 } |
1243 } | 1262 } |
1244 | 1263 |
1245 void WizardController::ShowErrorScreen() { | 1264 void WizardController::ShowErrorScreen() { |
1246 VLOG(1) << "Showing error screen."; | 1265 VLOG(1) << "Showing error screen."; |
1247 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ERROR_MESSAGE)); | 1266 SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ERROR_MESSAGE)); |
1248 } | 1267 } |
1249 | 1268 |
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1644 SetCurrentScreen(screen); | 1663 SetCurrentScreen(screen); |
1645 } | 1664 } |
1646 | 1665 |
1647 AutoEnrollmentController* WizardController::GetAutoEnrollmentController() { | 1666 AutoEnrollmentController* WizardController::GetAutoEnrollmentController() { |
1648 if (!auto_enrollment_controller_) | 1667 if (!auto_enrollment_controller_) |
1649 auto_enrollment_controller_ = base::MakeUnique<AutoEnrollmentController>(); | 1668 auto_enrollment_controller_ = base::MakeUnique<AutoEnrollmentController>(); |
1650 return auto_enrollment_controller_.get(); | 1669 return auto_enrollment_controller_.get(); |
1651 } | 1670 } |
1652 | 1671 |
1653 } // namespace chromeos | 1672 } // namespace chromeos |
OLD | NEW |