| Index: blimp/client/core/context/blimp_client_context_impl.cc
|
| diff --git a/blimp/client/core/context/blimp_client_context_impl.cc b/blimp/client/core/context/blimp_client_context_impl.cc
|
| index 9ffe8d37e16e4438120b3f7d0420881788e26112..e6261240351f4980986032c4ecd77014baee57bd 100644
|
| --- a/blimp/client/core/context/blimp_client_context_impl.cc
|
| +++ b/blimp/client/core/context/blimp_client_context_impl.cc
|
| @@ -35,6 +35,7 @@
|
|
|
| #if defined(OS_ANDROID)
|
| #include "blimp/client/core/context/android/blimp_client_context_impl_android.h"
|
| +#include "blimp/client/core/settings/android/settings_android.h"
|
| #endif // OS_ANDROID
|
|
|
| namespace blimp {
|
| @@ -67,13 +68,15 @@ BlimpClientContext* BlimpClientContext::Create(
|
| std::unique_ptr<CompositorDependencies> compositor_dependencies,
|
| PrefService* local_state) {
|
| #if defined(OS_ANDROID)
|
| + auto settings = base::MakeUnique<SettingsAndroid>(local_state);
|
| return new BlimpClientContextImplAndroid(
|
| io_thread_task_runner, file_thread_task_runner,
|
| - std::move(compositor_dependencies), local_state);
|
| + std::move(compositor_dependencies), std::move(settings));
|
| #else
|
| + auto settings = base::MakeUnique<Settings>(local_state);
|
| return new BlimpClientContextImpl(
|
| io_thread_task_runner, file_thread_task_runner,
|
| - std::move(compositor_dependencies), local_state);
|
| + std::move(compositor_dependencies), std::move(settings));
|
| #endif // defined(OS_ANDROID)
|
| }
|
|
|
| @@ -99,14 +102,14 @@ BlimpClientContextImpl::BlimpClientContextImpl(
|
| scoped_refptr<base::SingleThreadTaskRunner> io_thread_task_runner,
|
| scoped_refptr<base::SingleThreadTaskRunner> file_thread_task_runner,
|
| std::unique_ptr<CompositorDependencies> compositor_dependencies,
|
| - PrefService* local_state)
|
| + std::unique_ptr<Settings> settings)
|
| : BlimpClientContext(),
|
| io_thread_task_runner_(io_thread_task_runner),
|
| file_thread_task_runner_(file_thread_task_runner),
|
| blimp_compositor_dependencies_(
|
| base::MakeUnique<BlimpCompositorDependencies>(
|
| std::move(compositor_dependencies))),
|
| - settings_(base::MakeUnique<Settings>(local_state)),
|
| + settings_(std::move(settings)),
|
| blob_channel_feature_(new BlobChannelFeature(this)),
|
| geolocation_feature_(base::MakeUnique<GeolocationFeature>(
|
| base::MakeUnique<device::LocationArbitrator>(
|
| @@ -155,7 +158,7 @@ BlimpClientContextImpl::~BlimpClientContextImpl() {
|
| }
|
|
|
| void BlimpClientContextImpl::SetDelegate(BlimpClientContextDelegate* delegate) {
|
| - DCHECK(!delegate_ || !delegate);
|
| + DCHECK(!delegate_ && delegate);
|
| delegate_ = delegate;
|
|
|
| // TODO(xingliu): Pass the IdentityProvider needed by |assignment_fetcher_|
|
| @@ -181,6 +184,7 @@ std::unique_ptr<BlimpContents> BlimpClientContextImpl::CreateBlimpContents(
|
| }
|
|
|
| void BlimpClientContextImpl::Connect() {
|
| + DCHECK(delegate_);
|
| DCHECK(assignment_fetcher_);
|
| assignment_fetcher_->Fetch();
|
| }
|
| @@ -199,6 +203,7 @@ BlimpClientContextImpl::CreateFeedbackData() {
|
| }
|
|
|
| IdentitySource* BlimpClientContextImpl::GetIdentitySource() {
|
| + DCHECK(delegate_);
|
| DCHECK(assignment_fetcher_);
|
| return assignment_fetcher_->GetIdentitySource();
|
| }
|
|
|