Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(317)

Side by Side Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 2947483002: Create OOBE screen for Waiting for Container ready (Closed)
Patch Set: Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698