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

Unified Diff: chrome/browser/chromeos/login/screens/update_screen.cc

Issue 652743003: Fix update and enrollment flow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: indent Created 6 years, 2 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/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
« no previous file with comments | « chrome/browser/chromeos/login/screens/update_screen.h ('k') | chrome/browser/chromeos/login/wizard_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698