Index: chromeos/power/power_data_collector.cc |
diff --git a/chromeos/power/power_data_collector.cc b/chromeos/power/power_data_collector.cc |
index cc84e5c9a299e86aaa06d98d27cb8f9e61e84554..086ee927f29f6c9d697a6e729f91d29a726a358d 100644 |
--- a/chromeos/power/power_data_collector.cc |
+++ b/chromeos/power/power_data_collector.cc |
@@ -17,6 +17,8 @@ PowerDataCollector* g_power_data_collector = NULL; |
} // namespace |
+const unsigned int PowerDataCollector::kSampleTimeLimitSec = 24 * 60 * 60; |
+ |
// static |
void PowerDataCollector::Initialize() { |
// Check that power data collector is initialized only after the |
@@ -47,8 +49,7 @@ void PowerDataCollector::PowerChanged( |
snapshot.external_power = (prop.external_power() != |
power_manager::PowerSupplyProperties::DISCONNECTED); |
snapshot.battery_percent = prop.battery_percent(); |
- |
- power_supply_data_.push_back(snapshot); |
+ AddSnapshot(snapshot); |
} |
PowerDataCollector::PowerDataCollector() { |
@@ -61,6 +62,19 @@ PowerDataCollector::~PowerDataCollector() { |
dbus_manager->GetPowerManagerClient()->RemoveObserver(this); |
} |
+void PowerDataCollector::AddSnapshot(const PowerSupplySnapshot& snapshot) { |
+ while (power_supply_data_.size() > 0) { |
Daniel Erat
2014/01/10 21:44:14
nit: while (!power_supply_data_.empty())
Siva Chandra
2014/01/10 22:18:09
Done.
|
+ PowerSupplySnapshot first = power_supply_data_.front(); |
Daniel Erat
2014/01/10 21:44:14
nit: const PowerSupplySnapshot& first
Siva Chandra
2014/01/10 22:18:09
Done.
|
+ if (snapshot.time - first.time >= |
Daniel Erat
2014/01/10 21:44:14
nit: should probably be > instead of >=, based on
Siva Chandra
2014/01/10 22:18:09
Done.
|
+ base::TimeDelta::FromSeconds(kSampleTimeLimitSec)) { |
+ power_supply_data_.pop_front(); |
+ } else { |
+ break; |
+ } |
+ } |
+ power_supply_data_.push_back(snapshot); |
+} |
+ |
PowerDataCollector::PowerSupplySnapshot::PowerSupplySnapshot() |
: time(base::TimeTicks::Now()), |
external_power(false), |