| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/arc_settings_service.h" | 5 #include "chrome/browser/chromeos/arc/arc_settings_service.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/gtest_prod_util.h" | 9 #include "base/gtest_prod_util.h" |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 | 88 |
| 89 // Retrives Chrome's state for the settings and send it to Android. | 89 // Retrives Chrome's state for the settings and send it to Android. |
| 90 void SyncAllPrefs() const; | 90 void SyncAllPrefs() const; |
| 91 void SyncFontSize() const; | 91 void SyncFontSize() const; |
| 92 void SyncLocale() const; | 92 void SyncLocale() const; |
| 93 void SyncProxySettings() const; | 93 void SyncProxySettings() const; |
| 94 void SyncReportingConsent() const; | 94 void SyncReportingConsent() const; |
| 95 void SyncSpokenFeedbackEnabled() const; | 95 void SyncSpokenFeedbackEnabled() const; |
| 96 void SyncTimeZone() const; | 96 void SyncTimeZone() const; |
| 97 void SyncUse24HourClock() const; | 97 void SyncUse24HourClock() const; |
| 98 void SyncBackupEnabled() const; |
| 98 | 99 |
| 99 void OnBluetoothAdapterInitialized( | 100 void OnBluetoothAdapterInitialized( |
| 100 scoped_refptr<device::BluetoothAdapter> adapter); | 101 scoped_refptr<device::BluetoothAdapter> adapter); |
| 101 | 102 |
| 102 // Registers to listen to a particular perf. | 103 // Registers to listen to a particular perf. |
| 103 void AddPrefToObserve(const std::string& pref_name); | 104 void AddPrefToObserve(const std::string& pref_name); |
| 104 | 105 |
| 105 // Returns the integer value of the pref. pref_name must exist. | 106 // Returns the integer value of the pref. pref_name must exist. |
| 106 int GetIntegerPref(const std::string& pref_name) const; | 107 int GetIntegerPref(const std::string& pref_name) const; |
| 107 | 108 |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 void ArcSettingsServiceImpl::StartObservingSettingsChanges() { | 143 void ArcSettingsServiceImpl::StartObservingSettingsChanges() { |
| 143 Profile* profile = ProfileManager::GetActiveUserProfile(); | 144 Profile* profile = ProfileManager::GetActiveUserProfile(); |
| 144 registrar_.Init(profile->GetPrefs()); | 145 registrar_.Init(profile->GetPrefs()); |
| 145 | 146 |
| 146 AddPrefToObserve(prefs::kWebKitDefaultFixedFontSize); | 147 AddPrefToObserve(prefs::kWebKitDefaultFixedFontSize); |
| 147 AddPrefToObserve(prefs::kWebKitDefaultFontSize); | 148 AddPrefToObserve(prefs::kWebKitDefaultFontSize); |
| 148 AddPrefToObserve(prefs::kWebKitMinimumFontSize); | 149 AddPrefToObserve(prefs::kWebKitMinimumFontSize); |
| 149 AddPrefToObserve(prefs::kAccessibilitySpokenFeedbackEnabled); | 150 AddPrefToObserve(prefs::kAccessibilitySpokenFeedbackEnabled); |
| 150 AddPrefToObserve(prefs::kUse24HourClock); | 151 AddPrefToObserve(prefs::kUse24HourClock); |
| 151 AddPrefToObserve(proxy_config::prefs::kProxy); | 152 AddPrefToObserve(proxy_config::prefs::kProxy); |
| 153 AddPrefToObserve(prefs::kArcBackupRestoreEnabled); |
| 152 | 154 |
| 153 reporting_consent_subscription_ = CrosSettings::Get()->AddSettingsObserver( | 155 reporting_consent_subscription_ = CrosSettings::Get()->AddSettingsObserver( |
| 154 chromeos::kStatsReportingPref, | 156 chromeos::kStatsReportingPref, |
| 155 base::Bind(&ArcSettingsServiceImpl::SyncReportingConsent, | 157 base::Bind(&ArcSettingsServiceImpl::SyncReportingConsent, |
| 156 base::Unretained(this))); | 158 base::Unretained(this))); |
| 157 | 159 |
| 158 TimezoneSettings::GetInstance()->AddObserver(this); | 160 TimezoneSettings::GetInstance()->AddObserver(this); |
| 159 | 161 |
| 160 if (device::BluetoothAdapterFactory::IsBluetoothAdapterAvailable()) { | 162 if (device::BluetoothAdapterFactory::IsBluetoothAdapterAvailable()) { |
| 161 device::BluetoothAdapterFactory::GetAdapter( | 163 device::BluetoothAdapterFactory::GetAdapter( |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 208 if (pref_name == prefs::kAccessibilitySpokenFeedbackEnabled) { | 210 if (pref_name == prefs::kAccessibilitySpokenFeedbackEnabled) { |
| 209 SyncSpokenFeedbackEnabled(); | 211 SyncSpokenFeedbackEnabled(); |
| 210 } else if (pref_name == prefs::kWebKitDefaultFixedFontSize || | 212 } else if (pref_name == prefs::kWebKitDefaultFixedFontSize || |
| 211 pref_name == prefs::kWebKitDefaultFontSize || | 213 pref_name == prefs::kWebKitDefaultFontSize || |
| 212 pref_name == prefs::kWebKitMinimumFontSize) { | 214 pref_name == prefs::kWebKitMinimumFontSize) { |
| 213 SyncFontSize(); | 215 SyncFontSize(); |
| 214 } else if (pref_name == prefs::kUse24HourClock) { | 216 } else if (pref_name == prefs::kUse24HourClock) { |
| 215 SyncUse24HourClock(); | 217 SyncUse24HourClock(); |
| 216 } else if (pref_name == proxy_config::prefs::kProxy) { | 218 } else if (pref_name == proxy_config::prefs::kProxy) { |
| 217 SyncProxySettings(); | 219 SyncProxySettings(); |
| 220 } else if (pref_name == prefs::kArcBackupRestoreEnabled) { |
| 221 SyncBackupEnabled(); |
| 218 } else { | 222 } else { |
| 219 LOG(ERROR) << "Unknown pref changed."; | 223 LOG(ERROR) << "Unknown pref changed."; |
| 220 } | 224 } |
| 221 } | 225 } |
| 222 | 226 |
| 223 void ArcSettingsServiceImpl::TimezoneChanged(const icu::TimeZone& timezone) { | 227 void ArcSettingsServiceImpl::TimezoneChanged(const icu::TimeZone& timezone) { |
| 224 SyncTimeZone(); | 228 SyncTimeZone(); |
| 225 } | 229 } |
| 226 | 230 |
| 227 int ArcSettingsServiceImpl::GetIntegerPref(const std::string& pref_name) const { | 231 int ArcSettingsServiceImpl::GetIntegerPref(const std::string& pref_name) const { |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 355 break; | 359 break; |
| 356 } | 360 } |
| 357 default: | 361 default: |
| 358 LOG(ERROR) << "Incorrect proxy mode."; | 362 LOG(ERROR) << "Incorrect proxy mode."; |
| 359 return; | 363 return; |
| 360 } | 364 } |
| 361 | 365 |
| 362 SendSettingsBroadcast("org.chromium.arc.intent_helper.SET_PROXY", extras); | 366 SendSettingsBroadcast("org.chromium.arc.intent_helper.SET_PROXY", extras); |
| 363 } | 367 } |
| 364 | 368 |
| 369 void ArcSettingsServiceImpl::SyncBackupEnabled() const { |
| 370 const PrefService::Preference* const pref = |
| 371 registrar_.prefs()->FindPreference(prefs::kArcBackupRestoreEnabled); |
| 372 DCHECK(pref); |
| 373 bool enabled = false; |
| 374 bool value_exists = pref->GetValue()->GetAsBoolean(&enabled); |
| 375 DCHECK(value_exists); |
| 376 base::DictionaryValue extras; |
| 377 extras.SetBoolean("enabled", enabled); |
| 378 extras.SetBoolean("managed", !pref->IsUserModifiable()); |
| 379 SendSettingsBroadcast("org.chromium.arc.intent_helper.SET_BACKUP_ENABLED", |
| 380 extras); |
| 381 } |
| 382 |
| 365 void ArcSettingsServiceImpl::SendSettingsBroadcast( | 383 void ArcSettingsServiceImpl::SendSettingsBroadcast( |
| 366 const std::string& action, | 384 const std::string& action, |
| 367 const base::DictionaryValue& extras) const { | 385 const base::DictionaryValue& extras) const { |
| 368 if (!arc_bridge_service_->intent_helper_instance()) { | 386 if (!arc_bridge_service_->intent_helper_instance()) { |
| 369 LOG(ERROR) << "IntentHelper instance is not ready."; | 387 LOG(ERROR) << "IntentHelper instance is not ready."; |
| 370 return; | 388 return; |
| 371 } | 389 } |
| 372 | 390 |
| 373 std::string extras_json; | 391 std::string extras_json; |
| 374 bool write_success = base::JSONWriter::Write(extras, &extras_json); | 392 bool write_success = base::JSONWriter::Write(extras, &extras_json); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 392 | 410 |
| 393 void ArcSettingsService::OnIntentHelperInstanceReady() { | 411 void ArcSettingsService::OnIntentHelperInstanceReady() { |
| 394 impl_.reset(new ArcSettingsServiceImpl(arc_bridge_service())); | 412 impl_.reset(new ArcSettingsServiceImpl(arc_bridge_service())); |
| 395 } | 413 } |
| 396 | 414 |
| 397 void ArcSettingsService::OnIntentHelperInstanceClosed() { | 415 void ArcSettingsService::OnIntentHelperInstanceClosed() { |
| 398 impl_.reset(); | 416 impl_.reset(); |
| 399 } | 417 } |
| 400 | 418 |
| 401 } // namespace arc | 419 } // namespace arc |
| OLD | NEW |