123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // Copyright 2018 The Chromium Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #include "ash/services/multidevice_setup/multidevice_setup_service.h"
- #include "ash/components/multidevice/logging/logging.h"
- #include "ash/services/multidevice_setup/account_status_change_delegate_notifier_impl.h"
- #include "ash/services/multidevice_setup/android_sms_app_installing_status_observer.h"
- #include "ash/services/multidevice_setup/global_state_feature_manager_impl.h"
- #include "ash/services/multidevice_setup/grandfathered_easy_unlock_host_disabler.h"
- #include "ash/services/multidevice_setup/host_backend_delegate_impl.h"
- #include "ash/services/multidevice_setup/host_device_timestamp_manager_impl.h"
- #include "ash/services/multidevice_setup/host_verifier_impl.h"
- #include "ash/services/multidevice_setup/multidevice_setup_base.h"
- #include "ash/services/multidevice_setup/multidevice_setup_initializer.h"
- #include "ash/services/multidevice_setup/privileged_host_device_setter_impl.h"
- #include "ash/services/multidevice_setup/public/cpp/android_sms_app_helper_delegate.h"
- #include "ash/services/multidevice_setup/public/cpp/android_sms_pairing_state_tracker.h"
- #include "ash/services/multidevice_setup/public/cpp/prefs.h"
- #include "ash/services/multidevice_setup/wifi_sync_notification_controller.h"
- #include "base/bind.h"
- namespace ash {
- namespace multidevice_setup {
- // static
- void MultiDeviceSetupService::RegisterProfilePrefs(
- PrefRegistrySimple* registry) {
- HostDeviceTimestampManagerImpl::RegisterPrefs(registry);
- AccountStatusChangeDelegateNotifierImpl::RegisterPrefs(registry);
- HostBackendDelegateImpl::RegisterPrefs(registry);
- GlobalStateFeatureManagerImpl::RegisterPrefs(registry);
- WifiSyncNotificationController::RegisterPrefs(registry);
- HostVerifierImpl::RegisterPrefs(registry);
- GrandfatheredEasyUnlockHostDisabler::RegisterPrefs(registry);
- AndroidSmsAppInstallingStatusObserver::RegisterPrefs(registry);
- RegisterFeaturePrefs(registry);
- }
- MultiDeviceSetupService::MultiDeviceSetupService(
- PrefService* pref_service,
- device_sync::DeviceSyncClient* device_sync_client,
- AuthTokenValidator* auth_token_validator,
- OobeCompletionTracker* oobe_completion_tracker,
- AndroidSmsAppHelperDelegate* android_sms_app_helper_delegate,
- AndroidSmsPairingStateTracker* android_sms_pairing_state_tracker,
- const device_sync::GcmDeviceInfoProvider* gcm_device_info_provider,
- bool is_secondary_user)
- : multidevice_setup_(MultiDeviceSetupInitializer::Factory::Create(
- pref_service,
- device_sync_client,
- auth_token_validator,
- oobe_completion_tracker,
- android_sms_app_helper_delegate,
- android_sms_pairing_state_tracker,
- gcm_device_info_provider,
- is_secondary_user)),
- privileged_host_device_setter_(
- PrivilegedHostDeviceSetterImpl::Factory::Create(
- multidevice_setup_.get())) {}
- MultiDeviceSetupService::~MultiDeviceSetupService() {
- // Subclasses may hold onto message response callbacks. It's important that
- // all receivers are closed by the time those callbacks are destroyed, or they
- // will DCHECK.
- if (multidevice_setup_)
- multidevice_setup_->CloseAllReceivers();
- }
- void MultiDeviceSetupService::BindMultiDeviceSetup(
- mojo::PendingReceiver<mojom::MultiDeviceSetup> receiver) {
- multidevice_setup_->BindReceiver(std::move(receiver));
- }
- void MultiDeviceSetupService::BindPrivilegedHostDeviceSetter(
- mojo::PendingReceiver<mojom::PrivilegedHostDeviceSetter> receiver) {
- privileged_host_device_setter_->BindReceiver(std::move(receiver));
- }
- } // namespace multidevice_setup
- } // namespace ash
|