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