Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(940)

Side by Side Diff: chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.cc

Issue 2534883002: Extract ArcTermsOfServiceNegotiator implementation. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.h" 5 #include "chrome/browser/chromeos/arc/optin/arc_optin_preference_handler.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "chrome/browser/browser_process.h" 8 #include "chrome/browser/browser_process.h"
9 #include "chrome/browser/chromeos/arc/optin/arc_optin_preference_handler_observe r.h" 9 #include "chrome/browser/chromeos/arc/optin/arc_optin_preference_handler_observe r.h"
10 #include "chrome/browser/metrics/chrome_metrics_service_accessor.h" 10 #include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
11 #include "chrome/browser/metrics/metrics_reporting_state.h" 11 #include "chrome/browser/metrics/metrics_reporting_state.h"
12 #include "chrome/common/pref_names.h" 12 #include "chrome/common/pref_names.h"
13 #include "components/metrics/metrics_pref_names.h" 13 #include "components/metrics/metrics_pref_names.h"
14 #include "components/prefs/pref_service.h" 14 #include "components/prefs/pref_service.h"
15 15
16 namespace arc { 16 namespace arc {
17 17
18 ArcOptInPreferenceHandler::ArcOptInPreferenceHandler( 18 ArcOptInPreferenceHandler::ArcOptInPreferenceHandler(
19 ArcOptInPreferenceHandlerObserver* observer, 19 ArcOptInPreferenceHandlerObserver* observer,
20 PrefService* pref_service) 20 PrefService* pref_service)
21 : observer_(observer), pref_service_(pref_service) { 21 : observer_(observer), pref_service_(pref_service) {
22 DCHECK(observer_); 22 DCHECK(observer_);
23 DCHECK(pref_service_); 23 DCHECK(pref_service_);
24 } 24 }
25 25
26 void ArcOptInPreferenceHandler::Start() { 26 void ArcOptInPreferenceHandler::Start() {
27 DCHECK(g_browser_process->local_state()); 27 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_
28 pref_local_change_registrar_.Init(g_browser_process->local_state()); 28 pref_local_change_registrar_.Init(g_browser_process->local_state());
29 pref_local_change_registrar_.Add( 29 pref_local_change_registrar_.Add(
30 metrics::prefs::kMetricsReportingEnabled, 30 metrics::prefs::kMetricsReportingEnabled,
31 base::Bind(&ArcOptInPreferenceHandler::OnMetricsPreferenceChanged, 31 base::Bind(&ArcOptInPreferenceHandler::OnMetricsPreferenceChanged,
32 base::Unretained(this))); 32 base::Unretained(this)));
33 }
33 34
34 pref_change_registrar_.Init(pref_service_); 35 pref_change_registrar_.Init(pref_service_);
35 pref_change_registrar_.Add( 36 pref_change_registrar_.Add(
36 prefs::kArcBackupRestoreEnabled, 37 prefs::kArcBackupRestoreEnabled,
37 base::Bind( 38 base::Bind(
38 &ArcOptInPreferenceHandler::OnBackupAndRestorePreferenceChanged, 39 &ArcOptInPreferenceHandler::OnBackupAndRestorePreferenceChanged,
39 base::Unretained(this))); 40 base::Unretained(this)));
40 pref_change_registrar_.Add( 41 pref_change_registrar_.Add(
41 prefs::kArcLocationServiceEnabled, 42 prefs::kArcLocationServiceEnabled,
42 base::Bind(&ArcOptInPreferenceHandler::OnLocationServicePreferenceChanged, 43 base::Bind(&ArcOptInPreferenceHandler::OnLocationServicePreferenceChanged,
(...skipping 13 matching lines...) Expand all
56 57
57 void ArcOptInPreferenceHandler::OnBackupAndRestorePreferenceChanged() { 58 void ArcOptInPreferenceHandler::OnBackupAndRestorePreferenceChanged() {
58 SendBackupAndRestoreMode(); 59 SendBackupAndRestoreMode();
59 } 60 }
60 61
61 void ArcOptInPreferenceHandler::OnLocationServicePreferenceChanged() { 62 void ArcOptInPreferenceHandler::OnLocationServicePreferenceChanged() {
62 SendLocationServicesMode(); 63 SendLocationServicesMode();
63 } 64 }
64 65
65 void ArcOptInPreferenceHandler::SendMetricsMode() { 66 void ArcOptInPreferenceHandler::SendMetricsMode() {
66 observer_->OnMetricsModeChanged( 67 if (g_browser_process->local_state()) {
67 ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled(), 68 observer_->OnMetricsModeChanged(
68 IsMetricsReportingPolicyManaged()); 69 ChromeMetricsServiceAccessor::IsMetricsAndCrashReportingEnabled(),
70 IsMetricsReportingPolicyManaged());
71 }
69 } 72 }
70 73
71 void ArcOptInPreferenceHandler::SendBackupAndRestoreMode() { 74 void ArcOptInPreferenceHandler::SendBackupAndRestoreMode() {
72 observer_->OnBackupAndRestoreModeChanged( 75 observer_->OnBackupAndRestoreModeChanged(
73 pref_service_->GetBoolean(prefs::kArcBackupRestoreEnabled), 76 pref_service_->GetBoolean(prefs::kArcBackupRestoreEnabled),
74 pref_service_->IsManagedPreference(prefs::kArcBackupRestoreEnabled)); 77 pref_service_->IsManagedPreference(prefs::kArcBackupRestoreEnabled));
75 } 78 }
76 79
77 void ArcOptInPreferenceHandler::SendLocationServicesMode() { 80 void ArcOptInPreferenceHandler::SendLocationServicesMode() {
78 observer_->OnLocationServicesModeChanged( 81 observer_->OnLocationServicesModeChanged(
79 pref_service_->GetBoolean(prefs::kArcLocationServiceEnabled), 82 pref_service_->GetBoolean(prefs::kArcLocationServiceEnabled),
80 pref_service_->IsManagedPreference(prefs::kArcLocationServiceEnabled)); 83 pref_service_->IsManagedPreference(prefs::kArcLocationServiceEnabled));
81 } 84 }
82 85
83 void ArcOptInPreferenceHandler::EnableMetrics(bool is_enabled) { 86 void ArcOptInPreferenceHandler::EnableMetrics(bool is_enabled) {
84 ChangeMetricsReportingState(is_enabled); 87 if (g_browser_process->local_state())
88 ChangeMetricsReportingState(is_enabled);
85 } 89 }
86 90
87 void ArcOptInPreferenceHandler::EnableBackupRestore(bool is_enabled) { 91 void ArcOptInPreferenceHandler::EnableBackupRestore(bool is_enabled) {
88 pref_service_->SetBoolean(prefs::kArcBackupRestoreEnabled, is_enabled); 92 pref_service_->SetBoolean(prefs::kArcBackupRestoreEnabled, is_enabled);
89 } 93 }
90 94
91 void ArcOptInPreferenceHandler::EnableLocationService(bool is_enabled) { 95 void ArcOptInPreferenceHandler::EnableLocationService(bool is_enabled) {
92 pref_service_->SetBoolean(prefs::kArcLocationServiceEnabled, is_enabled); 96 pref_service_->SetBoolean(prefs::kArcLocationServiceEnabled, is_enabled);
93 } 97 }
94 98
95 } // namespace arc 99 } // namespace arc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698