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

Unified Diff: chrome/browser/chromeos/cros/power_library.cc

Issue 8347016: chromeos: Simplify power supply info in PowerLibrary (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fixed copy error Created 9 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/cros/power_library.cc
diff --git a/chrome/browser/chromeos/cros/power_library.cc b/chrome/browser/chromeos/cros/power_library.cc
index acde536b9fdccfb3aa2412f8916cd9607841f29c..b9be7fe4153655b3edcfb78d147581b853947687 100644
--- a/chrome/browser/chromeos/cros/power_library.cc
+++ b/chrome/browser/chromeos/cros/power_library.cc
@@ -4,6 +4,8 @@
#include "chrome/browser/chromeos/cros/power_library.h"
+#include <algorithm>
+
#include "base/basictypes.h"
#include "base/compiler_specific.h"
#include "base/logging.h"
@@ -21,8 +23,7 @@ class PowerLibraryImpl : public PowerLibrary {
public:
PowerLibraryImpl()
: power_status_connection_(NULL),
- resume_status_connection_(NULL),
- status_(chromeos::PowerStatus()) {
+ resume_status_connection_(NULL) {
}
virtual ~PowerLibraryImpl() {
@@ -53,30 +54,6 @@ class PowerLibraryImpl : public PowerLibrary {
observers_.RemoveObserver(observer);
}
- virtual bool IsLinePowerOn() const OVERRIDE {
- return status_.line_power_on;
- }
-
- virtual bool IsBatteryFullyCharged() const OVERRIDE {
- return status_.battery_state == chromeos::BATTERY_STATE_FULLY_CHARGED;
- }
-
- virtual double GetBatteryPercentage() const OVERRIDE {
- return status_.battery_percentage;
- }
-
- virtual bool IsBatteryPresent() const OVERRIDE {
- return status_.battery_is_present;
- }
-
- virtual base::TimeDelta GetBatteryTimeToEmpty() const OVERRIDE {
- return base::TimeDelta::FromSeconds(status_.battery_time_to_empty);
- }
-
- virtual base::TimeDelta GetBatteryTimeToFull() const OVERRIDE {
- return base::TimeDelta::FromSeconds(status_.battery_time_to_full);
- }
-
virtual void CalculateIdleTime(CalculateIdleTimeCallback* callback) OVERRIDE {
// TODO(sidor): Examine if it's really a good idea to use void* as a second
// argument.
@@ -129,7 +106,7 @@ class PowerLibraryImpl : public PowerLibrary {
}
static void PowerStatusChangedHandler(void* object,
- const chromeos::PowerStatus& status) {
+ const PowerStatus& status) {
PowerLibraryImpl* power = static_cast<PowerLibraryImpl*>(object);
power->UpdatePowerStatus(status);
}
@@ -139,7 +116,7 @@ class PowerLibraryImpl : public PowerLibrary {
power->SystemResumed();
}
- void UpdatePowerStatus(const chromeos::PowerStatus& status) {
+ void UpdatePowerStatus(const PowerStatus& status) {
// Make sure we run on UI thread.
if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
BrowserThread::PostTask(
@@ -154,8 +131,7 @@ class PowerLibraryImpl : public PowerLibrary {
<< " per=" << status.battery_percentage
<< " tte=" << status.battery_time_to_empty
<< " ttf=" << status.battery_time_to_full;
- status_ = status;
- FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(this));
+ FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(status));
}
void SystemResumed() {
@@ -179,9 +155,6 @@ class PowerLibraryImpl : public PowerLibrary {
// A reference to the resume alerts.
chromeos::ResumeConnection resume_status_connection_;
- // The latest power status.
- chromeos::PowerStatus status_;
-
DISALLOW_COPY_AND_ASSIGN(PowerLibraryImpl);
};
@@ -207,36 +180,6 @@ class PowerLibraryStubImpl : public PowerLibrary {
observers_.RemoveObserver(observer);
}
- virtual bool IsLinePowerOn() const OVERRIDE {
- return !discharging_;
- }
-
- virtual bool IsBatteryFullyCharged() const OVERRIDE {
- return battery_percentage_ == 100;
- }
-
- virtual double GetBatteryPercentage() const OVERRIDE {
- return battery_percentage_;
- }
-
- virtual bool IsBatteryPresent() const OVERRIDE {
- return true;
- }
-
- virtual base::TimeDelta GetBatteryTimeToEmpty() const OVERRIDE {
- if (battery_percentage_ == 0)
- return base::TimeDelta::FromSeconds(1);
- else
- return (base::TimeDelta::FromHours(3) * battery_percentage_) / 100;
- }
-
- virtual base::TimeDelta GetBatteryTimeToFull() const OVERRIDE {
- if (battery_percentage_ == 100)
- return base::TimeDelta::FromSeconds(1);
- else
- return base::TimeDelta::FromHours(3) - GetBatteryTimeToEmpty();
- }
-
virtual void CalculateIdleTime(CalculateIdleTimeCallback* callback) OVERRIDE {
callback->Run(0);
delete callback;
@@ -280,7 +223,16 @@ class PowerLibraryStubImpl : public PowerLibrary {
}
}
battery_percentage_ += (discharging_ ? -1 : 1);
- FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(this));
+
+ PowerStatus status;
+ status.line_power_on = !discharging_;
+ status.battery_is_present = true;
+ status.battery_percentage = battery_percentage_;
+ status.battery_time_to_empty = std::max(1, battery_percentage_ * 180 / 100);
+ status.battery_time_to_full = std::max(1LL,
+ 180 - status.battery_time_to_empty);
stevenjb 2011/10/18 23:08:23 It seems like PowerStatus should just store percen
satorux1 2011/10/19 21:16:55 This is a stub implementation. PowerStatus data c
+
+ FOR_EACH_OBSERVER(Observer, observers_, PowerChanged(status));
}
bool discharging_;

Powered by Google App Engine
This is Rietveld 408576698