| Index: chrome/browser/chromeos/extensions/file_manager/event_router.cc
|
| diff --git a/chrome/browser/chromeos/extensions/file_manager/event_router.cc b/chrome/browser/chromeos/extensions/file_manager/event_router.cc
|
| index 2b78461c5a07ff58cbacdfa590ab0b40537a8eae..2e8203a87e8018e8c67bf718f9271cb49cd5290c 100644
|
| --- a/chrome/browser/chromeos/extensions/file_manager/event_router.cc
|
| +++ b/chrome/browser/chromeos/extensions/file_manager/event_router.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include <stddef.h>
|
|
|
| +#include <set>
|
| #include <utility>
|
|
|
| #include "base/bind.h"
|
| @@ -17,6 +18,7 @@
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "base/values.h"
|
| #include "chrome/browser/app_mode/app_mode_utils.h"
|
| +#include "chrome/browser/chromeos/arc/arc_session_manager.h"
|
| #include "chrome/browser/chromeos/drive/drive_integration_service.h"
|
| #include "chrome/browser/chromeos/drive/file_system_util.h"
|
| #include "chrome/browser/chromeos/extensions/file_manager/private_api_util.h"
|
| @@ -397,11 +399,22 @@ EventRouter::EventRouter(Profile* profile)
|
| ObserveEvents();
|
| }
|
|
|
| -EventRouter::~EventRouter() {
|
| +EventRouter::~EventRouter() = default;
|
| +
|
| +void EventRouter::OnAppsUpdated() {
|
| + DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
|
| + BroadcastEvent(profile_,
|
| + extensions::events::FILE_MANAGER_PRIVATE_ON_APPS_UPDATED,
|
| + file_manager_private::OnAppsUpdated::kEventName,
|
| + file_manager_private::OnAppsUpdated::Create());
|
| }
|
|
|
| void EventRouter::Shutdown() {
|
| DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| +
|
| + if (arc::ArcServiceManager::IsInitialized())
|
| + arc::ArcServiceManager::Get()->RemoveObserver(this);
|
| +
|
| chromeos::system::TimezoneSettings::GetInstance()->RemoveObserver(this);
|
|
|
| DLOG_IF(WARNING, !file_watchers_.empty())
|
| @@ -492,6 +505,9 @@ void EventRouter::ObserveEvents() {
|
| pref_change_registrar_->Add(prefs::kUse24HourClock, callback);
|
|
|
| chromeos::system::TimezoneSettings::GetInstance()->AddObserver(this);
|
| +
|
| + if (arc::ArcSessionManager::IsAllowedForProfile(profile_))
|
| + arc::ArcServiceManager::Get()->AddObserver(this);
|
| }
|
|
|
| // File watch setup routines.
|
|
|