| 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 |