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

Unified Diff: chrome/browser/chromeos/arc/arc_settings_bridge.cc

Issue 1596663002: arc-bridge: Introduce the ArcService class (Closed) Base URL: https://chromium.googlesource.com/a/chromium/src.git@master
Patch Set: Fixed Chrome OS build Created 4 years, 11 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/arc/arc_settings_bridge.cc
diff --git a/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc b/chrome/browser/chromeos/arc/arc_settings_bridge.cc
similarity index 80%
rename from chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
rename to chrome/browser/chromeos/arc/arc_settings_bridge.cc
index 89c611baeb4f608325daefb3808611615772fc5e..0dc09cfeec450225f435b9217f2115543399c177 100644
--- a/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
+++ b/chrome/browser/chromeos/arc/arc_settings_bridge.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/chromeos/arc/arc_settings_bridge_impl.h"
+#include "chrome/browser/chromeos/arc/arc_settings_bridge.h"
#include <algorithm>
@@ -44,19 +44,23 @@ double ConvertFontSizeChromeToAndroid(int default_size,
} // namespace fontsizes
-ArcSettingsBridgeImpl::~ArcSettingsBridgeImpl() {
- ArcBridgeService* bridge_service = ArcBridgeService::Get();
- DCHECK(bridge_service);
- bridge_service->RemoveObserver(this);
+ArcSettingsBridge::ArcSettingsBridge(ArcBridgeService* arc_bridge) {
+ arc_bridge->AddObserver(this);
+
+ // If SettingsInstance was ready before we AddObserver(), we won't get
+ // OnSettingsInstanceReady events. For such case, we have to call it
+ // explicitly.
+ if (arc_bridge->settings_instance())
+ OnSettingsInstanceReady();
}
-void ArcSettingsBridgeImpl::StartObservingBridgeServiceChanges() {
+ArcSettingsBridge::~ArcSettingsBridge() {
ArcBridgeService* bridge_service = ArcBridgeService::Get();
DCHECK(bridge_service);
- bridge_service->AddObserver(this);
+ bridge_service->RemoveObserver(this);
}
-void ArcSettingsBridgeImpl::StartObservingSettingsChanges() {
+void ArcSettingsBridge::StartObservingSettingsChanges() {
Profile* profile = ProfileManager::GetActiveUserProfile();
registrar_.Init(profile->GetPrefs());
@@ -68,25 +72,25 @@ void ArcSettingsBridgeImpl::StartObservingSettingsChanges() {
TimezoneSettings::GetInstance()->AddObserver(this);
}
-void ArcSettingsBridgeImpl::SyncAllPrefs() const {
+void ArcSettingsBridge::SyncAllPrefs() const {
SyncFontSize();
SyncLocale();
SyncSpokenFeedbackEnabled();
SyncTimeZone();
}
-void ArcSettingsBridgeImpl::StopObservingSettingsChanges() {
+void ArcSettingsBridge::StopObservingSettingsChanges() {
registrar_.RemoveAll();
TimezoneSettings::GetInstance()->RemoveObserver(this);
}
-void ArcSettingsBridgeImpl::AddPrefToObserve(const std::string& pref_name) {
- registrar_.Add(pref_name, base::Bind(&ArcSettingsBridgeImpl::OnPrefChanged,
+void ArcSettingsBridge::AddPrefToObserve(const std::string& pref_name) {
+ registrar_.Add(pref_name, base::Bind(&ArcSettingsBridge::OnPrefChanged,
base::Unretained(this)));
}
-void ArcSettingsBridgeImpl::OnPrefChanged(const std::string& pref_name) const {
+void ArcSettingsBridge::OnPrefChanged(const std::string& pref_name) const {
if (pref_name == prefs::kAccessibilitySpokenFeedbackEnabled) {
SyncSpokenFeedbackEnabled();
} else if (pref_name == prefs::kWebKitDefaultFixedFontSize ||
@@ -98,7 +102,7 @@ void ArcSettingsBridgeImpl::OnPrefChanged(const std::string& pref_name) const {
}
}
-void ArcSettingsBridgeImpl::OnStateChanged(ArcBridgeService::State state) {
+void ArcSettingsBridge::OnStateChanged(ArcBridgeService::State state) {
// ArcBridgeService::State::READY is emitted before ArcSettings app is ready
// to send broadcasts. Instead we wait for the SettingsInstance to be ready.
if (state == ArcBridgeService::State::STOPPING) {
@@ -106,16 +110,16 @@ void ArcSettingsBridgeImpl::OnStateChanged(ArcBridgeService::State state) {
}
}
-void ArcSettingsBridgeImpl::OnSettingsInstanceReady() {
+void ArcSettingsBridge::OnSettingsInstanceReady() {
StartObservingSettingsChanges();
SyncAllPrefs();
}
-void ArcSettingsBridgeImpl::TimezoneChanged(const icu::TimeZone& timezone) {
+void ArcSettingsBridge::TimezoneChanged(const icu::TimeZone& timezone) {
SyncTimeZone();
}
-int ArcSettingsBridgeImpl::GetIntegerPref(const std::string& pref_name) const {
+int ArcSettingsBridge::GetIntegerPref(const std::string& pref_name) const {
const PrefService::Preference* pref =
registrar_.prefs()->FindPreference(pref_name);
DCHECK(pref);
@@ -125,7 +129,7 @@ int ArcSettingsBridgeImpl::GetIntegerPref(const std::string& pref_name) const {
return val;
}
-void ArcSettingsBridgeImpl::SyncFontSize() const {
+void ArcSettingsBridge::SyncFontSize() const {
int default_size = GetIntegerPref(prefs::kWebKitDefaultFontSize);
int default_fixed_size = GetIntegerPref(prefs::kWebKitDefaultFixedFontSize);
int minimum_size = GetIntegerPref(prefs::kWebKitMinimumFontSize);
@@ -138,7 +142,7 @@ void ArcSettingsBridgeImpl::SyncFontSize() const {
SendSettingsBroadcast("org.chromium.arc.settings.SET_FONT_SCALE", extras);
}
-void ArcSettingsBridgeImpl::SyncSpokenFeedbackEnabled() const {
+void ArcSettingsBridge::SyncSpokenFeedbackEnabled() const {
const PrefService::Preference* pref = registrar_.prefs()->FindPreference(
prefs::kAccessibilitySpokenFeedbackEnabled);
DCHECK(pref);
@@ -151,7 +155,7 @@ void ArcSettingsBridgeImpl::SyncSpokenFeedbackEnabled() const {
extras);
}
-void ArcSettingsBridgeImpl::SyncLocale() const {
+void ArcSettingsBridge::SyncLocale() const {
const PrefService::Preference* pref =
registrar_.prefs()->FindPreference(prefs::kApplicationLocale);
DCHECK(pref);
@@ -163,7 +167,7 @@ void ArcSettingsBridgeImpl::SyncLocale() const {
SendSettingsBroadcast("org.chromium.arc.settings.SET_LOCALE", extras);
}
-void ArcSettingsBridgeImpl::SyncTimeZone() const {
+void ArcSettingsBridge::SyncTimeZone() const {
TimezoneSettings* timezone_settings = TimezoneSettings::GetInstance();
base::string16 timezoneID = timezone_settings->GetCurrentTimezoneID();
base::DictionaryValue extras;
@@ -171,7 +175,7 @@ void ArcSettingsBridgeImpl::SyncTimeZone() const {
SendSettingsBroadcast("org.chromium.arc.settings.SET_TIME_ZONE", extras);
}
-void ArcSettingsBridgeImpl::SendSettingsBroadcast(
+void ArcSettingsBridge::SendSettingsBroadcast(
const std::string& action,
const base::DictionaryValue& extras) const {
ArcBridgeService* bridge_service = ArcBridgeService::Get();

Powered by Google App Engine
This is Rietveld 408576698