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

Unified Diff: chrome/browser/metrics/metrics_network_observer.cc

Issue 246553003: Record Mobile Operator ID in UMA report. This is Android only for now. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@operator_id
Patch Set: . Created 6 years, 8 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/metrics/metrics_network_observer.cc
diff --git a/chrome/browser/metrics/metrics_network_observer.cc b/chrome/browser/metrics/metrics_network_observer.cc
index 9717d1d837236d1067bff08a32626a3571acfad3..dd4fcf2042cf58288ea9a946d705b782518af0fc 100644
--- a/chrome/browser/metrics/metrics_network_observer.cc
+++ b/chrome/browser/metrics/metrics_network_observer.cc
@@ -9,6 +9,20 @@
#include "base/threading/sequenced_worker_pool.h"
#include "content/public/browser/browser_thread.h"
+#if defined(OS_ANDROID)
+#include "content/common/android/device_telephony_info.h"
+#endif
+
+#if defined(OS_ANDROID)
+namespace {
+
+ std::string GetAndroidNetworkOperatorID() {
+ content::DeviceTelephonyInfo device_info;
+ return device_info.GetNetworkOperator();
+ }
+
+}
+#endif
MetricsNetworkObserver::MetricsNetworkObserver()
: weak_ptr_factory_(this),
@@ -18,6 +32,7 @@ MetricsNetworkObserver::MetricsNetworkObserver()
net::NetworkChangeNotifier::AddConnectionTypeObserver(this);
connection_type_ = net::NetworkChangeNotifier::GetConnectionType();
ProbeWifiPHYLayerProtocol();
+ GetNetworkOperatorID();
}
MetricsNetworkObserver::~MetricsNetworkObserver() {
@@ -41,6 +56,7 @@ void MetricsNetworkObserver::OnConnectionTypeChanged(
connection_type_ = type;
ProbeWifiPHYLayerProtocol();
+ GetNetworkOperatorID();
}
SystemProfileProto::Network::ConnectionType
@@ -104,3 +120,17 @@ void MetricsNetworkObserver::OnWifiPHYLayerProtocolResult(
wifi_phy_layer_protocol_ = mode;
}
+void MetricsNetworkObserver::GetNetworkOperatorID() {
+#if defined(OS_ANDROID)
+ PostTaskAndReplyWithResult(
+ content::BrowserThread::GetBlockingPool(),
+ FROM_HERE,
+ base::Bind(&GetAndroidNetworkOperatorID),
+ base::Bind(&MetricsNetworkObserver::OnNetworkOperatorID,
+ weak_ptr_factory_.GetWeakPtr()));
+#endif
+}
+
+void MetricsNetworkObserver::OnNetworkOperatorID(std::string id) {
+ network_operator_id_ = id;
+}

Powered by Google App Engine
This is Rietveld 408576698