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

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

Issue 2358663004: Fix foregound vs background data use measurement (Closed)
Patch Set: Addressed bengr comments 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
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..c75509be3e53e582af3e1555fcc41a7be93f94b4 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,29 @@
#include "components/data_use_measurement/core/data_use_user_data.h"
+#include "base/android/application_status_listener.h"
#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 +37,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

Powered by Google App Engine
This is Rietveld 408576698