| 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 |