| Index: chrome/browser/chromeos/login/screens/update_screen.cc
|
| diff --git a/chrome/browser/chromeos/login/screens/update_screen.cc b/chrome/browser/chromeos/login/screens/update_screen.cc
|
| index 40c0cc534286c7729fca064708a2290e815518ce..0a119b5ad6b351ea8d144f1d78ab1bc0001b998f 100644
|
| --- a/chrome/browser/chromeos/login/screens/update_screen.cc
|
| +++ b/chrome/browser/chromeos/login/screens/update_screen.cc
|
| @@ -22,6 +22,7 @@
|
| #include "content/public/browser/browser_thread.h"
|
|
|
| using content::BrowserThread;
|
| +using pairing_chromeos::HostPairingController;
|
|
|
| namespace chromeos {
|
|
|
| @@ -93,7 +94,8 @@ UpdateScreen* UpdateScreen::Get(ScreenManager* manager) {
|
|
|
| UpdateScreen::UpdateScreen(
|
| ScreenObserver* screen_observer,
|
| - UpdateScreenActor* actor)
|
| + UpdateScreenActor* actor,
|
| + HostPairingController* remora_controller)
|
| : WizardScreen(screen_observer),
|
| state_(STATE_IDLE),
|
| reboot_check_delay_(0),
|
| @@ -103,6 +105,7 @@ UpdateScreen::UpdateScreen(
|
| is_shown_(false),
|
| ignore_idle_status_(true),
|
| actor_(actor),
|
| + remora_controller_(remora_controller),
|
| is_first_detection_notification_(true),
|
| is_first_portal_notification_(true),
|
| weak_factory_(this) {
|
| @@ -138,6 +141,8 @@ void UpdateScreen::UpdateStatusChanged(
|
| case UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE:
|
| // Do nothing in these cases, we don't want to notify the user of the
|
| // check unless there is an update.
|
| + SetHostPairingControllerStatus(
|
| + HostPairingController::UPDATE_STATUS_UPDATING);
|
| break;
|
| case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE:
|
| MakeSureScreenIsShown();
|
| @@ -200,6 +205,8 @@ void UpdateScreen::UpdateStatusChanged(
|
| if (HasCriticalUpdate()) {
|
| actor_->ShowCurtain(false);
|
| VLOG(1) << "Initiate reboot after update";
|
| + SetHostPairingControllerStatus(
|
| + HostPairingController::UPDATE_STATUS_REBOOTING);
|
| DBusThreadManager::Get()->GetUpdateEngineClient()->RebootAfterUpdate();
|
| reboot_timer_.Start(FROM_HERE,
|
| base::TimeDelta::FromSeconds(reboot_check_delay_),
|
| @@ -321,6 +328,8 @@ void UpdateScreen::PrepareToShow() {
|
| void UpdateScreen::ExitUpdate(UpdateScreen::ExitReason reason) {
|
| DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this);
|
| NetworkPortalDetector::Get()->RemoveObserver(this);
|
| + SetHostPairingControllerStatus(HostPairingController::UPDATE_STATUS_UPDATED);
|
| +
|
|
|
| switch (reason) {
|
| case REASON_UPDATE_CANCELED:
|
| @@ -526,4 +535,11 @@ void UpdateScreen::UpdateErrorMessage(
|
| }
|
| }
|
|
|
| +void UpdateScreen::SetHostPairingControllerStatus(
|
| + HostPairingController::UpdateStatus update_status) {
|
| + if (remora_controller_) {
|
| + remora_controller_->OnUpdateStatusChanged(update_status);
|
| + }
|
| +}
|
| +
|
| } // namespace chromeos
|
|
|