[Metrics] Set up Family User Metrics framework

This CL adds an observer to FamilyUserMetricsService, which is
intended to be the interface for all future Family User Metrics
classes. Common functionality can be refactored into this interface.
For example, many metrics require daily reporting, so this interface
initially contains a virtual function that's called when a new day is
detected. FamilyUserMetricsService will own all the metrics objects,
and can manipulate them in a uniform way through the interface. This
CL also adds logic to FamilyUserMetricsService for detecting date
changes using a repeating timer.

Bug: 1103081,1110557,1114849
Change-Id: I77c30e3e8bccb5f55b37a4b57db167daa2819160
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2359028
Commit-Queue: Toby Huang <[email protected]>
Reviewed-by: Aga Wronska <[email protected]>
Reviewed-by: Brian White <[email protected]>
Reviewed-by: Avi Drissman <[email protected]>
Cr-Commit-Position: refs/heads/master@{#803391}
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index a2d024c..d171043 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -266,6 +266,7 @@
 #include "chrome/browser/chromeos/arc/session/arc_session_manager.h"
 #include "chrome/browser/chromeos/bluetooth/debug_logs_manager.h"
 #include "chrome/browser/chromeos/cert_provisioning/cert_provisioning_common.h"
+#include "chrome/browser/chromeos/child_accounts/family_user_metrics_service.h"
 #include "chrome/browser/chromeos/child_accounts/family_user_session_metrics.h"
 #include "chrome/browser/chromeos/child_accounts/parent_access_code/parent_access_service.h"
 #include "chrome/browser/chromeos/child_accounts/screen_time_controller.h"
@@ -1060,6 +1061,7 @@
   chromeos::ClientAppMetadataProviderService::RegisterProfilePrefs(registry);
   chromeos::CupsPrintersManager::RegisterProfilePrefs(registry);
   chromeos::device_sync::DeviceSyncImpl::RegisterProfilePrefs(registry);
+  chromeos::FamilyUserMetricsService::RegisterProfilePrefs(registry);
   chromeos::FamilyUserSessionMetrics::RegisterProfilePrefs(registry);
   chromeos::first_run::RegisterProfilePrefs(registry);
   chromeos::file_system_provider::RegisterProfilePrefs(registry);