Chromium Code Reviews| Index: chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.cc |
| diff --git a/chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.cc b/chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.cc |
| index 4eac145eab7c99a54c428a5afc3fcdb8c4066aed..11972d688fd39a34511fb8db97483b2f1af2b97e 100644 |
| --- a/chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.cc |
| +++ b/chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.cc |
| @@ -24,12 +24,13 @@ ArcOptInPreferenceHandler::ArcOptInPreferenceHandler( |
| } |
| void ArcOptInPreferenceHandler::Start() { |
| - DCHECK(g_browser_process->local_state()); |
| - pref_local_change_registrar_.Init(g_browser_process->local_state()); |
| - pref_local_change_registrar_.Add( |
| - metrics::prefs::kMetricsReportingEnabled, |
| - base::Bind(&ArcOptInPreferenceHandler::OnMetricsPreferenceChanged, |
| - base::Unretained(this))); |
| + if (g_browser_process->local_state()) { |
|
hidehiko
2016/11/28 12:42:54
Unfortunately, injecting ScopedTestingLocalState d
Luis Héctor Chávez
2016/11/29 00:15:28
nit:
if (!g_browser_process->local_state()) {
/
hidehiko
2016/11/29 17:43:28
We still want to initialize pref_change_registrar_
|
| + pref_local_change_registrar_.Init(g_browser_process->local_state()); |
| + pref_local_change_registrar_.Add( |
| + metrics::prefs::kMetricsReportingEnabled, |
| + base::Bind(&ArcOptInPreferenceHandler::OnMetricsPreferenceChanged, |
| + base::Unretained(this))); |
| + } |
| pref_change_registrar_.Init(pref_service_); |
| pref_change_registrar_.Add( |
| @@ -63,9 +64,11 @@ void ArcOptInPreferenceHandler::OnLocationServicePreferenceChanged() { |
| } |
| void ArcOptInPreferenceHandler::SendMetricsMode() { |
| - observer_->OnMetricsModeChanged( |
| - ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled(), |
| - IsMetricsReportingPolicyManaged()); |
| + if (g_browser_process->local_state()) { |
| + observer_->OnMetricsModeChanged( |
| + ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled(), |
| + IsMetricsReportingPolicyManaged()); |
| + } |
| } |
| void ArcOptInPreferenceHandler::SendBackupAndRestoreMode() { |
| @@ -81,7 +84,8 @@ void ArcOptInPreferenceHandler::SendLocationServicesMode() { |
| } |
| void ArcOptInPreferenceHandler::EnableMetrics(bool is_enabled) { |
| - ChangeMetricsReportingState(is_enabled); |
| + if (g_browser_process->local_state()) |
| + ChangeMetricsReportingState(is_enabled); |
| } |
| void ArcOptInPreferenceHandler::EnableBackupRestore(bool is_enabled) { |