OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chromecast/browser/metrics/cast_metrics_service_client.h" | 5 #include "chromecast/browser/metrics/cast_metrics_service_client.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/guid.h" | 8 #include "base/guid.h" |
9 #include "base/i18n/rtl.h" | 9 #include "base/i18n/rtl.h" |
10 #include "base/prefs/pref_service.h" | 10 #include "base/prefs/pref_service.h" |
| 11 #include "base/thread_task_runner_handle.h" |
11 #include "chromecast/browser/metrics/cast_stability_metrics_provider.h" | 12 #include "chromecast/browser/metrics/cast_stability_metrics_provider.h" |
12 #include "chromecast/browser/metrics/platform_metrics_providers.h" | 13 #include "chromecast/browser/metrics/platform_metrics_providers.h" |
13 #include "chromecast/common/chromecast_switches.h" | 14 #include "chromecast/common/chromecast_switches.h" |
14 #include "chromecast/common/pref_names.h" | 15 #include "chromecast/common/pref_names.h" |
15 #include "components/metrics/client_info.h" | 16 #include "components/metrics/client_info.h" |
16 #include "components/metrics/gpu/gpu_metrics_provider.h" | 17 #include "components/metrics/gpu/gpu_metrics_provider.h" |
17 #include "components/metrics/metrics_pref_names.h" | 18 #include "components/metrics/metrics_pref_names.h" |
18 #include "components/metrics/metrics_provider.h" | 19 #include "components/metrics/metrics_provider.h" |
19 #include "components/metrics/metrics_service.h" | 20 #include "components/metrics/metrics_service.h" |
20 #include "components/metrics/metrics_state_manager.h" | 21 #include "components/metrics/metrics_state_manager.h" |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 uma_server_url, | 156 uma_server_url, |
156 ::metrics::kDefaultMetricsMimeType, | 157 ::metrics::kDefaultMetricsMimeType, |
157 on_upload_complete)); | 158 on_upload_complete)); |
158 } | 159 } |
159 | 160 |
160 base::TimeDelta CastMetricsServiceClient::GetStandardUploadInterval() { | 161 base::TimeDelta CastMetricsServiceClient::GetStandardUploadInterval() { |
161 return base::TimeDelta::FromMinutes(kStandardUploadIntervalMinutes); | 162 return base::TimeDelta::FromMinutes(kStandardUploadIntervalMinutes); |
162 } | 163 } |
163 | 164 |
164 void CastMetricsServiceClient::EnableMetricsService(bool enabled) { | 165 void CastMetricsServiceClient::EnableMetricsService(bool enabled) { |
165 if (!metrics_service_loop_->BelongsToCurrentThread()) { | 166 if (!task_runner_->BelongsToCurrentThread()) { |
166 metrics_service_loop_->PostTask( | 167 task_runner_->PostTask( |
167 FROM_HERE, | 168 FROM_HERE, base::Bind(&CastMetricsServiceClient::EnableMetricsService, |
168 base::Bind(&CastMetricsServiceClient::EnableMetricsService, | 169 base::Unretained(this), enabled)); |
169 base::Unretained(this), | |
170 enabled)); | |
171 return; | 170 return; |
172 } | 171 } |
173 | 172 |
174 if (enabled) { | 173 if (enabled) { |
175 metrics_service_->Start(); | 174 metrics_service_->Start(); |
176 } else { | 175 } else { |
177 metrics_service_->Stop(); | 176 metrics_service_->Stop(); |
178 } | 177 } |
179 } | 178 } |
180 | 179 |
181 CastMetricsServiceClient::CastMetricsServiceClient( | 180 CastMetricsServiceClient::CastMetricsServiceClient( |
182 base::TaskRunner* io_task_runner, | 181 base::TaskRunner* io_task_runner, |
183 PrefService* pref_service, | 182 PrefService* pref_service, |
184 net::URLRequestContextGetter* request_context) | 183 net::URLRequestContextGetter* request_context) |
185 : io_task_runner_(io_task_runner), | 184 : io_task_runner_(io_task_runner), |
186 pref_service_(pref_service), | 185 pref_service_(pref_service), |
187 cast_service_(NULL), | 186 cast_service_(NULL), |
188 #if !defined(OS_ANDROID) | 187 #if !defined(OS_ANDROID) |
189 external_metrics_(NULL), | 188 external_metrics_(NULL), |
190 #endif // !defined(OS_ANDROID) | 189 #endif // !defined(OS_ANDROID) |
191 metrics_service_loop_(base::MessageLoopProxy::current()), | 190 task_runner_(base::ThreadTaskRunnerHandle::Get()), |
192 request_context_(request_context) { | 191 request_context_(request_context) { |
193 } | 192 } |
194 | 193 |
195 CastMetricsServiceClient::~CastMetricsServiceClient() { | 194 CastMetricsServiceClient::~CastMetricsServiceClient() { |
196 #if !defined(OS_ANDROID) | 195 #if !defined(OS_ANDROID) |
197 DCHECK(!external_metrics_); | 196 DCHECK(!external_metrics_); |
198 #endif // !defined(OS_ANDROID) | 197 #endif // !defined(OS_ANDROID) |
199 } | 198 } |
200 | 199 |
201 void CastMetricsServiceClient::Initialize(CastService* cast_service) { | 200 void CastMetricsServiceClient::Initialize(CastService* cast_service) { |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
274 #endif // defined(OS_LINUX) | 273 #endif // defined(OS_LINUX) |
275 metrics_service_->Stop(); | 274 metrics_service_->Stop(); |
276 } | 275 } |
277 | 276 |
278 bool CastMetricsServiceClient::IsReportingEnabled() { | 277 bool CastMetricsServiceClient::IsReportingEnabled() { |
279 return PlatformIsReportingEnabled(cast_service_); | 278 return PlatformIsReportingEnabled(cast_service_); |
280 } | 279 } |
281 | 280 |
282 } // namespace metrics | 281 } // namespace metrics |
283 } // namespace chromecast | 282 } // namespace chromecast |
OLD | NEW |