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

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

Issue 8585025: chromeos: Change all clients of UpdateLibrary to use UpdateEngineClient. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address comments Created 9 years, 1 month 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/update_screen.cc
diff --git a/chrome/browser/chromeos/login/update_screen.cc b/chrome/browser/chromeos/login/update_screen.cc
index 2f2c5f638c9f573a86f7d4fdb57c6f914ff7aeb8..85954be119a9cbe2f79ef48f288b0962e6aef2cc 100644
--- a/chrome/browser/chromeos/login/update_screen.cc
+++ b/chrome/browser/chromeos/login/update_screen.cc
@@ -4,10 +4,11 @@
#include "chrome/browser/chromeos/login/update_screen.h"
+#include "base/bind.h"
#include "base/file_util.h"
#include "base/logging.h"
#include "base/threading/thread_restrictions.h"
-#include "chrome/browser/chromeos/cros/cros_library.h"
+#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h"
#include "chrome/browser/chromeos/login/screen_observer.h"
#include "chrome/browser/chromeos/login/update_screen_actor.h"
#include "chrome/browser/chromeos/login/wizard_controller.h"
@@ -39,14 +40,11 @@ const int kUpdateScreenHeight = 305;
const char kUpdateDeadlineFile[] = "/tmp/update-check-response-deadline";
// Invoked from call to RequestUpdateCheck upon completion of the DBus call.
-void StartUpdateCallback(void* user_data,
- UpdateResult result,
- const char* msg) {
+void StartUpdateCallback(UpdateScreen* screen,
+ UpdateEngineClient::UpdateCheckResult result) {
VLOG(1) << "Callback from RequestUpdateCheck, result " << result;
- DCHECK(user_data);
- UpdateScreen* screen = static_cast<UpdateScreen*>(user_data);
if (UpdateScreen::HasInstance(screen)) {
- if (result == chromeos::UPDATE_RESULT_SUCCESS)
+ if (result == UpdateEngineClient::UPDATE_RESULT_SUCCESS)
screen->SetIgnoreIdleStatus(false);
else
screen->ExitUpdate(UpdateScreen::REASON_UPDATE_INIT_FAILED);
@@ -84,27 +82,29 @@ UpdateScreen::UpdateScreen(ScreenObserver* screen_observer,
}
UpdateScreen::~UpdateScreen() {
- CrosLibrary::Get()->GetUpdateLibrary()->RemoveObserver(this);
+ DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this);
GetInstanceSet().erase(this);
if (actor_)
actor_->SetDelegate(NULL);
}
-void UpdateScreen::UpdateStatusChanged(const UpdateLibrary::Status& status) {
+void UpdateScreen::UpdateStatusChanged(
+ const UpdateEngineClient::Status& status) {
if (is_checking_for_update_ &&
- status.status > UPDATE_STATUS_CHECKING_FOR_UPDATE) {
+ status.status > UpdateEngineClient::UPDATE_STATUS_CHECKING_FOR_UPDATE) {
is_checking_for_update_ = false;
}
- if (ignore_idle_status_ && status.status > UPDATE_STATUS_IDLE) {
+ if (ignore_idle_status_ && status.status >
+ UpdateEngineClient::UPDATE_STATUS_IDLE) {
ignore_idle_status_ = false;
}
switch (status.status) {
- case UPDATE_STATUS_CHECKING_FOR_UPDATE:
+ 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.
break;
- case UPDATE_STATUS_UPDATE_AVAILABLE:
+ case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE:
MakeSureScreenIsShown();
actor_->SetProgress(kBeforeDownloadProgress);
if (!HasCriticalUpdate()) {
@@ -118,7 +118,7 @@ void UpdateScreen::UpdateStatusChanged(const UpdateLibrary::Status& status) {
actor_->ShowCurtain(false);
}
break;
- case UPDATE_STATUS_DOWNLOADING:
+ case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING:
{
MakeSureScreenIsShown();
if (!is_downloading_update_) {
@@ -141,15 +141,15 @@ void UpdateScreen::UpdateStatusChanged(const UpdateLibrary::Status& status) {
actor_->SetProgress(kBeforeDownloadProgress + download_progress);
}
break;
- case UPDATE_STATUS_VERIFYING:
+ case UpdateEngineClient::UPDATE_STATUS_VERIFYING:
MakeSureScreenIsShown();
actor_->SetProgress(kBeforeVerifyingProgress);
break;
- case UPDATE_STATUS_FINALIZING:
+ case UpdateEngineClient::UPDATE_STATUS_FINALIZING:
MakeSureScreenIsShown();
actor_->SetProgress(kBeforeFinalizingProgress);
break;
- case UPDATE_STATUS_UPDATED_NEED_REBOOT:
+ case UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT:
MakeSureScreenIsShown();
// Make sure that first OOBE stage won't be shown after reboot.
WizardController::MarkOobeCompleted();
@@ -157,7 +157,7 @@ void UpdateScreen::UpdateStatusChanged(const UpdateLibrary::Status& status) {
if (HasCriticalUpdate()) {
actor_->ShowCurtain(false);
VLOG(1) << "Initiate reboot after update";
- CrosLibrary::Get()->GetUpdateLibrary()->RebootAfterUpdate();
+ DBusThreadManager::Get()->GetUpdateEngineClient()->RebootAfterUpdate();
reboot_timer_.Start(FROM_HERE,
base::TimeDelta::FromSeconds(reboot_check_delay_),
this,
@@ -166,15 +166,15 @@ void UpdateScreen::UpdateStatusChanged(const UpdateLibrary::Status& status) {
ExitUpdate(REASON_UPDATE_NON_CRITICAL);
}
break;
- case UPDATE_STATUS_IDLE:
+ case UpdateEngineClient::UPDATE_STATUS_IDLE:
if (ignore_idle_status_) {
// It is first IDLE status that is sent before we initiated the check.
break;
}
// else no break
- case UPDATE_STATUS_ERROR:
- case UPDATE_STATUS_REPORTING_ERROR_EVENT:
+ case UpdateEngineClient::UPDATE_STATUS_ERROR:
+ case UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT:
ExitUpdate(REASON_UPDATE_ENDED);
break;
default:
@@ -184,10 +184,10 @@ void UpdateScreen::UpdateStatusChanged(const UpdateLibrary::Status& status) {
}
void UpdateScreen::StartUpdate() {
- CrosLibrary::Get()->GetUpdateLibrary()->AddObserver(this);
+ DBusThreadManager::Get()->GetUpdateEngineClient()->AddObserver(this);
VLOG(1) << "Initiate update check";
- CrosLibrary::Get()->GetUpdateLibrary()->RequestUpdateCheck(
- StartUpdateCallback, this);
+ DBusThreadManager::Get()->GetUpdateEngineClient()->RequestUpdateCheck(
+ base::Bind(StartUpdateCallback, this));
}
void UpdateScreen::CancelUpdate() {
@@ -211,7 +211,7 @@ void UpdateScreen::PrepareToShow() {
}
void UpdateScreen::ExitUpdate(UpdateScreen::ExitReason reason) {
- CrosLibrary::Get()->GetUpdateLibrary()->RemoveObserver(this);
+ DBusThreadManager::Get()->GetUpdateEngineClient()->RemoveObserver(this);
switch (reason) {
case REASON_UPDATE_CANCELED:
@@ -224,21 +224,22 @@ void UpdateScreen::ExitUpdate(UpdateScreen::ExitReason reason) {
case REASON_UPDATE_NON_CRITICAL:
case REASON_UPDATE_ENDED:
{
- UpdateLibrary* update_library = CrosLibrary::Get()->GetUpdateLibrary();
- switch (update_library->status().status) {
- case UPDATE_STATUS_UPDATE_AVAILABLE:
- case UPDATE_STATUS_UPDATED_NEED_REBOOT:
- case UPDATE_STATUS_DOWNLOADING:
- case UPDATE_STATUS_FINALIZING:
- case UPDATE_STATUS_VERIFYING:
+ UpdateEngineClient* update_engine_client =
+ DBusThreadManager::Get()->GetUpdateEngineClient();
+ switch (update_engine_client->GetLastStatus().status) {
+ case UpdateEngineClient::UPDATE_STATUS_UPDATE_AVAILABLE:
+ case UpdateEngineClient::UPDATE_STATUS_UPDATED_NEED_REBOOT:
+ case UpdateEngineClient::UPDATE_STATUS_DOWNLOADING:
+ case UpdateEngineClient::UPDATE_STATUS_FINALIZING:
+ case UpdateEngineClient::UPDATE_STATUS_VERIFYING:
DCHECK(!HasCriticalUpdate());
// Noncritical update, just exit screen as if there is no update.
// no break
- case UPDATE_STATUS_IDLE:
+ case UpdateEngineClient::UPDATE_STATUS_IDLE:
get_screen_observer()->OnExit(ScreenObserver::UPDATE_NOUPDATE);
break;
- case UPDATE_STATUS_ERROR:
- case UPDATE_STATUS_REPORTING_ERROR_EVENT:
+ case UpdateEngineClient::UPDATE_STATUS_ERROR:
+ case UpdateEngineClient::UPDATE_STATUS_REPORTING_ERROR_EVENT:
get_screen_observer()->OnExit(is_checking_for_update_ ?
ScreenObserver::UPDATE_ERROR_CHECKING_FOR_UPDATE :
ScreenObserver::UPDATE_ERROR_UPDATING);
« no previous file with comments | « chrome/browser/chromeos/login/update_screen.h ('k') | chrome/browser/chromeos/login/update_screen_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698