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

Unified Diff: components/data_use_measurement/core/data_use_user_data.cc

Issue 2358663004: Fix foregound vs background data use measurement (Closed)
Patch Set: rebased Created 4 years, 3 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
« no previous file with comments | « components/data_use_measurement/core/data_use_user_data.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/data_use_measurement/core/data_use_user_data.cc
diff --git a/components/data_use_measurement/core/data_use_user_data.cc b/components/data_use_measurement/core/data_use_user_data.cc
index 50578ffc36effc41417471662e2d1b84b6cdf783..b00348da76d048698d93a970dd7eb5cf08d2b571 100644
--- a/components/data_use_measurement/core/data_use_user_data.cc
+++ b/components/data_use_measurement/core/data_use_user_data.cc
@@ -4,12 +4,32 @@
#include "components/data_use_measurement/core/data_use_user_data.h"
+#if defined(OS_ANDROID)
+#include "base/android/application_status_listener.h"
+#endif
+
#include "net/url_request/url_fetcher.h"
namespace data_use_measurement {
-DataUseUserData::DataUseUserData(ServiceName service_name)
- : service_name_(service_name) {}
+namespace {
+
+DataUseUserData::AppState GetCurrentAppState() {
+#if defined(OS_ANDROID)
+ return base::android::ApplicationStatusListener::GetState() ==
+ base::android::APPLICATION_STATE_HAS_RUNNING_ACTIVITIES
+ ? DataUseUserData::FOREGROUND
+ : DataUseUserData::BACKGROUND;
+#else
+ // If the OS is not Android, all the requests are considered Foreground.
+ return DataUseUserData::FOREGROUND;
+#endif
+}
+
+} // namespace
+
+DataUseUserData::DataUseUserData(ServiceName service_name, AppState app_state)
+ : service_name_(service_name), app_state_(app_state) {}
DataUseUserData::~DataUseUserData() {}
@@ -20,7 +40,7 @@ const void* const DataUseUserData::kUserDataKey =
// static
base::SupportsUserData::Data* DataUseUserData::Create(
ServiceName service_name) {
- return new DataUseUserData(service_name);
+ return new DataUseUserData(service_name, GetCurrentAppState());
}
// static
« no previous file with comments | « components/data_use_measurement/core/data_use_user_data.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698