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

Unified Diff: chrome/browser/chromeos/login/wizard_controller.cc

Issue 326933004: Example of usage of new features of context and screen. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/login/wizard_controller.cc
diff --git a/chrome/browser/chromeos/login/wizard_controller.cc b/chrome/browser/chromeos/login/wizard_controller.cc
index 4e9380752441fca91696f6e2065b99b6a775d4b0..84f24035fd4e80d41214c11aef70cf7e9cc53d1c 100644
--- a/chrome/browser/chromeos/login/wizard_controller.cc
+++ b/chrome/browser/chromeos/login/wizard_controller.cc
@@ -33,6 +33,7 @@
#include "chrome/browser/chromeos/login/hwid_checker.h"
#include "chrome/browser/chromeos/login/login_utils.h"
#include "chrome/browser/chromeos/login/managed/locally_managed_user_creation_screen.h"
+#include "chrome/browser/chromeos/login/screens/controller_pairing_screen.h"
#include "chrome/browser/chromeos/login/screens/error_screen.h"
#include "chrome/browser/chromeos/login/screens/eula_screen.h"
#include "chrome/browser/chromeos/login/screens/hid_detection_screen.h"
@@ -102,6 +103,11 @@ bool CanShowHIDDetectionScreen() {
chromeos::switches::kEnableHIDDetectionOnOOBE);
}
+bool ShouldShowControllerPairingScreen() {
+ return CommandLine::ForCurrentProcess()->HasSwitch(
+ chromeos::switches::kShowControllerPairingDemo);
+}
+
bool IsResumableScreen(const std::string& screen) {
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kResumableScreens); ++i) {
if (screen == kResumableScreens[i])
@@ -133,6 +139,8 @@ const char WizardController::kLocallyManagedUserCreationScreenName[] =
const char WizardController::kAppLaunchSplashScreenName[] =
"app-launch-splash";
const char WizardController::kHIDDetectionScreenName[] = "hid-detection";
+const char WizardController::kControllerPairingScreenName[] =
+ "controller-pairing";
// static
const int WizardController::kMinAudibleOutputVolumePercent = 10;
@@ -358,6 +366,14 @@ chromeos::HIDDetectionScreen* WizardController::GetHIDDetectionScreen() {
return hid_detection_screen_.get();
}
+ControllerPairingScreen* WizardController::GetControllerPairingScreen() {
+ if (!controller_pairing_screen_) {
+ controller_pairing_screen_.reset(new ControllerPairingScreen(
+ this, oobe_display_->GetControllerPairingScreenActor()));
+ }
+ return controller_pairing_screen_.get();
+}
+
void WizardController::ShowNetworkScreen() {
VLOG(1) << "Showing network screen.";
// Hide the status area initially; it only appears after OOBE first animates
@@ -516,6 +532,12 @@ void WizardController::ShowHIDDetectionScreen() {
SetCurrentScreen(GetHIDDetectionScreen());
}
+void WizardController::ShowControllerPairingScreen() {
+ VLOG(1) << "Showing controller pairing screen.";
+ SetStatusAreaVisible(false);
+ SetCurrentScreen(GetControllerPairingScreen());
+}
+
void WizardController::SkipToLoginForTesting(
const LoginScreenContext& context) {
VLOG(1) << "SkipToLoginForTesting.";
@@ -570,7 +592,11 @@ void WizardController::OnConnectionFailed() {
}
void WizardController::OnUpdateCompleted() {
- ShowAutoEnrollmentCheckScreen();
+ if (ShouldShowControllerPairingScreen()) {
+ ShowControllerPairingScreen();
+ } else {
+ ShowAutoEnrollmentCheckScreen();
+ }
}
void WizardController::OnEulaAccepted() {
@@ -703,6 +729,10 @@ void WizardController::OnTermsOfServiceAccepted() {
ShowUserImageScreen();
}
+void WizardController::OnControllerPairingFinished() {
+ ShowAutoEnrollmentCheckScreen();
+}
+
void WizardController::InitiateOOBEUpdate() {
PerformPostEulaActions();
SetCurrentScreenSmooth(GetUpdateScreen(), true);
@@ -764,7 +794,7 @@ void WizardController::ShowCurrentScreen() {
FOR_EACH_OBSERVER(Observer, observer_list_, OnScreenChanged(current_screen_));
- oobe_display_->ShowScreen(current_screen_);
+ current_screen_->Show();
}
void WizardController::SetCurrentScreenSmooth(WizardScreen* new_current,
@@ -778,7 +808,7 @@ void WizardController::SetCurrentScreenSmooth(WizardScreen* new_current,
smooth_show_timer_.Stop();
if (current_screen_)
- oobe_display_->HideScreen(current_screen_);
+ current_screen_->Hide();
previous_screen_ = current_screen_;
current_screen_ = new_current;
@@ -829,6 +859,8 @@ void WizardController::AdvanceToScreen(const std::string& screen_name) {
AutoLaunchKioskApp();
} else if (screen_name == kHIDDetectionScreenName) {
ShowHIDDetectionScreen();
+ } else if (screen_name == kControllerPairingScreenName) {
+ ShowControllerPairingScreen();
} else if (screen_name != kTestNoScreenName) {
if (is_out_of_box_) {
if (CanShowHIDDetectionScreen())
@@ -907,6 +939,9 @@ void WizardController::OnExit(ExitCodes exit_code) {
case WRONG_HWID_WARNING_SKIPPED:
OnWrongHWIDWarningSkipped();
break;
+ case CONTROLLER_PAIRING_FINISHED:
+ OnControllerPairingFinished();
+ break;
default:
NOTREACHED();
}
« no previous file with comments | « chrome/browser/chromeos/login/wizard_controller.h ('k') | chrome/browser/resources/chromeos/login/login_resources.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698