| Index: services/ui/display/screen_manager_ozone_internal.cc
|
| diff --git a/services/ui/display/screen_manager_ozone_internal.cc b/services/ui/display/screen_manager_ozone_internal.cc
|
| index 947a3de34ba93619b255aa4d159e9188f4898525..a42d4a4d76495ee1f7703b459a943b8c4c296513 100644
|
| --- a/services/ui/display/screen_manager_ozone_internal.cc
|
| +++ b/services/ui/display/screen_manager_ozone_internal.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/command_line.h"
|
| #include "base/memory/ptr_util.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| +#include "chrome/common/pref_names.h"
|
| #include "chromeos/system/devicemode.h"
|
| #include "mojo/public/cpp/bindings/strong_binding.h"
|
| #include "services/service_manager/public/cpp/interface_registry.h"
|
| @@ -27,6 +28,15 @@
|
| #include "ui/gfx/geometry/rect.h"
|
| #include "ui/ozone/public/ozone_platform.h"
|
|
|
| +#include "ui/display/manager/display_preferences.h"
|
| +
|
| +#include "services/service_manager/public/cpp/connector.h"
|
| +
|
| +#include "components/prefs/pref_store.h"
|
| +#include "services/preferences/public/interfaces/preferences.mojom.h"
|
| +
|
| +#include "base/values.h"
|
| +
|
| namespace display {
|
| namespace {
|
|
|
| @@ -149,7 +159,8 @@ void ScreenManagerOzoneInternal::AddInterfaces(
|
| registry->AddInterface<mojom::TestDisplayController>(this);
|
| }
|
|
|
| -void ScreenManagerOzoneInternal::Init(ScreenManagerDelegate* delegate) {
|
| +void ScreenManagerOzoneInternal::Init(ScreenManagerDelegate* delegate,
|
| + service_manager::Connector* connector) {
|
| DCHECK(delegate);
|
| delegate_ = delegate;
|
|
|
| @@ -192,6 +203,69 @@ void ScreenManagerOzoneInternal::Init(ScreenManagerDelegate* delegate) {
|
|
|
| touch_transform_controller_ = base::MakeUnique<TouchTransformController>(
|
| &display_configurator_, display_manager_.get());
|
| +
|
| + // base::Value pref_kDisplayRotationLock(prefs::kDisplayRotationLock);
|
| + // base::Value pref_kSecondaryDisplays(prefs::kSecondaryDisplays);
|
| + // base::Value pref_kDisplayProperties(prefs::kDisplayProperties);
|
| + // base::Value pref_kDisplayPowerState(prefs::kDisplayPowerState);
|
| +
|
| + // auto prefs = base::MakeUnique<base::DictionaryValue>();
|
| +
|
| + // prefs->Set(prefs::kDisplayRotationLock,
|
| + // pref_kDisplayRotationLock.CreateDeepCopy());
|
| + // prefs->Set(prefs::kSecondaryDisplays,
|
| + // pref_kSecondaryDisplays.CreateDeepCopy());
|
| + // prefs->Set(prefs::kDisplayProperties,
|
| + // pref_kDisplayProperties.CreateDeepCopy());
|
| + // prefs->Set(prefs::kDisplayPowerState,
|
| + // pref_kDisplayPowerState.CreateDeepCopy());
|
| +
|
| + connector_ = connector;
|
| + connector_->BindInterface(prefs::mojom::kServiceName, &pref_factory_ptr);
|
| + pref_client_store_ =
|
| + new preferences::PrefClientStore(std::move(pref_factory_ptr));
|
| +
|
| + pref_client_store_->AddObserver(this);
|
| +
|
| + //display::LoadDisplayPreferences(true, &display_configurator_,
|
| + //display_manager_.get(), pref_client_store_.get());
|
| +
|
| + pref_client_store_->Subscribe(
|
| + {prefs::kDisplayRotationLock, prefs::kSecondaryDisplays,
|
| + prefs::kDisplayProperties, prefs::kDisplayProperties});
|
| +
|
| + // if (pref_client_store_->IsInitializationComplete()) {
|
| + // LOG(ERROR) << "display::ScreenManagerOzoneInternal::Init() 6";
|
| + // OnInitializationCompleted(true);
|
| + //}
|
| + // OnPrefValueChanged(prefs::kDisplayRotationLock);
|
| + // OnPrefValueChanged(prefs::kSecondaryDisplays);
|
| + // OnPrefValueChanged(prefs::kDisplayProperties);
|
| + // OnPrefValueChanged(prefs::kDisplayPowerState);
|
| +}
|
| +
|
| +void ScreenManagerOzoneInternal::OnInitializationCompleted(bool succeeded) {
|
| + DCHECK(!initialization_completed_);
|
| + DCHECK(succeeded);
|
| + DCHECK(pref_client_store_->IsInitializationComplete());
|
| + initialization_completed_ = true;
|
| +
|
| + LOG(ERROR)
|
| + << "OnInitializationCompleted true----------------------------------";
|
| + pref_client_store_->SetValue(prefs::kDisplayRotationLock,
|
| + base::MakeUnique<base::Value>(10), 1);
|
| + // LOG(ERROR) << "--------
|
| + // pref_client_store_->GetValue(prefs::kDisplayRotationLock):" << temp;
|
| + // display::LoadDisplayPreferences(true, &display_configurator_,
|
| + // display_manager_.get(), pref_client_store_.get());
|
| +}
|
| +
|
| +void ScreenManagerOzoneInternal::OnPrefValueChanged(const std::string& key) {
|
| + const base::Value* value = NULL;
|
| + DCHECK(pref_client_store_->GetValue(key, &value));
|
| + LOG(ERROR) << "-------- ScreenManagerOzoneInternal::OnPrefValueChanged: "
|
| + << value;
|
| + changed_prefs_.Set(key, value->DeepCopy());
|
| }
|
|
|
| void ScreenManagerOzoneInternal::RequestCloseDisplay(int64_t display_id) {
|
|
|