| Index: chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
|
| diff --git a/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc b/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
|
| index 62850448e43a9047791970ff16522b14ac7a3528..92dc936b7aaae6eb2d0da80edcdf181433b17bdf 100644
|
| --- a/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
|
| @@ -6,10 +6,12 @@
|
|
|
| #include <algorithm>
|
|
|
| +#include "base/json/json_writer.h"
|
| #include "base/prefs/pref_service.h"
|
| #include "base/strings/stringprintf.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| #include "chrome/common/pref_names.h"
|
| +#include "components/arc/common/settings.mojom.h"
|
|
|
| namespace arc {
|
|
|
| @@ -90,18 +92,15 @@ void ArcSettingsBridgeImpl::OnPrefChanged(const std::string& pref_name) const {
|
|
|
| void ArcSettingsBridgeImpl::OnStateChanged(ArcBridgeService::State state) {
|
| // ArcBridgeService::State::READY is emitted before ArcSettings app is ready
|
| - // to send broadcasts. Instead we wait for a later boot phase in
|
| - // OnInstanceBootPhase.
|
| + // to send broadcasts. Instead we wait for the SettingsInstance to be ready.
|
| if (state == ArcBridgeService::State::STOPPING) {
|
| StopObservingPrefChanges();
|
| }
|
| }
|
|
|
| -void ArcSettingsBridgeImpl::OnInstanceBootPhase(InstanceBootPhase phase) {
|
| - if (phase == INSTANCE_BOOT_PHASE_ACTIVITY_MANAGER_READY) {
|
| - StartObservingPrefChanges();
|
| - SyncAllPrefs();
|
| - }
|
| +void ArcSettingsBridgeImpl::OnSettingsInstanceReady() {
|
| + StartObservingPrefChanges();
|
| + SyncAllPrefs();
|
| }
|
|
|
| void ArcSettingsBridgeImpl::SyncSpokenFeedbackEnabled() const {
|
| @@ -150,9 +149,12 @@ void ArcSettingsBridgeImpl::SendSettingsBroadcast(
|
| return;
|
| }
|
|
|
| - bridge_service->SendBroadcast(action, "org.chromium.arc.settings",
|
| - "org.chromium.arc.settings.SettingsReceiver",
|
| - extras);
|
| + std::string extras_json;
|
| + bool write_success = base::JSONWriter::Write(extras, &extras_json);
|
| + DCHECK(write_success);
|
| + bridge_service->settings_instance()->SendBroadcast(
|
| + action, "org.chromium.arc.settings",
|
| + "org.chromium.arc.settings.SettingsReceiver", extras_json);
|
| }
|
|
|
| } // namespace arc
|
|
|