OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "blimp/engine/app/blimp_metrics_service_client.h" | 5 #include "blimp/engine/app/blimp_metrics_service_client.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/i18n/rtl.h" | 8 #include "base/i18n/rtl.h" |
9 #include "base/lazy_instance.h" | 9 #include "base/lazy_instance.h" |
10 #include "base/memory/ptr_util.h" | 10 #include "base/memory/ptr_util.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "net/url_request/url_request_context_getter.h" | 24 #include "net/url_request/url_request_context_getter.h" |
25 | 25 |
26 namespace blimp { | 26 namespace blimp { |
27 namespace engine { | 27 namespace engine { |
28 namespace { | 28 namespace { |
29 | 29 |
30 // How often after initial logging metrics results should be uploaded to the | 30 // How often after initial logging metrics results should be uploaded to the |
31 // metrics service. | 31 // metrics service. |
32 const int kStandardUploadIntervalMinutes = 30; | 32 const int kStandardUploadIntervalMinutes = 30; |
33 | 33 |
34 // Returns if the MetricsService should be recording metrics information for | |
35 // the client. Always true. | |
36 // This callback is required by MetricsStateManager::Create. | |
37 bool IsReportingEnabled() { | |
38 return true; | |
39 } | |
40 | |
41 // Store/LoadClientInfo allows Windows Chrome to back up ClientInfo. | 34 // Store/LoadClientInfo allows Windows Chrome to back up ClientInfo. |
42 // Both are no-ops for Blimp. | 35 // Both are no-ops for Blimp. |
43 // These callbacks are required by MetricsStateManager::Create. | 36 // These callbacks are required by MetricsStateManager::Create. |
44 void StoreClientInfo(const metrics::ClientInfo& client_info) {} | 37 void StoreClientInfo(const metrics::ClientInfo& client_info) {} |
45 | 38 |
46 std::unique_ptr<metrics::ClientInfo> LoadClientInfo() { | 39 std::unique_ptr<metrics::ClientInfo> LoadClientInfo() { |
47 return nullptr; | 40 return nullptr; |
48 } | 41 } |
49 | 42 |
50 } // namespace | 43 } // namespace |
51 | 44 |
52 BlimpMetricsServiceClient::BlimpMetricsServiceClient( | 45 BlimpMetricsServiceClient::BlimpMetricsServiceClient( |
53 PrefService* pref_service, | 46 PrefService* pref_service, |
54 scoped_refptr<net::URLRequestContextGetter> request_context_getter) { | 47 scoped_refptr<net::URLRequestContextGetter> request_context_getter) { |
55 request_context_getter_ = request_context_getter; | 48 request_context_getter_ = request_context_getter; |
56 | 49 |
57 metrics_state_manager_ = metrics::MetricsStateManager::Create( | 50 metrics_state_manager_ = metrics::MetricsStateManager::Create( |
58 pref_service, base::Bind(&IsReportingEnabled), | 51 pref_service, this, base::Bind(&StoreClientInfo), |
59 base::Bind(&StoreClientInfo), base::Bind(&LoadClientInfo)); | 52 base::Bind(&LoadClientInfo)); |
60 | 53 |
61 // Metrics state manager created while other class instances exist. | 54 // Metrics state manager created while other class instances exist. |
62 // Sign of multiple initializations. | 55 // Sign of multiple initializations. |
63 DCHECK(metrics_state_manager_); | 56 DCHECK(metrics_state_manager_); |
64 | 57 |
65 metrics_service_.reset(new metrics::MetricsService( | 58 metrics_service_.reset(new metrics::MetricsService( |
66 metrics_state_manager_.get(), this, pref_service)); | 59 metrics_state_manager_.get(), this, pref_service)); |
67 metrics_service_->RegisterMetricsProvider( | 60 metrics_service_->RegisterMetricsProvider( |
68 base::WrapUnique<metrics::MetricsProvider>( | 61 base::WrapUnique<metrics::MetricsProvider>( |
69 new metrics::NetworkMetricsProvider( | 62 new metrics::NetworkMetricsProvider( |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 | 149 |
157 base::TimeDelta BlimpMetricsServiceClient::GetStandardUploadInterval() { | 150 base::TimeDelta BlimpMetricsServiceClient::GetStandardUploadInterval() { |
158 return base::TimeDelta::FromMinutes(kStandardUploadIntervalMinutes); | 151 return base::TimeDelta::FromMinutes(kStandardUploadIntervalMinutes); |
159 } | 152 } |
160 | 153 |
161 metrics::MetricsServiceClient::EnableMetricsDefault | 154 metrics::MetricsServiceClient::EnableMetricsDefault |
162 BlimpMetricsServiceClient::GetDefaultOptIn() { | 155 BlimpMetricsServiceClient::GetDefaultOptIn() { |
163 return OPT_IN; | 156 return OPT_IN; |
164 } | 157 } |
165 | 158 |
| 159 bool BlimpMetricsServiceClient::IsConsentGiven() { |
| 160 return true; |
| 161 } |
| 162 |
166 } // namespace engine | 163 } // namespace engine |
167 } // namespace blimp | 164 } // namespace blimp |
OLD | NEW |