Chromium Code Reviews| Index: components/ukm/ukm_service.cc |
| diff --git a/components/ukm/ukm_service.cc b/components/ukm/ukm_service.cc |
| index 06c3dbb5f59a60870f12b910eca9dd3289dc12db..fd8bb123059d4897c7474914a812e5b4b84ec92a 100644 |
| --- a/components/ukm/ukm_service.cc |
| +++ b/components/ukm/ukm_service.cc |
| @@ -198,6 +198,34 @@ void UkmService::DisableReporting() { |
| Flush(); |
| } |
| +#if defined(OS_ANDROID) || defined(OS_IOS) |
| +void UkmService::OnAppEnterForeground() { |
| + DCHECK(thread_checker_.CalledOnValidThread()); |
| + DVLOG(1) << "UkmService::OnAppEnterForeground"; |
| + |
| + if (!initialize_started_) |
|
Alexei Svitkine (slow)
2017/03/01 22:56:13
Can you add a comment about this case?
Bryan McQuade
2017/03/01 23:06:50
Done
|
| + return; |
| + |
| + scheduler_->Start(); |
| +} |
| + |
| +void UkmService::OnAppEnterBackground() { |
| + DCHECK(thread_checker_.CalledOnValidThread()); |
| + DVLOG(1) << "UkmService::OnAppEnterBackground"; |
| + |
| + if (!initialize_started_) |
| + return; |
| + |
| + scheduler_->Stop(); |
| + |
| + // Give providers a chance to persist ukm data as part of being backgrounded. |
| + for (auto& provider : metrics_providers_) |
| + provider->OnAppEnterBackground(); |
| + |
| + Flush(); |
| +} |
| +#endif |
| + |
| void UkmService::Flush() { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| if (initialize_complete_) |