Commit 509a5b53 authored by warx's avatar warx Committed by Commit bot

cros: UpdateStatusAreaVisibility in WizardControllor::ShowCurrentScreen()

Changes:
(1) Intentionally remove SetStatusAreaVisible method as it doesn't save much code.
(2) For each screen-related status area visibility call, using UpdateStatusAreaVisibilityForScreen method.
(3) Add UpdateStatusAreaVisibilityForScreen in ShowCurrentScreen() to fix the bug.

BUG=708011
TEST=test that reporter's bug is fixed

Review-Url: https://codereview.chromium.org/2791223004
Cr-Commit-Position: refs/heads/master@{#463044}
parent abc172e2
...@@ -429,10 +429,7 @@ BaseScreen* WizardController::CreateScreen(OobeScreen screen) { ...@@ -429,10 +429,7 @@ BaseScreen* WizardController::CreateScreen(OobeScreen screen) {
void WizardController::ShowNetworkScreen() { void WizardController::ShowNetworkScreen() {
VLOG(1) << "Showing network screen."; VLOG(1) << "Showing network screen.";
// Hide the status area initially; it only appears after OOBE first animates UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_NETWORK);
// in. Keep it visible if the user goes back to the existing network screen.
SetStatusAreaVisible(
screen_manager_->HasScreen(OobeScreen::SCREEN_OOBE_NETWORK));
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_NETWORK)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_NETWORK));
// There are two possible screens where we listen to the incoming Bluetooth // There are two possible screens where we listen to the incoming Bluetooth
...@@ -457,7 +454,7 @@ void WizardController::ShowLoginScreen(const LoginScreenContext& context) { ...@@ -457,7 +454,7 @@ void WizardController::ShowLoginScreen(const LoginScreenContext& context) {
UMA_HISTOGRAM_MEDIUM_TIMES("OOBE.EULAToSignInTime", delta); UMA_HISTOGRAM_MEDIUM_TIMES("OOBE.EULAToSignInTime", delta);
} }
VLOG(1) << "Showing login screen."; VLOG(1) << "Showing login screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_SPECIAL_LOGIN);
host_->StartSignInScreen(context); host_->StartSignInScreen(context);
smooth_show_timer_.Stop(); smooth_show_timer_.Stop();
login_screen_started_ = true; login_screen_started_ = true;
...@@ -465,7 +462,7 @@ void WizardController::ShowLoginScreen(const LoginScreenContext& context) { ...@@ -465,7 +462,7 @@ void WizardController::ShowLoginScreen(const LoginScreenContext& context) {
void WizardController::ShowUpdateScreen() { void WizardController::ShowUpdateScreen() {
VLOG(1) << "Showing update screen."; VLOG(1) << "Showing update screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_UPDATE);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_UPDATE)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_UPDATE));
} }
...@@ -486,14 +483,14 @@ void WizardController::ShowUserImageScreen() { ...@@ -486,14 +483,14 @@ void WizardController::ShowUserImageScreen() {
// Status area has been already shown at sign in screen so it // Status area has been already shown at sign in screen so it
// doesn't make sense to hide it here and then show again at user session as // doesn't make sense to hide it here and then show again at user session as
// this produces undesired UX transitions. // this produces undesired UX transitions.
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_USER_IMAGE_PICKER);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_USER_IMAGE_PICKER)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_USER_IMAGE_PICKER));
} }
void WizardController::ShowEulaScreen() { void WizardController::ShowEulaScreen() {
VLOG(1) << "Showing EULA screen."; VLOG(1) << "Showing EULA screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_EULA);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_EULA)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_EULA));
} }
...@@ -507,25 +504,25 @@ void WizardController::ShowEnrollmentScreen() { ...@@ -507,25 +504,25 @@ void WizardController::ShowEnrollmentScreen() {
void WizardController::ShowResetScreen() { void WizardController::ShowResetScreen() {
VLOG(1) << "Showing reset screen."; VLOG(1) << "Showing reset screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_RESET);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_RESET)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_RESET));
} }
void WizardController::ShowKioskEnableScreen() { void WizardController::ShowKioskEnableScreen() {
VLOG(1) << "Showing kiosk enable screen."; VLOG(1) << "Showing kiosk enable screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_KIOSK_ENABLE);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_KIOSK_ENABLE)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_KIOSK_ENABLE));
} }
void WizardController::ShowKioskAutolaunchScreen() { void WizardController::ShowKioskAutolaunchScreen() {
VLOG(1) << "Showing kiosk autolaunch screen."; VLOG(1) << "Showing kiosk autolaunch screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_KIOSK_AUTOLAUNCH);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_KIOSK_AUTOLAUNCH)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_KIOSK_AUTOLAUNCH));
} }
void WizardController::ShowEnableDebuggingScreen() { void WizardController::ShowEnableDebuggingScreen() {
VLOG(1) << "Showing enable developer features screen."; VLOG(1) << "Showing enable developer features screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING));
} }
...@@ -541,7 +538,7 @@ void WizardController::ShowTermsOfServiceScreen() { ...@@ -541,7 +538,7 @@ void WizardController::ShowTermsOfServiceScreen() {
} }
VLOG(1) << "Showing Terms of Service screen."; VLOG(1) << "Showing Terms of Service screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_TERMS_OF_SERVICE);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_TERMS_OF_SERVICE)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_TERMS_OF_SERVICE));
} }
...@@ -568,7 +565,8 @@ void WizardController::ShowArcTermsOfServiceScreen() { ...@@ -568,7 +565,8 @@ void WizardController::ShowArcTermsOfServiceScreen() {
if (show_arc_terms) { if (show_arc_terms) {
VLOG(1) << "Showing ARC Terms of Service screen."; VLOG(1) << "Showing ARC Terms of Service screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(
OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ARC_TERMS_OF_SERVICE));
} else { } else {
ShowUserImageScreen(); ShowUserImageScreen();
...@@ -577,13 +575,13 @@ void WizardController::ShowArcTermsOfServiceScreen() { ...@@ -577,13 +575,13 @@ void WizardController::ShowArcTermsOfServiceScreen() {
void WizardController::ShowWrongHWIDScreen() { void WizardController::ShowWrongHWIDScreen() {
VLOG(1) << "Showing wrong HWID screen."; VLOG(1) << "Showing wrong HWID screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_WRONG_HWID);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_WRONG_HWID)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_WRONG_HWID));
} }
void WizardController::ShowAutoEnrollmentCheckScreen() { void WizardController::ShowAutoEnrollmentCheckScreen() {
VLOG(1) << "Showing Auto-enrollment check screen."; VLOG(1) << "Showing Auto-enrollment check screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_AUTO_ENROLLMENT_CHECK);
AutoEnrollmentCheckScreen* screen = AutoEnrollmentCheckScreen* screen =
AutoEnrollmentCheckScreen::Get(screen_manager()); AutoEnrollmentCheckScreen::Get(screen_manager());
if (retry_auto_enrollment_check_) if (retry_auto_enrollment_check_)
...@@ -594,19 +592,20 @@ void WizardController::ShowAutoEnrollmentCheckScreen() { ...@@ -594,19 +592,20 @@ void WizardController::ShowAutoEnrollmentCheckScreen() {
void WizardController::ShowSupervisedUserCreationScreen() { void WizardController::ShowSupervisedUserCreationScreen() {
VLOG(1) << "Showing Locally managed user creation screen screen."; VLOG(1) << "Showing Locally managed user creation screen screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(
OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_CREATE_SUPERVISED_USER_FLOW));
} }
void WizardController::ShowArcKioskSplashScreen() { void WizardController::ShowArcKioskSplashScreen() {
VLOG(1) << "Showing ARC kiosk splash screen."; VLOG(1) << "Showing ARC kiosk splash screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_ARC_KIOSK_SPLASH);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ARC_KIOSK_SPLASH)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ARC_KIOSK_SPLASH));
} }
void WizardController::ShowHIDDetectionScreen() { void WizardController::ShowHIDDetectionScreen() {
VLOG(1) << "Showing HID discovery screen."; VLOG(1) << "Showing HID discovery screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_HID_DETECTION);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_HID_DETECTION)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_HID_DETECTION));
// In HID detection screen, puts the Bluetooth in discoverable mode and waits // In HID detection screen, puts the Bluetooth in discoverable mode and waits
// for the incoming Bluetooth connection request. See the comments in // for the incoming Bluetooth connection request. See the comments in
...@@ -616,25 +615,26 @@ void WizardController::ShowHIDDetectionScreen() { ...@@ -616,25 +615,26 @@ void WizardController::ShowHIDDetectionScreen() {
void WizardController::ShowControllerPairingScreen() { void WizardController::ShowControllerPairingScreen() {
VLOG(1) << "Showing controller pairing screen."; VLOG(1) << "Showing controller pairing screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(
OobeScreen::SCREEN_OOBE_CONTROLLER_PAIRING);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_CONTROLLER_PAIRING)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_CONTROLLER_PAIRING));
} }
void WizardController::ShowHostPairingScreen() { void WizardController::ShowHostPairingScreen() {
VLOG(1) << "Showing host pairing screen."; VLOG(1) << "Showing host pairing screen.";
SetStatusAreaVisible(false); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_HOST_PAIRING);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_HOST_PAIRING)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_OOBE_HOST_PAIRING));
} }
void WizardController::ShowDeviceDisabledScreen() { void WizardController::ShowDeviceDisabledScreen() {
VLOG(1) << "Showing device disabled screen."; VLOG(1) << "Showing device disabled screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_DEVICE_DISABLED);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_DEVICE_DISABLED)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_DEVICE_DISABLED));
} }
void WizardController::ShowEncryptionMigrationScreen() { void WizardController::ShowEncryptionMigrationScreen() {
VLOG(1) << "Showing encryption migration screen."; VLOG(1) << "Showing encryption migration screen.";
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_ENCRYPTION_MIGRATION);
SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ENCRYPTION_MIGRATION)); SetCurrentScreen(GetScreen(OobeScreen::SCREEN_ENCRYPTION_MIGRATION));
} }
...@@ -971,6 +971,7 @@ void WizardController::ShowCurrentScreen() { ...@@ -971,6 +971,7 @@ void WizardController::ShowCurrentScreen() {
smooth_show_timer_.Stop(); smooth_show_timer_.Stop();
UpdateStatusAreaVisibilityForScreen(current_screen_->screen_id());
current_screen_->Show(); current_screen_->Show();
} }
...@@ -1006,8 +1007,24 @@ void WizardController::SetCurrentScreenSmooth(BaseScreen* new_current, ...@@ -1006,8 +1007,24 @@ void WizardController::SetCurrentScreenSmooth(BaseScreen* new_current,
} }
} }
void WizardController::SetStatusAreaVisible(bool visible) { void WizardController::UpdateStatusAreaVisibilityForScreen(OobeScreen screen) {
host_->SetStatusAreaVisible(visible); if (screen == OobeScreen::SCREEN_OOBE_NETWORK) {
// Hide the status area initially; it only appears after OOBE first animates
// in. Keep it visible if the user goes back to the existing network screen.
host_->SetStatusAreaVisible(
screen_manager_->HasScreen(OobeScreen::SCREEN_OOBE_NETWORK));
} else if (screen == OobeScreen::SCREEN_OOBE_RESET ||
screen == OobeScreen::SCREEN_KIOSK_ENABLE ||
screen == OobeScreen::SCREEN_KIOSK_AUTOLAUNCH ||
screen == OobeScreen::SCREEN_OOBE_ENABLE_DEBUGGING ||
screen == OobeScreen::SCREEN_WRONG_HWID ||
screen == OobeScreen::SCREEN_ARC_KIOSK_SPLASH ||
screen == OobeScreen::SCREEN_OOBE_CONTROLLER_PAIRING ||
screen == OobeScreen::SCREEN_OOBE_HOST_PAIRING) {
host_->SetStatusAreaVisible(false);
} else {
host_->SetStatusAreaVisible(true);
}
} }
void WizardController::SetShowMdOobe(bool show) { void WizardController::SetShowMdOobe(bool show) {
...@@ -1310,7 +1327,7 @@ void WizardController::AutoLaunchKioskApp() { ...@@ -1310,7 +1327,7 @@ void WizardController::AutoLaunchKioskApp() {
// If the |cros_settings_| are permanently untrusted, show an error message // If the |cros_settings_| are permanently untrusted, show an error message
// and refuse to auto-launch the kiosk app. // and refuse to auto-launch the kiosk app.
GetErrorScreen()->SetUIState(NetworkError::UI_STATE_LOCAL_STATE_ERROR); GetErrorScreen()->SetUIState(NetworkError::UI_STATE_LOCAL_STATE_ERROR);
SetStatusAreaVisible(false); host_->SetStatusAreaVisible(false);
ShowErrorScreen(); ShowErrorScreen();
return; return;
} }
...@@ -1362,7 +1379,7 @@ void WizardController::OnLocalStateInitialized(bool /* succeeded */) { ...@@ -1362,7 +1379,7 @@ void WizardController::OnLocalStateInitialized(bool /* succeeded */) {
return; return;
} }
GetErrorScreen()->SetUIState(NetworkError::UI_STATE_LOCAL_STATE_ERROR); GetErrorScreen()->SetUIState(NetworkError::UI_STATE_LOCAL_STATE_ERROR);
SetStatusAreaVisible(false); host_->SetStatusAreaVisible(false);
ShowErrorScreen(); ShowErrorScreen();
} }
...@@ -1518,7 +1535,7 @@ void WizardController::StartEnrollmentScreen(bool force_interactive) { ...@@ -1518,7 +1535,7 @@ void WizardController::StartEnrollmentScreen(bool force_interactive) {
EnrollmentScreen* screen = EnrollmentScreen::Get(screen_manager()); EnrollmentScreen* screen = EnrollmentScreen::Get(screen_manager());
screen->SetParameters(effective_config, shark_controller_.get()); screen->SetParameters(effective_config, shark_controller_.get());
SetStatusAreaVisible(true); UpdateStatusAreaVisibilityForScreen(OobeScreen::SCREEN_OOBE_ENROLLMENT);
SetCurrentScreen(screen); SetCurrentScreen(screen);
} }
......
...@@ -241,8 +241,8 @@ class WizardController : public BaseScreenDelegate, ...@@ -241,8 +241,8 @@ class WizardController : public BaseScreenDelegate,
// ShowCurrentScreen directly forces screen to be shown immediately. // ShowCurrentScreen directly forces screen to be shown immediately.
void SetCurrentScreenSmooth(BaseScreen* screen, bool use_smoothing); void SetCurrentScreenSmooth(BaseScreen* screen, bool use_smoothing);
// Changes status area visibility. // Update the status area visibility for |screen|.
void SetStatusAreaVisible(bool visible); void UpdateStatusAreaVisibilityForScreen(OobeScreen screen);
// Changes whether to show the Material Design OOBE or not. // Changes whether to show the Material Design OOBE or not.
void SetShowMdOobe(bool show); void SetShowMdOobe(bool show);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment