| 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 92dc936b7aaae6eb2d0da80edcdf181433b17bdf..62850448e43a9047791970ff16522b14ac7a3528 100644
|
| --- a/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
|
| +++ b/chrome/browser/chromeos/arc/arc_settings_bridge_impl.cc
|
| @@ -6,12 +6,10 @@
|
|
|
| #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 {
|
|
|
| @@ -92,15 +90,18 @@
|
|
|
| void ArcSettingsBridgeImpl::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.
|
| + // to send broadcasts. Instead we wait for a later boot phase in
|
| + // OnInstanceBootPhase.
|
| if (state == ArcBridgeService::State::STOPPING) {
|
| StopObservingPrefChanges();
|
| }
|
| }
|
|
|
| -void ArcSettingsBridgeImpl::OnSettingsInstanceReady() {
|
| - StartObservingPrefChanges();
|
| - SyncAllPrefs();
|
| +void ArcSettingsBridgeImpl::OnInstanceBootPhase(InstanceBootPhase phase) {
|
| + if (phase == INSTANCE_BOOT_PHASE_ACTIVITY_MANAGER_READY) {
|
| + StartObservingPrefChanges();
|
| + SyncAllPrefs();
|
| + }
|
| }
|
|
|
| void ArcSettingsBridgeImpl::SyncSpokenFeedbackEnabled() const {
|
| @@ -149,12 +150,9 @@
|
| return;
|
| }
|
|
|
| - 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);
|
| + bridge_service->SendBroadcast(action, "org.chromium.arc.settings",
|
| + "org.chromium.arc.settings.SettingsReceiver",
|
| + extras);
|
| }
|
|
|
| } // namespace arc
|
|
|