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

Unified Diff: components/data_usage/core/data_use_aggregator.cc

Issue 1390993005: Amortize data usage using TrafficStats on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@data_use_buffering
Patch Set: Created 5 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: components/data_usage/core/data_use_aggregator.cc
diff --git a/components/data_usage/core/data_use_aggregator.cc b/components/data_usage/core/data_use_aggregator.cc
index 126bf0131e5a342ca2cac54f023df18ff9ca704f..183246868627b346fdd4a02237e2f88e3344f680 100644
--- a/components/data_usage/core/data_use_aggregator.cc
+++ b/components/data_usage/core/data_use_aggregator.cc
@@ -4,6 +4,9 @@
#include "components/data_usage/core/data_use_aggregator.h"
+#include <sstream>
+#include <string>
+
#include "base/bind.h"
#include "base/message_loop/message_loop.h"
#include "net/base/network_change_notifier.h"
@@ -11,8 +14,10 @@
namespace data_usage {
-DataUseAggregator::DataUseAggregator()
- : off_the_record_tx_bytes_since_last_flush_(0),
+DataUseAggregator::DataUseAggregator(
+ scoped_ptr<DataUseAmortizer> data_use_amortizer)
+ : data_use_amortizer_(data_use_amortizer.Pass()),
+ off_the_record_tx_bytes_since_last_flush_(0),
off_the_record_rx_bytes_since_last_flush_(0),
is_flush_pending_(false),
weak_ptr_factory_(this) {}
@@ -82,7 +87,11 @@ base::WeakPtr<DataUseAggregator> DataUseAggregator::GetWeakPtr() {
void DataUseAggregator::FlushBufferedDataUse() {
DCHECK(thread_checker_.CalledOnValidThread());
- // TODO(sclittle): Amortize data use on supported platforms.
+ if (data_use_amortizer_) {
+ data_use_amortizer_->Amortize(&buffered_data_use_,
+ off_the_record_tx_bytes_since_last_flush_,
+ off_the_record_rx_bytes_since_last_flush_);
+ }
FOR_EACH_OBSERVER(Observer, observer_list_, OnDataUse(buffered_data_use_));

Powered by Google App Engine
This is Rietveld 408576698